Faculty of Liberal Arts & Sciences and School of Interdisciplinary Studies Fall 2013
SCTM 2B06 - Introduction to Computer Science: Logic and Coding Wednesday 3:10pm
Room 7420, 205 Richmond
Adam Tindale <[email protected]>
Office Hours & Location: Room 221, 100 McCaul . By appointment only. Credit Value: 0.5
Prerequisite: 3.0 credits of first-year and 1.0 credit of first-year liberal arts & sciences (including the Writing course with a minimum passing grade of 60%).
Antirequisite: Students who have taken SCTM 2B94 Special Topic in
Science/Technology/Mathematics: Introduction to Computer Science: Logic and Coding may not take this course for futher credit.
Teaching Assistant: Kyle Duffield <[email protected]>
COURSE CALENDAR DESCRIPTION:
This course introduces students to the fundamentals of logic, and computer programming. It emphasizes object-oriented languages, allowing student to understand and later develop capacity in a wider range of programming methods. The materal will be contextualized within both art and design practices, introducing students to programming for environments, objects and online, as well as practices of interaction, automation, generation, networks and
visualization. Students will understand how to incorporate and recombine existing code and to use established design patterns. Basic foundational coding languages will be used to introduce key concepts that students can employ in their subsequent study of advanced programming languages. Students will be asked to bring in work-in-progress from their studio courses that can be implemented through coding.
Context
From interactive art, to data visualization, to video game authoring, and beyond – programming has become a contemporary tool. Programming is just that: a tool. Computers are made in very specific ways and require a specific set of knowledge in order to effectively wield the tool of programming.
Because of necessity of a mental model and the knowledge of the underlying system, programming is not an instantly gratifying tool, like the pencil. Peter Norvig has a wonderful online article entitled Teach Yourself Programming in Ten Years. http://norvig.com/21-days.html
The content and flow of this course is meant to expose students to a variety of programming environments, and an introduction to key concepts in computer science, so that students are prepared to engage more deeply with the computer as a lifelong pursuit.
Instructor Biography
Adam Tindale is an electronic drummer and digital instrument designer. He is an Associate Professor of Human-Computer Interaction in the Digital Futures Initiative at OCAD University. Adam performs on his E-Drumset: a new electronic instrument that utilizes physical modeling and machine learning with an intuitive physical interface. He completed a Bachelor of Music at Queen's University, a Masters of Music Technology at McGill University, and an Interdisciplinary Ph.D. in Music, Computer Science and Electrical Engineering at the University of Victoria.
REQUIRED TEXTBOOKS/COURSE PACKS:
www.c4ios.comTeach Yourself Programming in 10 Years. Peter Norvig. 2001. http://norvig.com/21-days.html Programming with Objective-C. Apple Inc. 2012. http://developer.apple.com
Recommended Books
The Nature of Code. Dan Shiffman. 2012. Self-Published via Kickstarter. (Available in print and ebook)
Programming iOS 6, 3rd Edition. Matt Neuburg. 2013. O’Reilly Media. (Available in print and ebook)
LEARNING OUTCOMES:
Upon completion of the course students will:
- Have a foundational knowledge of programming - Have created numerous Apple iOS applications
- Have explored a number of famous algorithms for creative practice
- Have an understanding artificial intelligence and its application in modern computing - Be able to design software programs using essential programming patterns
- Be able to debug programs for common errors
COURSE ORGANIZATION:
The class will be conducted primarily with lectures. Classes will demonstrate concepts and programming techniques in a practical manner. The tutorial session is provided for students to bring their questions and works in progress.
COURSE ASSIGNMENTS AND EVALUATION SCHEDULE:
Weekly Blog Entries: 70%Mid-Term Project: 10% Final Project: 20%
Students are expected to maintain a weekly blog documenting their ongoing programming practice. Blogs must include narratives, code snippets, and images. Students must submit a link to the specific blog post each week.
Blog Due Dates: Week 2, 3, 4, 5, 6, 8, 9, 10, 11, 12
Mid-Term and Final projects are chosen by the student. A proposal must be submitted in
advance and must be approved by the instructor. The projects must explore some aspect of iOS programming but do not have to be related to the technical material presented in class.
Mid-Term Due Date: Week 7 Final Project Due Date: Week 13
FINAL EXAM:
There is no final exam for the course.
POLICY ON LATE ASSIGNMENTS & INCOMPLETE GRADES:
Late assignments will receive a mark of 0.CLASS CONDUCT AND EXPECTATIONS:
1) You must ensure you are properly registered for the course. If you have any concerns about your registration status, you may confirm on-line, confirm with the Faculty of Liberal Arts & Sciences Office, or contact the Office of the Registrar. Please first check your registration and read the codes carefully (the codes are clearly explained in the Course Calendar which is available on-line at www.ocadu.ca).
2) You are expected to conduct yourself in a manner respectful of your instructor and your fellow students. This includes, at a minimum:
§ Arriving on time
§ Turning off your cell phone upon arrival
§ If late, entering the classroom with the least disruption
§ Not interrupting or speaking when someone else has the floor § Using your laptop appropriately (i.e. not for email)
ABSENCES AND MAKE UP TESTS
Only under very special circumstances may students hand in late assignments or be absent from classes or tests/exams. If a student is sick, it is incumbent upon the student to notify the Instructor (and the Office of the Registrar, in the case of missed final exams) with proper
documentation as soon as possible. Students with special needs must contact the Centre for Students with Disabilities, ext. 339 at least two weeks prior to the test or assignment.
ABSENCE FOR RELIGIOUS PURPOSES:
A student who foresees a conflict between a religious obligation and any scheduled class assignments, including the final examination, must notify his/her instructor in writing and in the case of final examinations must make a written request to the Office of the Registrar within three weeks of publishing of the syllabus and/or the final exam schedule.
PLAGIARISM AND REFERENCING YOUR RESEARCH SOURCES:
Plagiarism is the act of taking someone else's ideas, opinions, writings, etc. and representing them as one's own. You plagiarize whenever you borrow another scholar's ideas or quote directly from a work without giving credit through proper citation or acknowledgement. Plagiarism is a serious offense at OCADU (please see OCADU's Policy in the OCADU Academic Calendar). Any assignment in which the ideas of another author are intentionally represented without acknowledgement and/or presented as the student's own work will receive a grade of zero. Please see the following web link for more information. <Web link to the
academic policy on plagiarism>
ACADEMIC AND NON-ACADEMIC MISCONDUCT:
Each student has final responsibility for her or his conduct. Students are expected to be aware of and abide by the regulations as they have been established in OCAD U’s academic and non-academic policies, which can be found on the OCAD U website at the following web link <Web link to Student Policies> under “Student Policies”. These policies outline the responsibility of students to “conduct themselves appropriately and reflect the highest standards of integrity in non-academic as well as academic behaviour”. All allegations of misconduct will be reported and investigated as per the current policies.
WEEKLY READINGS & CLASS SCHEDULE:
Week 1 - September 11: IntroductionIntroduciton to Computers Introduction to XCode Introduction to Objective-C Introduction to C4
Week 2 - September 18: Media
Media Files as Fundamental Types. (audio, video, image, animation) Week 3 - September 25: Interaction
Messages Notifications
Week 4 - October 2: Objects Writing an object
Instantiation
Week 5 - October 9: Effects Image effects
Video effects Audio effects
Week 6 - October 16: Building large systems Arrays
Groups
Week 7 - October 23: Flocking Dynamic systems
Natural Behaviour [Mid-Term Project Due]
Week 8 - October 30: Artificial Intelligence Learning
Probability
Pseudo-Random Neural Networks
Week 9 - November 6: iOS Sensors
Integrating external APIs Exploring Apple APIs
Week 10 - November 13: HTML.
Introduction to HTML5 (html + javascript) Week 11 - November 20: UIWebView Embedding HTML into an iOS application Week 12 - November 27: Individual Meetings
Week 13 - December 4: Presentation of Final Projects [Final Project Due]
UNIVERSITY RESOURCES:
Writing and Learning Centre:Resources specific to this course, for students requiring assistance with the material and with writing or reading comprehension, and for those for whom English is a second language, are provided through the Writing and Learning Centre, room 1501, 113 McCaul, 5th floor (ext. 229); e-mail: <Writing and Learning Centre e-mail link> One-on-one tutoring is available and confidential. The Writing and Learning Centre (WLC) provides free services for all students including writing, critical thinking, critical reading, and study skills, through one-on-one tutoring,
group tutoring, writing and academic skills workshops, resource materials, and ESL assistance. Please see the following web link for more information. <Web link to the Writing and Learning Centre>
Services for Students with Disabilities
Formal and informal student-centred supports, such as counselling, academic accommodations, and specialized services are available year-round to students registered with the Centre for Students with Disabilities. Students who think they may have learning or physical disabilities should contact Services for Students with Disabilities (ext. 339), 51 McCaul St. 2nd level, as
soon as possible. Students must be registered with the CSD to receive accommodations and related support. It is important to register early in the semester to ensure the accommodations can be scheduled by the start of the semester. Please see the following web link for more information. <Web link to the Centre for Students with Disabilities>
Dorothy Hoover Library
<Web link for the Dorothy Hoover Library>
OCADU Library, 113 McCaul, 2nd Floor , Room 1215 General Reference Desk: ex. 334
Art and Design Reference, Robert Fabbro: ex. 343
Art and Liberal Arts & Sciences Reference, Daniel Payne: ex. 217 Other University Services:
<Web link for the Health and Wellness Centre>
<Web link for the Academic Integrity> <Web link for the Academic Advising>