Metadata
Title
Courses
Category
courses
UUID
fcd4993f7be44023bfb6ce907775098a
Source URL
https://cs.uwaterloo.ca/current-graduate-students/courses
Parent URL
https://cs.uwaterloo.ca
Crawl Time
2026-03-18T05:15:50+00:00
Rendered Raw Markdown
# Courses

**Source**: https://cs.uwaterloo.ca/current-graduate-students/courses
**Parent**: https://cs.uwaterloo.ca

## Graduate courses

Graduate
courses
assume
a
background
of
at
least
third-year
honours
Computer
Science
at
the
University
of
Waterloo
and
a
similar
level
of
mathematical
maturity.
Students
lacking
this
background
will
be
asked
to
acquire
this
material
in
addition
to
the
other
requirements
of
the
program.

[Course categories and areas](https://cs.uwaterloo.ca/current-graduate-students/table-categories-and-areas-courses)

[University of Waterloo

Schedule of Classes](https://classes.uwaterloo.ca/under.html)

Expand all
Collapse all

## Course calendar

Graduate courses are classified into three levels:

- 600-level courses are basic graduate courses
- 700-level courses are intermediate graduate courses, and
- 800-level courses are research-oriented courses

[More information on these courses.](https://uwaterloo.ca/graduate-studies-academic-calendar/graduate-course/subject/CS)

## Graduate course offerings

In general it may be assumed that 600-level courses will be offered in each of the next few years, but that the 700 and 800-level offerings will vary greatly from year to year.

For information about instructors and time tabling of 600-level courses for the current term, please see the UW course schedule. For 700 and 800 class times, see term schedule.

[Current course offerings](https://cs.uwaterloo.ca/node/3039)

## Enrolling in Computer Science graduate courses

Starting several weeks *before* the start of the term and ending at the course drop/add deadline (about three weeks *after* the start of the term), graduate students can enroll in CS graduate courses using [Quest](https://uwaterloo.ca/quest/), the University of Waterloo's student information system. Students are advised to consult with their supervisor prior to enrolling in courses online.

[Enrolling in courses](https://cs.uwaterloo.ca/node/3047)

## Enrolling in non-CS graduate courses

Students are permitted to use non-CS graduate courses and count these towards their course requirements if pre-approved. Students can consult a  [table of non-CS courses](https://cs.uwaterloo.ca/node/3048) to determine if a non-CS course has previously been pre-approved and the course area and level indicated. If the proposed course is not on this table, the student must consult with the  [Director of Graduate Studies](mailto:cs.graddir@uwaterloo.ca?subject=Approval%20Required%20for%20Non-CS%20Course) to get approval.

The number of non-CS courses permitted in the course requirement for each program is limited, unless an exception is made after consultation with the CS  [Director of Graduate Studies](mailto:cs.graddir@uwaterloo.ca).

- MMath thesis 1 out of 4 courses
- MMath research paper 2 out of 7 courses
- MMath coursework 2 out of 8 courses
- PhD from master's 1 out of 4 courses
- PhD from bachelor's 2 out of 8 courses

Enrolment in a non-CS course is done using a  [Drop/Add Form](https://uwaterloo.ca/forms/graduate-studies/graduate-studies-course-dropadd).

## Non-CS students enrolling in CS graduate courses

Graduate students from other departments cannot enroll on Quest for CS graduate courses which are reserved for CS graduate students only.\
\
Non-CS graduate students are advised to check the prerequisites for the course they are interested in to ensure they meet the minimum requirements. They can then request a permission # for that particular course by sending the course instructor an email with their

- Student full name
- Student ID #
- Student home department registered in
- Course # with section #

Non-CS graduate students are welcome to attend a CS graduate class in the first week of lectures if seating permits. Permission numbers will be assigned to the selected students after the first week of classes if space allows.

\
Students may not request a place in more than 1 course.\

Undergraduate students are not permitted to take 600-level CS courses that have a 400-level undergraduate component.