C O M P U T E R S C I E N C E
- The phrase "Computer Science students" refers to students
enrolled in any Honours plan offered through the David R. Cheriton
School of Computer Science. Software Engineering, Computing and
Financial Management, and Bachelor of Computer Science (Data Science)
students are considered Computer Science students. Students enroled in
the BMath (Data Science) plan are not considered Computer Science
Due to course restrictions on upper-year
courses, students pursuing a Computer Science minor many need to enrol
as Computer Science students for part of their undergraduate studies
and should contact a CS advisor for more information.
CS courses are available to all students with the exception of CS 100,
which is not open to Math faculty students and most Engineering
students, and CS 137 and 138, which are only available to Software
- Upper-year CS courses are divided into two streams.
Courses with middle digits 4 to 9, e.g., 350 are designed specifically
for Computer Science students. Some courses are open to all Math
faculty students, but most are restricted to Computer Science students
Courses with middle digits 0
to 3, e.g., 230 are designed for a broader audience, including students
pursuing the Computing option. These courses are not
available to Computer Science students.
exceptional circumstances, student who are not Computer Science
students may be allowed to take restricted CS courses. For more
information, students should contact a CS advisor. Engineering students
are not usually allowed to take restricted CS courses that have an
Engineering equivalent available. When space is limited for restricted
CS courses, Computer Science students are given priority.
Computer Science relies on student pre-enrolment data to
determine the demand for courses. Every effort is made to accommodate
students who choose classes during the pre-enrolment period, though
space may be limited for some courses. Students who do not pre-enrol
may be unable to take their preferred courses.
The terms in which courses are offered may change. For up-to-date information, students should check the "Schedule
A CS course may not be taken for credit if it is the prerequisite of
another CS course that has already been passed.
who have demonstrated exceptionally strong academic performance can
take graduate-level courses if there is enough space and they get
approval from both the instructor and a CS advisor. Undergraduates are
not allowed to enrol in 600-level courses when an equivalent 400-level
An enriched version of a Computer
Science course, with an "E" suffix, may be substituted for the regular
version of that course in any plan requirement or course prerequisite,
or for any other calendar purpose. Whenever a Computer Science course
is an antirequisite for another course, the enriched version is also an
antirequisite for that course. A student may not receive credit for
both the enriched version and the regular version of any Computer
Undergraduate students who take graduate
courses that do not count towards their undergraduate degree can
sometimes use these courses to satisfy graduate study requirements. For
more information, students should see the "Accelerated Master's
Academic Plans in Computer Science" section.