Prerequisite Rules

Students must have the correct prerequisites in order to take Computer Science courses. The prerequisites for each course are listed with the course descriptions in the UBC Calendar. At the start of each term, we conduct prerequisite checks.  

Interactive charts
Check the prerequisites for CS Majors, courses and their associated learning outcomes

If you have a missing prerequisite and you wish to appeal, determine if you are eligible to appeal.  Please note:  Applied Science students normally cannot appeal because the ECE and CPSC curriculum committees have already agreed upon all acceptable prerequisite paths. More info.



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" e-mail near the start of term. You must address this letter according to the instructions provided, or you will be dropped from the course. 
  • If you satisfy the prerequisites because of valid transfer credits from another post-secondary institution, this may still trigger a "missing prerequisite" letter.  So please keep an eye on the e-mail address that you have on file with UBC's registration system and fill out a registration webform if you receive such a letter. Once an advisor has confirmed that you have the necessary prerequisites, you will be allowed to remain in the class.
  • If you are a grad student from outside the UBC Computer Science department, and prerequisite courses were not taken at UBC, then you can expect to receive a "missing prerequisite" e-mail. Please follow the instructions provided in the email and be prepared to demonstrate that you have taken courses that meet or exceed the learning outcomes of the prerequisite courses.  Graduate students from outside the CPSC department should read these instructions.

Hard Prerequisite Checks

Some of our upper-level courses have hard prerequisite checking:  for example, CPSC 313, and 317.

Hard prerequisite checking means that if you do not have the exact prerequisites, the system will not allow you to register for the course.  If this happens in error (e.g., 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 taking seats away from eligible students. For example, if an ineligible person registers in June for a Term 1 or Term 2 winter session course, that seat would actually be held until we de-register the student at the start of Term 1 or Term 2.  Unfortunately, in the meantime, an eligible person may not get into the course. We want to deal with this in the summer, rather than during the first week of classes.

If you are eligible to register, but the registration system is preventing you, you should attempt to register on the wait list for the course (if possible). The system automatically orders students on the wait list by time of registration. However, please note that CPSC students get priority over others on the wait list.  

If you are prevented from getting onto a wait list and you believe you are eligible to take the course, let us know by submitting a registration webform

We'll move students into the course from each course's respective wait list in stages up to the start of term. 

Important:  Once term starts, some courses may have policies that give preference to wait-listed students who, for example, attend class or pass an entry quiz.  Please be sure to attend lectures from the very start of term and familiarize yourself with the wait list policies for the course.