An introduction to the fundamentals of computer programming through media computation. Students will learn to write interactive graphical programs. Fundamental language concepts such as variables, conditionals, loops, functions, and arrays. Programming concepts such as coding style, modular design, testing, and debugging. Media concepts such as 2D graphics drawing, input, animation, and image processing.
All announcements, questions, and answers are on Learn. Check the course's Learn website regularly to be kept up to date.
If you are not currently enrolled in the course, please direct all inquiries to the Instructional Support Coordinator, Barbara Daly: bmzister@uwaterloo.ca
All announcements will be posted on Learn. You should check Learn everyday! We recommend downloading the PULSE app for your phone, to receive notifications when announcements are posted.
MSTeams will be used for our discussion forum.
Day | Time* (Eastern Time) | Room |
---|---|---|
Mondays | 11:30 - 12:50 | MC 1056 |
Wednesday | 11:30 - 12:50 | MC 1056 |
Day | Time * (Eastern Time) | Communication Tool / Room | Staff |
---|---|---|---|
Mondays | 14:30 - 15:50#
16:00 - 17:00# † | MC 3005
MC 4065 | Christopher He
Make an Appointment |
Tuesdays | 11:00 - 12:30
20:00 - 21:00 | MS Teams
MS Teams | Christopher He
Christopher He |
Wednesdays | 13:30 - 14:30
14:30 - 15:50# 16:00 - 17:00# † | Microsoft Teams
MC 3005 MC 4065 | Muddassir Malik
Christopher He Make an Appointment |
Thursdays | 11:30 - 15:30 | MS Teams | Saralin Zassman |
Fridays | 11:00 - 15:00 | MS Teams
MS Teams | Ludwig Wall |
* Times subject to change
# In person sessions
† By appointment only. Please make an appointment before you come.
Note: Office hour appointments can be made outside of these times with the ISAs or course instructor, via email, MS Teams or Bookings.
On-campus office hours are held in the Computer Science Tutorial Centre, in MC 4065 (unless otherwise specified). The specific location within the centre, ISA's name, and office hour times can be found on a white board standing next to the entrance to the centre.
Staff | Availability |
---|---|
Christopher | Online In-person |
All assignments and labs are due at 5:00 pm if not otherwise specified)
Please keep in mind that all dates expressed in this schedule are tentative and subject to change at any time.
Week | Lectures | Concepts | Assesssments | Due Dates |
Week 1: Jan 5-7 | 00: Intro and Media Computing | Lab 0 | Fri Jan 7 | |
Week 2: Jan 10-14 | 01: Algorithms and Code | Algorithms Syntax Errors | Lab 1 Lab 2 Assignment 1 | Fri Jan 14 Wed Jan 19 |
02: Drawing | 2D Coordinate Statements Commenting Control Flow | |||
Week 3: Jan 17-21 | 03: Atrributes | Program State Colour Formats hexadecimal | Lab 3 Lab 4 Assignment 2 | Fri Jan 21 Wed Jan 26 |
04: Interaction | Events | |||
Week 4: Jan 24-28 | 05: Variables | Declaration vs. Initialization Memory Types Binary Numbers Precision | Lab 5 Lab 6 Assignment 3 | Fri Jan 28 Wed Feb 2 |
Week 5: Jan 31-Feb 4 | 06: Conditionals | Boolean Logic Relational Expressions | Lab 7 Lab 8 Assignment 4 | Fri Feb 4 Wed Feb 9 |
12: Debugging | ||||
Week 6: Feb 7-11 | 07: Loops | Lab 9 Lab 10 Assignment 5 | Fri Feb 11 Wed Mar 2 | |
Week 7: Feb 14-18 | 07: Loops | Lab 11 | Fri Feb 18 | |
Reading Week Feb 21-25 | ||||
Midterm: Fri Mar 4 | ||||
Week 8: Feb 28-Mar 4 | 08: Functions | Returning Values | Lab 12 Assignment 6 | Fri Mar 4 Wed Mar 9 |
Week 9: Mar 7-11 | 08: Functions | Lab 13 Lab 14 Assignment 7 | Fri Mar 11 Wed Mar 16 | |
09: Program Design | ||||
Week 10: Mar 14-18 | 10: Arrays | Array Operation Idiom | Lab 15 Lab 16 Assignment 8 | Fri Mar 18 Wed Mar 23 |
Week 11: Mar 21-25 | 10: Arrays | Lab 17 Lab 18 Week 1 of Final Project | Fri Mar 25 | |
11: Images | Pixels | |||
Week 12: Mar 28-Apr 1 | 11: Images | Lab 19 Lab 20 (optional) Week 2 of Final Project | Fri Apr 1 | |
13: Video and Sound | Modularity Testing | |||
Week 13: Apr 4-5 | Review | Final Project | Tue Apr 5 @ 11:59 pm | |
Final Exam: Wednesday Apr 18, 9:00 am - 11:30 am |
The plan is that there will be a corresponding assignment for each module.
Protip: Although each assignment will be weighted the same, it is inevitable that some assignments will be harder and/or require more work than others.
There are 20 lab programming exercises to be completed by students.
There are 8 programming assignments.
The final project is an open-ended assignment where you design and implement a program of your choice. This is a culmination of all concepts learned throughout the term and a chance to conceive and design a complete program.
There are two tests.
All assignments and labs must be submitted to LEARN.
Assignments and labs that are submitted late will receive a mark of 0.
After an assignment or lab due date has passed, you may still submit your work for feedback only (no marks). You must inform the CS105 Instructional Support Assistants by email so they are aware of your submission and request for feedback.
If you miss an assignment due to illness or other extenuating circumstances, email Barbara Daly to confirm the documentation needed to exempt you from the appropriate course componenets. With appropriate, authorized documentation, assignment work may be excused. If a missed assignment is excused, its weight is distributed over the remaining un-excused assignments. In the interest of understanding the course material for future assignments and exams, students who miss work are encouraged to do complete it when they are able, submit it to cs105@uwaterloo.ca, and request feedback.
There is no group work. All work must be done individually.
In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. Please take the time and go through the following:
To better understand the basic values of academic integrity and the consequences of academic misconduct please refer to Academic Integrity tutorial.
A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4. When in doubt please be certain to contact the department's administrative assistant who will provide further assistance.
A student is expected to know what constitutes academic integrity, to avoid committing an academic offence, and to take responsibility for his/her actions (see Academic Integrity Guidelines ). A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about 'rules' for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate Associate Dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline. For typical penalties check Guidelines for the Assessment of Penalties
A decision made or penalty imposed under Policy 70 (Student Petitions and Grievances) (other than a petition) or Policy 71 (Student Discipline) may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72 (Student Appeals)
In accordance with Policy 46, Appendix A - Access to and Release of Student Information, the Centre for Extended Learning does not release final examination grades or final course grades to students. Students must go to Quest to see all final grades. Any grades posted in Waterloo LEARN are unofficial.
AccessAbility Services, located in Needles Hall, Room 1401, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with them at the beginning of each academic term.
If you or anyone youknow experiences any academic stress, difficult lifeevents, or feelings like anxiety or depression, we strongly encourage you to seek support.
It is our intent that students from all diverse backgrounds and perspectives be well served by this course, and that students’learning needs be addressed both in and out of class. We recognize the immense value of the diversity in identities, perspectives, and contributions that students bring, and the benefit it has on our educational environment. Your suggestions are encouraged and appreciated. Please let us know ways to improve the effectiveness of the course for you personally or for other students or student groups. In particular:
Respect the copyright of others and abide by all copyright notices and regulations when using the computing facilities provided for your course of study by the University of Waterloo. No material on the Internet or World Wide Web may be reproduced or distributed in any material form or in any medium, without permission from copyright holders or their assignees. To support your course of study, the University of Waterloo has provided hypertext links to relevant websites, resources, and services on the web. These resources must be used in accordance with any registration requirements or conditions which may be specified. You must be aware that in providing such hypertext links, the University of Waterloo has not authorized any acts (including reproduction or distribution) which, if undertaken without permission of copyright owners or their assignees, may be infringement of copyright. Permission for such acts can only be granted by copyright owners or their assignees.
If there are any questions about this notice, please contact the University of Waterloo, Centre for Extended Learning, Waterloo, Ontario, Canada, N2L 3G1 or extendedlearning@uwaterloo.ca