Computing Science Major

A minimum of 120 units are needed to graduate, of which 45 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 for more details.

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 units (5 courses) per semester.
  • Students with questions are strongly encouraged to contact an advisor. 
  • 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.
 
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 Elective Course
  • One Writing course (WQB) or FAL X99B
  • CMPT 120
  • MATH 150
  • One Breadth course (WQB)
  • One Elective Course
  • One Writing course (WQB) or FAL X99B
Spring
  • CMPT 125 + 127C
  • MATH 152
  • One Breadth course (WQB)
  • One Elective Course
  • One Writing Course if FAL X99 was required
  • CMPT 125+CMPT 127C
  • MACM 101
  • MATH 152
  • One Elective Course
  • One Writing Course if FAL X99 was required
Fall
  • CMPT 225
  • CMPT 295
  • MATH 240 or 232E,
  • One Elective Course
  • One Breadth course (WQB)
  • CMPT 225
  • CMPT 295
  • MATH 232 or 240E
  • One Elective Course
  • One Breadth courses (WQB)
Spring
  • CMPT 276
  • MACM 201,
  • STAT 270 or BUEC 232D
  • One Elective Course
  • One Breadth course (WQB)
  • CMPT 276
  • MACM 201
  • BUEC 232 or STAT 270D
  • One Elective Course
  • One Breadth courses (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.