Enrolling in courses

Enrolling in Computer Science graduate courses

Several weeks before the term and ending at the course drop/add deadline (three weeks after the start of the term), graduate students can enroll in CS graduate courses using Quest, the University of Waterloo's student information system. Students are advised to consult with their supervisor prior to enrolling in courses online. If a course has instructor consent or is full,  CS graduate students are advised to request a permission # for the particular course they are interested in by sending the course instructor an email with the following information:

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

Once the course drop/add deadline has passed, courses can only be dropped or added using a Graduate Student Drop/Add Form and with the approval of the student's supervisor, and the CS Graduate Officer. Once the student has obtained the signature of the supervisor on the form, it may be submitted to the CS Grad Office. Drop/add forms are also required for courses taken for audit. For courses taken for audit, the approval of the instructor is also required. Courses may not be dropped or added, nor course status changed, after the start of the final examination period, except by petition due to special circumstances.

Enrolling in Computer Science undergraduate (remedial) courses

Remedial courses are undergraduate courses and are numbered in the 200 and 300 level. You will have been informed in your offer of admission whether you are required to take any remedial courses. Graduate students are expected to take any remedial courses in their first term of the program. To enroll in an undergraduate CS course you must have permission from one of the CS Undergraduate Advisors. Because there is often a high demand for CS undergraduate courses, students wishing to enroll are encouraged to do so as soon as possible. Undergraduate courses, including remedial courses, cannot be used towards the course requirements of the MMath or PhD degree in Computer Science.

Enrolling in courses offered by other departments.

Graduate students can enroll in a graduate course in another department either by (i) directly enrolling using Quest, or (ii) if that fails, obtaining the instructor's approval, visiting the grad office of the department offering the course and obtaining a permission number from that office, and then using Quest to enroll in the course using that permission number. If you intend for the course to be used towards the course requirements of your MMath or PhD degree, you must obtain the prior approval of the CS Graduate Officer.

If the course is held-with a CS course, you should enroll in the CS-version of the course.

Special note for non-CS graduate students

Graduate students from other departments cannot enroll on Quest for CS graduate courses. Graduate students from other departments may be accommodated in CS graduate courses on an ad hoc basis, depending on resources and need, at the discretion of the School and the instructor. Non-CS grad students in the Faculty of Math who are in computer science–related areas (e.g., cryptography, algorithms, data science, etc.) will be given priority. 

CS undergraduate students enrolling in CS graduate courses

CS undergraduate students with strong academic records may be permitted to enroll in CS graduate courses at the 700- and 800-level (for 600-level courses, undergraduates are required to enroll in the corresponding 400-level course). To enroll in a CS graduate course, you must obtain the approval of the instructor of the course and the approval of the CS Undergraduate Advisors and enrol for the course on an undergraduate Course Override Form.