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.
A lot of the information on this page can also be found in a separate course outline.
For questions related to course content, contact an instructor or an ISA. The best place to ask questions is on Piazza, but you can also send email (add "@uwaterloo.ca" to the addresses below) or visit during office hours. For questions about marking, contact the Assistants first, who will consult with the Instructor if necessary. For questions about course logistics (particularly absences), contact the Coordinator.
The lecture schedule below is given in terms of Section 002 (the 2:30pm class). Section 001 (10:00am) will follow roughly one lecture period later. Both sections will have the same assignment and lab deadlines.
|Week of||Lectures||Suggested readings|
Module 00: Administration
Module 01: Processing recap [notes]
|CS 105 lecture notes|
|09 January||Module 02: Arrays and Strings [notes, sketches]||Learning Processing, Chapters 9 and 17; Online tutorial on arrays; Online tutorial on strings|
|16 January||Module 03: Input and Output [notes, sketches]||Learning Processing, Sections 15.1, 17.1, 17.2, 17.3, 18.3, 18.4, 21.3, 21.4|
Module 04: Advanced Shapes [notes, sketches]
||Learning Processing, Sections 14.3, 13.8, 13.9; online tutorial about the PVector class|
Module 05: User Interfaces [notes, sketches]
Module 06: Geometric Context [notes, sketches]
||Learning Processing, Sections 14.1, 14.5, 14.7, 14.8, 14.9 (ignoring 3D)|
|13 February||Module 07: Recursion [notes, sketches]||
Learning Processing, Section 13.11
Nature of Code, Chapter 8
|20 February||Reading week: no lectures|
|27 February||Module 08: Randomness [notes, sketches]||Learning Processing, Sections 13.3–13.6|
Bonus: 3D [2016 notes,
Module 09: Noise [notes, sketches]
Nature of Code Introduction, especially I.6, "Perlin Noise (A Smoother Approach)"
|13 March||Module 10: Text processing [notes, sketches]||
The first part of Shiffman's online notes about data
Learning Processing, Sections 17.1, 17.2 and Chapter 18
|20 March||Module 11: Tables [notes, sketches]|
|27 March||Module 12: Tree-structured data [notes, sketches]|
Please see the bottom of the course outline page for more information about re-marking of assignments and the midterm.
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.]
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.
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.
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.
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.