Information for

CS course selection

Course selection (previously called “pre-enrollment”) is important to help us plan for upcoming terms.

Course selection

What is it? Course selection is when you make your best guess about which courses (if any) you want to take in a future term. This information is vital for our planning purposes. We need to know how many sections to create, how many professors and TAs to assign, etc.

When is it? Course selection occurs one term before you take courses. In the spring, you select courses for the fall. In the winter, you select courses for the spring, etc.

What are the benefits? Students who participate in course selection are automatically enrolled in those courses before the drop/add period begins. You have a very good chance of getting the courses you signed up for. If you miss course selection, you can only choose from the left-over courses.

CS policies

We can divide the time leading up to taking a course into the following time periods:

  1. Course selection: One term before you start courses, you choose the courses you want to take.
  2. Sectioning: The Registrar’s Office places you into specific course sections. 
  3. Drop/add period: Your opportunity to swap courses or sections to optimize your schedule. This begins several weeks before classes begin and ends after classes begin.
  4. Classes begin.

In Computer Science, we make modifications to the University’s procedures. In Step 2, we drop the enrolment caps by approximately 15% of the total enrolment number for the course to give advisors room to handle special cases.

We will return the enrolment caps to their actual size in the second week of classes after we have had time to deal with the special cases. This will occur on Friday, May 4, 2018, (we don't know the precise time) and remaining space will be available on a first-come-first-served basis only if the section isn't already at its enrolment total.

What is a special case?

1. Students who selected courses but something went wrong because of:

  • enrollment capacity in a course **
  • a time conflict **
  • an academic enrolment block was applied after course selection
  • dropping or failing a course after course selection

** Please review more information under the Waiting Lists section of this page.

2. Students who could not select courses because of:

  • a recent transfer to CS
  • their status as international exchange students
  • hospitalization
  • an S&P or ELPE decision or related academic matters


Students who do not select their courses in advance and do not fall into one of the above categories:

  • will be required to wait until after advisors have handled failures and other legitimate situations
  • will compete on a first-come-first-served basis on Quest for any remaining spots
  • will not receive help getting into courses (e.g., overriding full sections, adding new sections, or enlarging existing sections)

Overrides are available during course selection just like during the drop/add period. See a CS advisor if you need an override to select a course.

Waiting lists

For Spring 2018, some courses have waiting lists and department consent has been placed on these courses. Waiting lists are only created when the number of students who course selected the course is greater than the number of spots in the course.

Spring 2018 courses with waiting lists:

  • CS 230 (department consent removed 11 April)
  • CS 240 (department consent removed 1 May)
  • CS 241 (department consent removed 1 May)
  • CS 370 (department consent removed 23 April)
  • CS 446 (department consent removed 10 April)
  • CS 452 (department consent removed 24 April)
  • CS 454 (department consent removed 14 May)
  • CS 458 (department consent removed 11 May)
  • CS 486 (department consent removed 10 May)
  • CS 488
  • CS 489 (department consent removed 3 May)
  • CS 492

If you did course select any of the following courses but did not get enrolled then you have been placed on the waitlist for the course. You will be contacted at your uWaterloo email account if/when a spot becomes available for you. Available spots are offered based on random choice. Quest may show that there is space in the course but this is not accurate because the process is manual. There is no need to contact CS advisors as we will contact you when a place has become available for you.

No other students will be added to a waiting list. 

Students who want to be enrolled in waitlisted courses will need to wait until the waitlist is exhausted and department consent has been removed. A post will be made on the CS blog when/if department consent is removed on one of the waitlisted courses. If you receive a message about department consent in Quest then this means that there is still a waiting list. 

Other notes

These changes only apply to CS courses. Math and elective course policies are set by other academic units. You need to contact the department's advisor/staff to request permission to override these courses as we are unable to override non-CS courses.

We've observed some students selecting up to five courses and then dropping several at the beginning of the term. We view this as an abuse of the system. Selecting more than three CS courses may result in some of them being dropped before sectioning occurs.