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.

SUGGESTED LOWER DIVISON COURSES

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

Notes:

  • 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. 
 
For students with  a strong Math background
For students who want to build their Math background
Fall
  • CMPT 120
  • MATH 151 or 150A
  • MACM 101
  • One Writing course (WQB) or FAL X99B
  • CMPT 120
  • MATH 150
  • One Writing course (WQB) or FAL X99B 
  • One Breadth course (WQB)
Spring
  • CMPT 125 + 127C
  • CMPT 150
  • MATH 152
  • One Breadth course (WQB)
  • One Writing Course if FAL X99 was required
  • CMPT 125+CMPT 127C
  • MACM 101
  • MATH 152
  • One Breadth course (WQB)
Fall
  • CMPT 225
  • CMPT 250
  • STAT 270 or BUEC 232D
  • One Breadth course (WQB)
  • CMPT 150
  • CMPT 225
  • BUEC 232 or STAT 270D
  • MATH 232 or 240E
Spring
  • CMPT 275
  • MACM 201,
  • MATH 240 or 232E,
  • Two Breadth courses (WQB)
  • CMPT 275
  • CMPT 250
  • MACM 201
  • One Breadth course (WQB)

 

 

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 125 and 127 are both required courses.  These courses are intended for students who will major in computing science or a related program as they build on the skills developed in CMPT 120.  CMPT 125 covers the theoretical aspects of computing science and CMPT 127 covers the more practical (programming) aspects of computing science.  These courses are co-requisites and must be taken in tandem in the same semester.

D. Students have the option of using STAT 270 or BUEC 232 to satisfy program requirements. Students interested in taking CMPT 305 must take STAT 270.

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.

Refer to the Graduation Planning forms for required courses in your program.