Students must have the required prerequisites in order to take Computer Science courses. The prerequisites for each course are listed with the course descriptions in the UBC Calendar.

The Department of Computer Science enforces prerequisites.  At the start of each term, we conduct prerequisite checks.  Regardless of whether or not the UBC registration system allowed you to register for the course:  If you do not meet the prerequisites, or you do not appear to meet the prerequisites, you will get a "missing prerequisite" letter from our department via e-mail near the start of the term.  You must address this letter according to the instructions provided, or you will be dropped from the course.  If you actually have the prerequisite because of valid transfer credits from another post-secondary institution, this is OK.  You should watch for a "missing prerequisite" letter (using the e-mail address that you have on file with UBC's registration system).

If you have a missing prerequisite, and you wish to appeal, please click on the following link to help determine if you are eligible to appeal.  Please note that Applied Science students normally cannot appeal because the ECE and CPSC curriculum committees have already agreed upon all acceptable prerequisite paths; so, if you are an Applied Science student, take careful note of the instructions in Part 2 of this web page:

If you are a graduate student from outside the CPSC department, and the department thinks that it is unlikely that you have the prerequisite background, then you also can expect to receive a "missing prerequisite" e-mail from the department.  In this case, you need to consult a Computer Science Advisor.  Graduate students from outside the CPSC department should read the instructions on the following page:

Hard Prerequisite Checks.  In 2017-2018, the following upper-level courses have hard prerequisite checking turned on in the UBC registration system:  CPSC 313, 317, 319, 415, and 424.  What this means is that if you do not have the exact prerequisites, you will not be allowed to register for the course.  You won't even get to the stage of receiving a "missing prerequisite" letter; you'll be barred from registering for the course in the first place.  If this happens in error (e.g., because you have legitimate transfer credits to meet the prerequisites), then submit a registration webform, and we will help you register.  The purpose of hard prerequisite checking is to prevent ineligible students from registering in the first place.  If an ineligible person registers in June, for example, for a Term 1 or Term 2 winter session course, that seat is held until we kick the student out at the start of Term 1 or Term 2.  Unfortunately, this means that in the lengthy interval between now and then, an eligible person cannot get into the course.  As you can imagine, this is frustrating.  For some lecture sections, we have 15 or more ineligible students taking a place in a course, and we want to prevent this.  We want to deal with legitimate exceptions in the summer -- not during the first week of classes.

What do I do if I am eligible to register, but am prevented from doing so by the registration system?  You should immediately go on the SSC wait list for the course (if possible).  Our department's internal wait list software reads the SSC wait list every night, and then automatically orders the entries by timestamp (from when you went on the SSC wait list).  Note that CPSC students get priority over others on the wait list.  If you are prevented from getting onto the SSC wait list for a CPSC course, don’t worry; let us know via a registration webform and: (a) we’ll force you onto the SSC wait list, and (b) we’ll backdate your CPSC wait list timestamp using our internal wait list management software.  The Computer Science department manages its own wait lists, and once we have you in our system, your correct status and timestamp are automatically updated after each download of the SSC wait list.  Our department manually moves students into the course, according to each student’s priority on the CPSC internal wait list.

If you are a CPSC student but cannot register, and there are still seats left in the course when you go on the SSC wait list, then we can force you into the course (switching your wait list spot with an official seat in the course), if we catch it in time.  But, keep in mind that before you actually register, other students with higher priority (e.g., students with higher GPAs, students with standing for a higher year than you) can claim the seat first.

We'll move students into the course from each course's respective wait list in stages between the current time and the first two weeks of classes.  For almost all of our courses, we move a whole bunch of students from the wait list into the course.  Important:  While you are on the wait list, be sure to attend the lectures!  Some instructors will keep an attendance list, and may give preference to wait-listed students who are actually attending class.