Computing science honours

The honours program is suited for students who want to go deeper into the field of computing science and ensure that they have a significant research project - the honours thesis - as part of their undergraduate experience.  A minimum of 132 units are needed to graduate, of which 60 units must be from upper division (300-400 level) courses. Therefore, students will have to take additional electives to ensure that they have the required number of units to graduate. These additional electives can be taken in any discipline and at any time, subject to prerequisites and course availability. Please refer to the School of Computing Science section in the SFU calendar.


The table that follows is a suggested first- and second-year program plan.


  • Students are free to make changes to the sequence in which these courses are taken as long as course prerequisites are met. 
  • Only specifically required courses are listed below. In order to graduate in 4 years, studying 2 semesters per year, students need to select electives to ensure they have an average of 15-18 units (5-6 courses) per semester.
  • The schedule below represents a student beginning in Fall - some adjustments may be necessary based on course offerings in other semesters.
  • Students are strongly recommended to take three co-op terms in their academic career to better define their area of interest in Computing Science. To find out more about cooperative work experience, please visit the Computing Science cooperative education website.
  • Students with questions are strongly encouraged to contact an advisor. 
  • CMPT 120*
  • MATH 151 or 150A
  • MACM 101
  • CMPT 105WC
  • One Breadth course (WQB)B
  • CMPT 125
  • MATH 152
  • MATH 240 or 232E,
  • One Breadth course (WQB)B
  • One Elective Course
  • CMPT 225
  • CMPT 295
  • CMPT 210 
  • One Elective Course
  • One Breadth course (WQB)B
  • CMPT 276
  • STAT 271 
  • One Elective Course
  • Two (2) Breadth courses (WQB)B


*If you have programming experience, the School will allow you to take a knowledge test. The test will determine whether you can bypass CMPT 120 and move directly into CMPT 125.  For more information and to take the test, visit here

A. MATH 151 requires a prerequisite high school Math 12 grade of at least “A.” MATH 150 requires a  prerequisite high school Math 12 grade of at least “B+.”

B. See WQB course information here.

C. CMPT 105W offered most Fall and Spring Terms.

E. Students who want a more rigorous approach to Linear Algebra are encouraged to take MATH 240.

During completion of the majority of your 100 and 200 level courses, review your options for 300 and 400 level courses. Research the six areas of concentration and read course descriptions in the calendar.