This course includes is structured around weekly lectures, delivered as recorded videos with supporting materials.

There are two sections of this course: one online, and one blended.

  • The online section has no in-person components and relies on the recorded lectures.
  • The blended section uses recorded lectures but also includes an optional session every Wed from 11:30 - 12:30 in DC 1350.

This optional session will be used to expand on some topics, and allow for unstructured Q&A with the instructor. When possible, these sessions will also be recorded and made available online. Regardless of your section, you are expected to watch the videos, read the slides and follow along with the content.

All instructors are expected to have an alternate course plan, in case in-person classes need to be cancelled due to COVID.

In this course, the in-person classes are completely optional. If we need to cancel in-person classes for any reason, we can just continue online without any disruption. Hopefully that isn’t an issue this term.

Reading Materials

There are no required textbooks for this course.


Your grade will be based on quizzes (20%), and programming assignments (80%).

  • Quizzes: There will be five quizzes, each worth 4% (5 x 4% is 20% of your overall grade). Quizzes will consist of short-answer and multiple-choice questions, and are based on the slides and lecture material. More details are on the Quizzes and Policies pages.
  • Assignments: There are four graded assignments, each one worth 20% (4 x 20% is the remaining 80% of your overall grade). Assignments details, including specifications, due dates and assignment policies are on the Assignments and Policies page.

There is no midterm or final exam in this course.