List of Required Undergraduate Courses

Students entering graduate studies in Computer Science come from a variety of backgrounds. A varied background is often an asset for Computer Science research and the varied background of our graduate students contributes positively to our graduate program as a whole. However, prospective students who have a 4-year Bachelor's degree in discipline other than Computer Science, or its equivalent, must still have an adequate background in Computer Science to undertake graduate work in Computer Science.

The following selection of courses offered by the Computer Science department is intended for students with related background (e.g. mathematics or physics). When considering an application, the Computer Science department normally expects that an applicant has 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. Out 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, 340, 404
Graphics & Human Computer Interaction: CPSC 314, 344, 424, 426, 444
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

For admission to graduate studies in Computer Science for students without a background in Computer Science 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, 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.

a place of mind, The University of British Columbia


ICICS/CS Building 201-2366 Main Mall
Vancouver, B.C. V6T 1Z4 Canada
Tel: 604-822-3061 | Fax: 604-822-5485
Undergrad program:
Graduate program:

Emergency Procedures | Accessibility | Contact UBC | © Copyright The University of British Columbia