Undergraduate Courses in Computer Science


1000-Level | 2000-Level | 3000-Level | 4000-Level


Select a level to view its list of courses.

The content of course offerings can differ between deliveries, including some of the topics covered and the type and weightings of assessments, so consider the course descriptions found here to be representative, and not definitive.

Each course's materials, including a detailed Course Outline for a particular offering, will be made available to enrolled students in the course's Brightspace shell.  Course shells open at the beginning of the semester.

Please note that some courses are offered more frequently than others. Many elective courses - those not required for the CS Major - are offered only once per academic year, or less frequently.

So you should consult the list of Tentative Course Offerings for the current academic year to see what's available.

Enquiries about course information that is not available from the links above should be made to the course instructor.  Many of our faculty host more information about their courses on their own websites. Contact details for faculty are available here, and for per-course appointments here.

Prerequisite Structure of Core Courses

These are the core courses in computer science, required as part of the CS major.

prerequisite structure of core undergraduate courses

The prerequisite and corequisite requirements ensure that students follow a path of study that provides them with all the necessary knowledge, skills and experience to complete subsequent courses.

The prerequisite and corequisite requirements for these courses cannot be waived.

Page last updated May 24th 2021