This is the home page for CS 106, a second-level introductory programming course at the University of Waterloo. The course explores the use of graphics in art, design and visualization contexts. It is a required course for students in the Global Business and Digital Arts program.

Please consult the separate course outline for more detailed information about many aspects of the course's operation, as well as course and university policies.



Staff

For questions related to course content, contact an instructor or an ISA. The best place to ask questions is to use MS Teams. For questions about marking, contact the Assistants first by email, who will consult with the Instructor if necessary. You can email them at "cs106@uwaterloo.ca". For questions about course logistics (particularly absences), contact the Coordinator, Scott King.

Kevin
Instructor: Kevin Harrigan
email: kevinh@uwaterloo.ca
Aksh
Instructional Support Assistant: Aksh Patel
email: cs106@uwaterloo.ca
Lakshmi
Instructional Support Assistant: Lakshmi Vinoj
email: cs106@uwaterloo.ca
Adam
Instructional Apprentice: Adam Campbell
Ehsan
Instructional Apprentice: Ehsan Jahangirzadeh Soure
Benyamin
Instructional Apprentice: Benyamin Jamialahmadi
Ken
Instructional Apprentice: Ken Jen Lee
Scott
Instructional Support Coordinator: Scott King
email: sfking@uwaterloo.ca

Office Hours

Office Hours

The following outlines the schedule of online consulting hours for the Winter 2021 term. These chat hours provide you with an opportunity to to ask the Instructor, ISAs or IAs any questions you may have pertaining to assignments, exams, or course content. If you are unable to make it to any of these online office hours, alternative options include posting your question to the discussion board, emailing the ISAs directly at cs106@uwaterloo.ca or requesting a time in the MS Teams Office Hour channel.

Day

Time* EDT

Communication Tool

Staff

Mondays 9:30am-11:30am
12:00pm-2:00pm
MS Teams Kevin
Ehsan
Tuesdays 9:00am-11:00am
1:00pm–3:00pm
3:00pm–5:00pm
6:00pm–8:00pm
MS Teams Ken
Aksh
Lakshmi
Benyamin
Wednesdays 10:00am-12:00pm
12:00pm–2:00pm
2:00pm–4:00pm
MS Teams Adam
Aksh
Ken
Thursdays 9:00am-11:00am
12:00pm-2:00pm
2:00pm-4:00pm
4:00pm-6:00pm
6:00pm-8:00pm
MS Teams Lakshmi
Aksh
Benyamin
Lakshmi
Ehsan
Fridays 10:00am-12:00pm
12:00pm-2:00pm
2:00pm-4:00pm
MS Teams Adam
Aksh
Lakshmi

Schedule


Marking

Default Marking Scheme

Weekly Participation 6%
9 Labs (best 8 count) 8%
8 Assignments (best 7 count) 21%
Midterm Test (online) 15%
Final Project 10%
Final Exam (in person) 40%

Marking Scheme ONLY IF in person final exam is not allowable.

Weekly Participation 6%
9 Labs (best 8 count) 16%
8 Assignments (best 7 count) 28%
Midterm Test (online) 20%
Final Project 10%
Final Exam (online) 20%

NOTE: The default marking scheme is marking scheme A. You do not get to choose your marking scheme. If we are unable to have an in person final exam then it will be marking scheme B. Please see the bottom of the course outline page for more information about re-marking of assignments and the tests.


Assignments

Before submitting code for assignments, you should familiarize yourself with the code style guidelines and read the instructions on how to submit code on LEARN.

Labs

Labs will be submitted as pdf files with links to Open Processing sketches following this template.

Resources

Practice

  • A set of practice programming exercises will be provided before the tests to help you build your skill at writing short functions.

JavaScript p5

  • The course is taught using the ( JavaScript p5 ) programming environment. When working on assignments, the reference reference section section will be especially useful.

Textbook

    No required textbook, but there is a recommended textbook: Lauren McCarthy, Casey Reas, and Ben Fry. Getting Started with p5.js. Published October 2015, Maker Media. Paperback. An electronic version of the textbook is available through the University of Waterloo library at: https://ocul-wtl.primo.exlibrisgroup.com/permalink/01OCUL_WTL/5ob3ju/alma999986579998305162 Anyone with an email address ending in uwaterloo.ca can access the above link. If you are asked to select your institution, then select “Not Listed” and log in using your uwaterloo.ca email address.

Course technology

  • We use LEARN for questions, discussions, announcements, and other topics of interest to students in the course. Visit LEARN for timely updates on course material. Feel free to seek help with assignments from the course staff or each other, but keep academic integrity in mind. Don't post anything publicly that might constitute an academic offence (e.g., a partial solution to a programming question).
  • Non-public aspects of the course (such as assignment submission and marks) happen on LEARN. But for the most part, all other course-related documents will be posted publicly here.

Other documentation

  • There are a few general documents that will help you get through this course, which are identical to the ones we made available to you in CS 105. Make sure you've read the Survival Guide for starters. Then, before submitting code for assignments and labs, make sure you're up to speed on our suggested code style guidelines and that you know how to submit code on LEARN.

Policies

Academic Integrity

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. [Check www.uwaterloo.ca/academicintegrity/ for more information.]

Grievance

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, www.adm.uwaterloo.ca/infosec/Policies/policy70.htm. When in doubt please be certain to contact the department's administrative assistant who will provide further assistance.

Discipline

A student is expected to know what constitutes academic integrity [check www.uwaterloo.ca/academicintegrity/] to avoid committing an academic offence, and to take responsibility for his/her actions. 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, www.adm.uwaterloo.ca/infosec/Policies/policy71.htm. For typical penalties check Guidelines for the Assessment of Penalties, www.adm.uwaterloo.ca/infosec/guidelines/penaltyguidelines.htm.

Appeals

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) www.adm.uwaterloo.ca/infosec/Policies/policy72.htm.

Students with Disabilities

AccessAbility Services (AAS), located in Needles Hall, Room 1132, 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 AAS at the beginning of each academic term.

More Information

Academic Integrity and Students with Disabilities