Computing Science Undergraduates

Our computing science programs give you the knowledge, practical experience and in-demand skills to take advantage of one of the most dynamic and diverse, and lucrative job markets out there.

Computing Science Program Requirements

The School of Computing Science offers a variety of undergraduate degrees that allow students to follow their interests. Types of programs offered include:

  • Majors - Computing Science & Software Systems
  • Joint Majors - Math, Business, Linguistics, and Molecular Biology & Biochemistry
  • Dual Degrees
  • Honours Options
  • Diploma, Minor & Certificate

Program Requirements

COMPUTING SCIENCE MAJOR

The Computing Science Major is a 4-year degree consisting of a minimum of 120 units to graduate. Students may follow the course planners below to focus on one of Artificial Intelligence, Computing Systems, Programming Languages and Software, Information Systems, Theoretical Computing Science or Visual and Interactive Computing. In their graduating term, students who complete any one of the concentration course planners are eligible to request a letter from the School of Computing Science indicating that they have completed the respective concentration. 

Lower Division Requirement

Students must complete approximately 51-51 lower division courses in CMPT, MATH, and STATS.  

Students must also complete lower division WQB electives to complete the WQB requirements.

UPPER DIVISION REQUIREMENT

Students must complete 45 units of upper division coursework to complete the degree, which is broken down into:

  • Breadth - 15 units from Table I (which include 307) from five different concentration areas
  • Depth - 12 units of additional CMPT courses numbered CMPT 400 or above
  • BSc - MACM 316 + two additional courses chosen from Table I, Table II or Table III
  • Writing - CMPT 376W

Additional credits to reach an overall total of 45 upper division units. See specific requirements on the SFU Calendar page.

View Calendar

SOFTWARE SYSTEMS

Software Systems (SoSy) is a program within the School of Computing Science, that offers courses at both the Surrey and Burnaby campuses. SoSy is a practical, hands-on program delivered through lectures, team projects and a capstone project. Graduates have a solid understanding of the software development lifecycle from specification through development and verification and on into maintenance. The program curriculum is divided into three areas: fundamentals, systems, and software engineering.

Lower Division Courses

Students must complete approximately 57-58 lower division courses in CMPT, MATH, and STATS.  

Students must also complete lower division WQB electives to complete the WQB requirements.

Upper division requirement

Students must complete 42 units of computing science coursework at the upper division level, which is broken down into:

  • Fundamentals - 6 units
  • Systems - 12 units
  • Software - 12 units
  • Depth - 6 units
  • Capstone - 6 units

Students must completie additional upper division coursework to reach overall 45 units.

View Calendar

SECOND DEGREE

Students in the Second Degree program must complete the upper division requirements of the computing major. Total second degree program requirements add up to 45 upper division units which include the 42 units of specified course work required by the computing science major (or, alternatively, including the 30 upper division units specified for the major with a BA).

Lower Division Courses

For most second degree students, some of the lower division course requirements will be waived due to work completed previously. Students must seek course substitution waivers from the School for any prior equivalent coursework. Note that lower division (100 and 200) courses are not graduation requirements, but students need to obtain appropriate pre-requisites for their desired upper division (300 and 400) courses.

Upper Division Requirement

Students must complete 45 units of upper division coursework to complete the degree, which is broken down into:

  • Breadth - 15 units from Table I (which include 307) from five different concentration areas
  • Depth - Twelve units of additional CMPT courses numbered CMPT 400 or above must be completed
  • BSc Requirement - MACM 316 + two additional courses chosen from Table I, Table II or Table III
  • Writing - CMPT 376W

Plus, additional credits to reach an overall total of 45 upper division units.

View Calendar

Dual Degree Bachelor-Master

Earn two degrees from top-ranked universities (Bachelor of Science in Computing Science from SFU, Master of Finance in Financial Technology from Zhejiang University).

Lower Division Requirements

Students must complete lower division courses in CMPT, MATH, BUS, ECON, and HIST.

Students with no prior knowledge of Chinese languages complete:

  • CHIN 180
  • CHIN 181
  • CHIN 280
  • CHIN 281

Students with prior knowledge are assessed for placement. May need to take one or more of the following:

  • CHIN 190
  • CHIN 191
  • CHIN 290
  • CHIN 291
  • CHIN 390

Upper division requirement

By default, the SFU credential awarded by completion of the requirements outlined below is bachelor of science with major in computing science. However, students may choose instead to apply the ZIBS credit towards any other major, joint major, honours or joint honours program offered by the School of Computing Science, provided that the requirements of the chosen program are fully met.

  • Breadth - Complete five required upper division CMPT courses
  • Depth - Students complete 24 additional upper division CMPT units, including at least nine units at the CMPT 400 level or above.

View Calendar

HONOURS OPTION

The honours program is suited for students who want to go deeper into the field of computing science.  A minimum of 132 units are needed to graduate, of which 60 units must be from upper division (300-400 level) courses. Students must achieve a graduation grade point average of at least 3.00.

Lower Division Requirement

Students must complete approximately 55-56 lower division credits, which includes a blend of CMPT, MATH, STATS and WQB electives.

Upper Division Requirement

Students are required to bring the total upper division units in CMPT/MACM courses to at least 50 units within the minimum of 60 upper division units.

  • Breadth - One course in each of the six Table I areas of concentration
  • Depth - Eighteen units of additional CMPT courses - at least 12 unit of which must be numbered 400 or above.
  • Research - Six units of research courses
  • BSc - MACM 316 + two additional courses chosen from Table I, II or III
  • Writing - CMPT 376W

Additional credits to reach an overall total of 45 upper division units.

View Calendar

Joint Degrees

Calculate

Mathematics

Students complete 120 units of coursework which blends computing science and mathmatics.

Microbiology

Biology & Biochemistry

Students complete 120 units of coursework which blends computing science and molecular biology and biochemistry.

Monitoring

Business

Students complete 120 units of coursework which blends computing science with business information systems.

Forum

Linguistics

Students complete 120 units of coursework which blends computing science with linguistics.

Diploma, Minor & Certificate

Post-Baccalaureate Diploma

Students complete at least 30 units of CMPT coursework, which includes the following or equivalent:

Students complete additional upper division courses to total at least 30 units.  

Learn More

Computing Science Minor

The minor consists of 18 units of CMPT coursework, including:

Lower Division Requirement

  • CMPT 225  

Upper Division Requirement

  • 15 units of upper division CMPT or MACM courses

Learn More

Computing Science Certificate

Students must complete 18 units of CMPT/MACM courses including:

Lower Division Requirement

  • CMPT 225

Upper Division Requirement

  • 3 units must be chosen from Table I list.

Learn More

Planned Course Offerings

Computing Science Planned course offerings (2023-2025)

View here

Degree Planners

View our forms page for useful degree planners

view here

SOSY Capstone

Software Systems Capstone Projects (Capstones) provide SoSy students opportunities to apply their software systems skills to significant projects of depth and/or breadth that require contemporary knowledge of systems and software system development. Through collaboration with industry, non-profits, or academic research labs, students will be able to develop software projects that they can be proud to publicize.

Learn more