List of Required Undergraduate Courses

Our graduate applicants come from a variety of backgrounds. A varied background is often an asset for computer science research and it contributes positively to our graduate program as a whole. However, if you have a four-year Bachelor's degree in a discipline other than computer science, or its equivalent, you must still have an adequate background in computer Science to undertake graduate studies here.

The following selection of courses is intended for students with a related background (e.g. mathematics or physics). When we consider your application, we normally expect that you have successfully completed these courses or their equivalents at other institutions.

  • A basic mathematics and data structures course corresponding to CPSC 221, requiring a substantial amount of programming
  • An intermediate Algorithm Design and Analysis course corresponding to CPSC 320 

Further, students are expected to have at least four courses chosen from at least three of the following areas. Of the four courses, at least one must be at the 400-level. 

Artificial Intelligence:CPSC 322, 422, 425
Computer Architecture:CPSC 313, 418
Databases:CPSC 304, 368, 404
Graphics & Human Computer Interaction:CPSC 314, 344, 424, 426, 427, 444
Machine LearningCPSC 330, 340, 440
Operating Systems & Networking:CPSC 313, 317, 415, 416, 417
Programming Languages:CPSC 311, 312, 411
Scientific Computing:CPSC 302, 303, 402, 406
Social Impact of Computing:CPSC 430
Software Engineering:CPSC 310, 319, 410
Theoretical Computing:CPSC 420, 421, 445

No background in computer science?

Then we recommend the following two term program:

TERM 1:  CPSC 213, 221 and one of MATH {200, 223} or STAT 241 
TERM 2:  CPSC 320, plus four 3rd/4th year CPSC courses from at least three areas from the list above.

If you do not have the appropriate introductory programming course(s), it will be necessary to take CPSC 110 (or CPSC 103 + CPSC 107), 121, and 210 to obtain the necessary prerequisites for the courses specified in TERM 1. (You must meet the prerequisite requirements for all Computer Science courses you wish to take at UBC.) 
For assessment of previous experience or related courses taken elsewhere, please consult an Undergraduate Advisor in the Computer Science Department.

Note: A three-credit course at UBC is typically 3 hours of lectures per week for 13 weeks.

Students interested in this option should follow the UBC admission procedure established by UBC Enrolment Services.


1.  How long would I need to complete the required courses?

It varies from student to student, depending on the background, and whether the student is able to get into the courses that he or she needs.

2.  What are my chances of getting into the program after taking these courses?

Each year, we receive hundreds of applications from applicants who majored in computer science.  Our review process involves ranking applicants against one another in different areas of the department's research. Meeting the minimum requirements does not guarantee admission to our graduate program.



Last Updated