To take an in-lecture quiz click here

Information

Useful links:

Office hours

Office hours are not held in the first week, during reading week, or on the day of the midterm. For office hours help on assignment due dates (Fridays), please attend tutorials.

WeekdayTimeCourse staff memberLocation
Mondays 14:30–16:30 Shun Saito Teams (online)
Tuesdays 12:30–14:00 Gregor Richards MC6457
Wednesdays 14:30–17:00 Vedika Gupta PHY 308 (Physics tutorial center)
Thursdays 10:30–12:30 Shanza Teams (online)
Thursdays 12:30–14:00 Gregor Richards MC6457
Thursdays 16:00–17:00 Vedika Gupta PHY 308 (Physics tutorial center)
Fridays Tutorials MC2062, MC2063
(Not the classrooms given by Quest)

Course schedule

(This schedule is subject to change at any time)

WeekModule coverageAssessments
Jan 5–Jan 11Module 1: BasicsNo tutorial
Jan 12–Jan 18Module 1, snow day Assignment 0: Friday, January 16th, 17:30
(Note: Assignment 0 does not contribute to your course grade.)
Normal tutorials start this week
Jan 19–Jan 25Module 2: Making decisionTutorial problem 1: Friday, January 23rd
Jan 26–Feb 1Module 3: RepetitionAssignment 1: Friday, January 30th, 17:30
Feb 2–Feb 8Module 4: Strings and listsTutorial problem 2: Friday, February 6th
Feb 9–Feb 13Module 4, Module 5Assignment 2: Friday, February 13th, 17:30
Feb 14–Feb 22(Reading week)
Feb 23–Mar 1Module 5: Sorting and dictionaries
Mar 2–Mar 8Module 6: Files Midterm exam: Monday, March 2nd, 19:00
Assignment 3: Friday, March 6th, 17:30
Mar 9–Mar 15Module 7: NumPy and plottingTutorial problem 3: Friday, March 13th
Mar 16–Mar 22Extra material: AI
Module 8: Classes
Assignment 4: Friday, March 20th, 17:30
Mar 23–Mar 29Module 8
Extra material: Using Python outside of Jupyter
Tutorial problem 4: Friday, March 27th
Mar 30–Apr 5Module 9: Recursion
Module 10: Efficiency
Assignment 5: Thursday, April 2nd, 17:30
Apr 6 Tutorials on Monday, April 6th
(Friday schedule)
Tutorial problem 5: Monday, April 6th
(Final exam to be announced)

Configuring Jupyter

We will be using Jupyter extensively in this course. We will discuss how to get started in Jupyter in class, and you can refer to the course textbook.

Once you are running Jupyter, copy and paste the following incantation into Jupyter, and run it. (Include everything, even the exclamation mark.)

!wget https://student.cs.uwaterloo.ca/~cs114/src/Assignment-00.ipynb

This will download a file called Assignment-00.ipynb. Open this file, and run it by clicking the ⏩ button. This will set up type checking that we will use throughout the term.