Academic Schedule

Below is a sample schedule for the BCS (ICS) program.

Your schedule will likely differ (e.g. taking ENGL 110 rather than ENGL 112 or extending the degree to take an extra academic term), and depending on the timing of course offerings, may have to differ.

New BCS students: For detailed requirements for the program, please see the mail sent to you on admission to BCS, the BCS calendar entry and (for a quick but fairly thorough summary) the BCS graduation checklist.

Academic Term I

  • ENGL 112 - Strategies for University Writing
  • CPSC 110 - Computation, Programs and Programming
  • STAT 203 - Statistical Methods
  • MATH 180 - Calculus I (derivatives)

Academic Term II

  • CPSC 121 - Models of Computation
  • CPSC 210 - Software Construction
  • Bridging Module course (3 credits)
  • ENGL 301 - Technical Writing

Academic Term III (Summer Term; note that summer course offerings are particularly variable)

  • CPSC 221 - Basic Algorithms and Data Structures
  • CPSC 213 - Introduction to Computer Systems
  • CPSC 313 or CPSC 320 or other CPSC 3xx elective (depending on summer schedule)

Academic Term IV

  • CPSC 310 - Introduction to Software Engineering 
  • CPSC 313 or 320
  • CPSC 3xx - 3 credits of CPSC electives numbered 300 or above
  • Bridging Module courses (6 credits)

Academic Term V

  • CPSC 3xx - 3 credits of CPSC electives numbered 300 or above
  • CPSC 4xx - 6 credits of CPSC electives numbered 400 or above
  • Bridging Module courses (6 credits)


  1. if you take the Co-op option, you need to complete CPSC 298 and 299 work terms, but these may not be used to fulfill any other degree requirements, including exemptions. Normally, these work terms occur after academic terms III or IV and typically not during the first summer of the program.
  2. If you have integral calculus as a prerequisite and want to continue in MATH or STAT, we advise you take STAT 200 instead of STAT 203. (Upper-year STAT courses make good bridging modules.)
  3. Students without either 80% or more in BC high school MATH 12 or 73% or more on the BC high school MATH 12 provincial examination must either obtain a satisfactory score on UBC MATH's Basic Math Skills Test or take MATH 110. For the Test schedule and rules, contact the MATH department. MATH 110 spans two terms and is 6 credits, but you can use the first 3 credits to replace MATH 180 and the remaining 3 to replace an exempted lower-level course (if you have one).


You may be exempt from some of the lower-level (1xx or 2xx) required courses and the upper-level communication requirement if you have taken its equivalent, prior to entering the BCS program.

For example, applicants who have completed Introductory Calculus would be exempt from MATH 180. Any 1st or 2nd year exempted course can be replaced by any other 3-credit course (1st or 2nd year or above) that you haven't taken before. (This means 4-credit exempted courses need only be replaced by 3 credits.) An exemption from the upper-level communication requirement must be replaced with a 3-credit course numbered 300 or above. Typical uses for exemption replacements include prerequisites for CPSC or bridging electives and additional CPSC courses.

Critically, without specific permission (usually because a course was taken long ago and not used recently), you may not receive credit for a course of which you have already taken an equivalent.

Are there any courses that won't replace an exemption?

Exemptions are technically subject to the BCS program administrators' approval. Don't take a course that is interesting, yet trivial/irrelevant. 

You also need to get credit for the course. Note that:

  • UBC will not give you credit for a course (exemption replacement or otherwise) whose equivalent you've already completed in a previous degree
  • A number of courses are "credit-excluded" with other courses in Science.  See the Faculty of Science Credit Exclusion List
  • You will not receive credit for taking CPSC 100, CPSC 101, CPSC 103, CPSC 259, CPSC 260, CPSC 261, CPSC 301, or APSC 160 as part of your BCS degree. CPSC 189 is worth only 1 credit and so must be grouped with 2 additional credits to count as a "course" for BCS (at which point it could only be usable as an exemption replacement)

Unclassified UBC Credits

If you've taken courses directly relevant to the BCS program at UBC as an unclassified ("UNCL") student just prior to BCS, the BCS Director can approve up to 12 credits of these courses for inclusion in your BCS program. (Most often, these are required courses such as CPSC 110.) Courses taken outside of a UBC UNCL program are not eligible for inclusion.

Mik Kersten
UBC Computer Science alumnus Mik Kersten has received an investment injection of $100 million from Sumeru Equity Partners for his ultra-successful spinoff company, Tasktop. He shares his journey... “I was ten when we escaped from Poland and moved to Ottawa. I graduated from high school there, then hopped on my motorcycle to drive out to British Columbia to start my anthropology degree at UBC,” Kersten said. He quickly became entranced with anthropology and evolution. “The theme of my cohort was ‘nature versus nurture.’ Through that, I came to realize how we are evolving and thinking, and that
Ghislaine Chan
As Vice President of Software Engineering at Broadridge Financial, UBC CS Alumna Ghislaine Chan’s days are very full. And that seems to be right up her alley. Ghislaine has long been passionate about contributing in meaningful ways, which is evident with a glance at her robust education and work history. Since she graduated from UBC Computer Science (CS) in 2000, Ghislaine has been steadily building her career at Broadridge Financial, a global Fintech leader. Her success story is not atypical for UBC Computer Science alumni. Most land well. “I’ve always loved science and math,” said Ghislaine
Elaine Chang
Elaine Chang has a passion for learning, growing from different experiences to another, and she’s equally excited about sharing what she knows with others. These traits make her uniquely suited to her work as a Senior Program Manager at Microsoft, where she combines her love of technology with business applications to help create cutting-edge software products. Wearing multiple hats in this role, Elaine works with diverse groups, displaying a great deal of flexibility and willingness to adapt.
Minutes from her computer science lab, Leigh-Anne Mathieson takes a research break at UBC's treetop walkway
Part 6 of the “Made on Haida Gwaii” Series by April Diamond Dutheil. “Big complex problems don’t scare me anymore, they’re exciting,” tells computer scientist Leigh-Anne Mathieson.
Andy Warfield
UBC Assistant Professor of Computer Science Andy Warfield has won awards that range from the UBC Terrific TA Award to an Engineering and Physical Sciences Research Council Studentship, a Cambridge Commonwealth Scholarship, and most recently, the prestigious Sloan Research Fellowship. He laughs outright, though, at the suggestion that somehow he was destined from a young age to academic greatness. “Oh no, I was pretty disorganized as a high school student. When I applied to colleges it was under a kind of ‘total chance and random decision’ method.‘”