Please note:

To view the Spring 2025 Academic Calendar, go to www.sfu.ca/students/calendar/2025/spring.

Mathematics and Computing Science Joint Honours

Bachelor of Science

This program is offered co-operatively by the Department of Mathematics and the School of Computing Science. In general, students are expected to meet the requirements of both the department and the school with respect to admission, continuation and graduation requirements.

Prerequisite Grade Requirement

To enroll in a course offered by the Department of Mathematics, a student must obtain a grade of C- or better in each prerequisite course. Some courses may require higher prerequisite grades. Check the MATH course’s Calendar description for details.

Students will not normally be permitted to enroll in any course for which a D grade or lower was obtained in any prerequisite. No student may complete, for further credit, any course offered by the Department of Mathematics which is a prerequisite for a course the student has already completed with a grade of C- or higher, without permission of the department.

Computing science course entry requires a grade of C- or better in each prerequisite course. A minimum 2.40 CGPA is required for 200, 300 and 400 division computing courses.

Program Requirements

The program is subject to Faculty of Science and University regulations. Course and prerequisite admission is subject to departmental requirements.

Faculty of Applied Sciences residency requirements apply to the computing science courses used toward the program.

Students complete at least 120 units of which at least 60 units are at the upper division level as specified below.

Lower Division Requirements

Complete both of

CMPT 120 - Introduction to Computing Science and Programming I (3)
CMPT 125 - Introduction to Computing Science and Programming II (3)

or both of 

CMPT 130 - Introduction to Computer Programming I (3)
CMPT 135 - Introduction to Computer Programming II (3)

and all of

CMPT 201 - Systems Programming (4)
CMPT 225 - Data Structures and Programming (3)
CMPT 276 - Introduction to Software Engineering (3)
CMPT 295 - Introduction to Computer Systems (4)
MACM 101 - Discrete Mathematics I (3)
MACM 201 - Discrete Mathematics II (3)
MACM 203 - Computing with Linear Algebra (2) +
MACM 204 - Computing with Calculus (2) +
MATH 242 - Introduction to Analysis I (3)
MATH 251 - Calculus III (3)
STAT 270 - Introduction to Probability and Statistics (3)

and one of

MATH 150 - Calculus I with Review (4)
MATH 151 - Calculus I (3) **
MATH 154 - Mathematics for the Life Sciences I (3) ++
MATH 157 - Calculus I for the Social Sciences (3) ++

and one of

MATH 152 - Calculus II (3) **
MATH 155 - Mathematics for the Life Sciences II (3) ++
MATH 158 - Calculus II for the Social Sciences (3) ++

and one of

MATH 232 - Applied Linear Algebra (3) ++
MATH 240 - Algebra I: Linear Algebra (3) **

** strongly recommended

+ The following substitutions are also permitted. They may not also be used to satisfy the upper division requirements. MACM 409 - Numerical Linear Algebra: Algorithms, Implementation and Applications (3) for MACM 203. MACM 401 - Introduction to Computer Algebra (3) for MACM 204. MACM 442 - Cryptography (3) for MACM 204.

++ with a B grade or better

Upper Division Requirements

Students complete 51 units, including all of

CMPT 307 - Data Structures and Algorithms (3)
CMPT 308 - Computability and Complexity (3)
CMPT 405 - Design and Analysis of Computing Algorithms (3)
MACM 316 - Numerical Analysis I (3)
MATH 308 - Linear Optimization (3)
MATH 340 - Algebra II: Rings and Fields (3)
MATH 345 - Introduction to Graph Theory (3)

and two of

CMPT 361 - Introduction to Visual Computing (3)
CMPT 371 - Data Communications and Networking (3)
CMPT 379 - Principles of Compiler Design (3)

and one of

MATH 309 - Continuous Optimization (3)
MATH 348 - Stochastic Modelling and Simulation (3)
MATH 360 - Introduction to Biomathematics (3)

and additional course work to total 27 upper division MATH units and 24 upper division CMPT units including core requirements. MACM courses are counted in an alternating fashion towards the MATH and CMPT requirements, starting with the first MACM course completed counting towards either MATH or CMPT. 18 units must be completed at the 400 division or higher, including at least six units each of CMPT and MATH.

Students are encouraged to take either

CMPT 498 - Honours Research Project (6)

or both of

MATH 498 - Communication and Research Skills in the Mathematical Sciences (1)
MATH 499W - Honours Research Project (5)

Other Requirements

Of the total 120 units required for honours, at least 60 must be from the upper division.

The program is subject to Faculty of Science and University regulations. Course and prerequisite admission is subject to departmental requirements. MACM major graduation is contingent upon a cumulative grade point average (CGPA) and upper division grade point average (UDGPA) of 3.00 or better. Students must also achieve a 3.00 or better CGPA and UDGPA in each of the CMPT, MACM and MATH designations.

Admission, continuation and graduation in the MACM honours is contingent upon 3.00 or better on all relevant GPAs. Faculty of Applied Sciences residency requirements appy to the computing science courses used toward the program.

Co-operative Education and Work Experience

All computing science students are strongly encouraged to explore the opportunities that Work Integrated Learning (WIL) can offer. Please contact a computing science or mathematics co-op advisor during the first year of studies to ensure that you have all of the necessary courses and information to help plan for a successful co-op experience.

Visit http://www.cs.sfu.ca/undergraduate/co-op.html for more computing science information, or for mathematics, http://www.sfu.ca/coop/contact#science.

University Honours Degree Requirements

Students must also satisfy University degree requirements for degree completion.

Writing, Quantitative, and Breadth Requirements

Students admitted to Simon Fraser University beginning in the fall 2006 term must meet writing, quantitative and breadth requirements as part of any degree program they may undertake. See Writing, Quantitative, and Breadth Requirements for university-wide information.

WQB Graduation Requirements

A grade of C- or better is required to earn W, Q or B credit

Requirement

Units

Notes
W - Writing

6

Must include at least one upper division course, taken at Simon Fraser University within the student's major subject; two courses (minimum three units each)

Q - Quantitative

6

Q courses may be lower or upper division; two courses (total six units or more)
B - Breadth

18

Designated Breadth

Must be outside the student's major subject, and may be lower or upper division:

Two courses (total six units or more) Social Sciences: B-Soc
Two courses (total six units or more) Humanities: B-Hum
Two courses (total six units or more) Sciences: B-Sci

6

Additional Breadth

Two courses (total six units or more) outside the student's major subject (may or may not be B-designated courses, and will likely help fulfil individual degree program requirements).

Students choosing to complete a joint major, joint honours, double major, two extended minors, an extended minor and a minor, or two minors may satisfy the breadth requirements (designated or not designated) with courses completed in either one or both program areas.

Residency Requirements and Transfer Credit

  • At least half of the program's total units must be earned through Simon Fraser University study.
  • At least two thirds of the program's total upper division units must be earned through Simon Fraser University study.

Please see Faculty of Applied Sciences Residency Requirements for further information.

Elective Courses

In addition to the courses listed above, students should consult a Mathematics or Computing Science advisor to plan the remaining required elective courses.