Please note:
To view the Spring 2019 Academic Calendar go to www.sfu.ca/students/calendar/2019/spring.html
Mathematics Honours
This program leads to a bachelor of science (BSc) honours degree.
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.
Program Requirements
Students complete 120 units, as specified below.
Lower Division Requirements
Students complete either
both of
An elementary introduction to computing science and computer programming, suitable for students with little or no programming background. Students will learn fundamental concepts and terminology of computing science, acquire elementary skills for programming in a highlevel language and be exposed to diverse fields within, and applications of computing science. Topics will include: pseudocode, data types and control structures, fundamental algorithms, computability and complexity, computer architecture, and history of computing science. Treatment is informal and programming is presented as a problemsolving tool. Prerequisite: BC Math 12 or equivalent is recommended. Students with credit for CMPT 102, 128, 130 or 166 may not take this course for further credit. Students who have taken CMPT 125, 129, 130 or 135 first may not then take this course for further credit. Quantitative/BreadthScience.
Section  Instructor  Day/Time  Location 

D100 
Anne Lavergne 
Mo, We, Fr 9:30 AM – 10:20 AM 
AQ 3181, Burnaby 
D101 
Anne Lavergne 
We 10:30 AM – 11:20 AM 
ASB 9838, Burnaby 
D102 
Anne Lavergne 
We 10:30 AM – 11:20 AM 
ASB 9838, Burnaby 
D103 
Anne Lavergne 
We 11:30 AM – 12:20 PM 
ASB 9838, Burnaby 
D104 
Anne Lavergne 
We 11:30 AM – 12:20 PM 
ASB 9838, Burnaby 
D105 
Anne Lavergne 
We 12:30 PM – 1:20 PM 
ASB 9838, Burnaby 
D106 
Anne Lavergne 
We 12:30 PM – 1:20 PM 
ASB 9838, Burnaby 
D107 
Anne Lavergne 
We 1:30 PM – 2:20 PM 
ASB 9838, Burnaby 
D108 
Anne Lavergne 
We 1:30 PM – 2:20 PM 
ASB 9838, Burnaby 
A second course in computing science and programming intended for students studying mathematics, statistics or actuarial science and suitable for students who already have some background in computing science and programming. Topics include: a review of the basic elements of programming: use and implementation of elementary data structures and algorithms; fundamental algorithms and problem solving; basic objectoriented programming and software design; computation and computabiiity and specification and program correctness. Prerequisite: CMPT 102 or CMPT 120. Students with credit for CMPT 125 or 135 may not take this course for further credit. Quantitative.
(Students transferring into a math program should contact the math undergraduate advisor if they have already completed equivalent courses.)
or both of
An introduction to computing science and computer programming, using a systems oriented language, such as C or C++. This course introduces basic computing science concepts. Topics will include: elementary data types, control structures, functions, arrays and strings, fundamental algorithms, computer organization and memory management. Prerequisite: BC Math 12 (or equivalent, or any of MATH 100, 150, 151, 154, or 157). Students with credit for CMPT 102, 120, 128 or 166 may not take this course for further credit. Students who have taken CMPT 125, 129 or 135 first may not then take this course for further credit. Quantitative/BreadthScience.
A second course in systemsoriented programming and computing science that builds upon the foundation set in CMPT 130 using a systemsoriented language such as C or C++. Topics: a review of the basic elements of programming; introduction to objectoriented programming (OOP); techniques for designing and testing programs; use and implementation of elementary data structures and algorithms; introduction to embedded systems programming. Prerequisite: CMPT 130. Students with credit for CMPT 125, 126, or 129 may not take this course for further credit. Quantitative.
and all of
Using a mathematical software package for doing calculations in linear algebra. Development of computer models that analyze and illustrate applications of linear algebra. All calculations and experiments will be done in the Matlab software package. Topics include: largescale matrix calculations, experiments with cellular automata, indexing, searching and ranking pages on the internet, population models, data fitting and optimization, image analysis, and cryptography. Prerequisite: One of CMPT 102, 120, 126, 128 or 130 and one of MATH 150, 151, 154 or 157 and one of MATH 232 or 240. MATH 232 or 240 can be taken as corequisite. Students in excess of 80 units may not take MACM 203 for further credit. Quantitative.
Using a mathematical software package for doing computations from calculus. Development of computer models that analyze and illustrate applications of calculus. All calculations and experiments will be done in the Maple software package. Topics include: graphing functions and data, preparing visual aids for illustrating mathematical concepts, integration, Taylor series, numerical approximation methods, 3D visualization of curves and surfaces, multidimensional optimization, differential equations and disease spread models. Prerequisite: One of CMPT 102, 120, 126, 128 or 130 and MATH 251. MATH 251 can be taken as a corequisite. Students in excess of 80 units may not take MACM 204 for further credit. Quantitative.
Rectangular, cylindrical and spherical coordinates. Vectors, lines, planes, cylinders, quadric surfaces. Vector functions, curves, motion in space. Differential and integral calculus of several variables. Vector fields, line integrals, fundamental theorem for line integrals, Green's theorem. Prerequisite: MATH 152; or MATH 155 or MATH 158 with a grade of at least B. Recommended: It is recommended that MATH 240 or 232 be taken before or concurrently with MATH 251. Quantitative.
Section  Instructor  Day/Time  Location 

D100 
Ralf Wittenberg 
Mo, We, Fr 1:30 PM – 2:20 PM 
SSCC 9001, Burnaby 
OP01 

TBD 
Vector calculus, divergence, gradient and curl; line, surface and volume integrals; conservative fields, theorems of Gauss, Green and Stokes; general curvilinear coordinates and tensor notation. Introduction to orthogonality of functions, orthogonal polynomials and Fourier series. Prerequisite: MATH 240 or 232, and 251. MATH 240 or 232 may be taken concurrently. Students with credit for MATH 254 may not take MATH 252 for further credit. Quantitative.
Basic laws of probability, sample distributions. Introduction to statistical inference and applications. Prerequisite: or Corequisite: MATH 152 or 155 or 158. Students wishing an intuitive appreciation of a broad range of statistical strategies may wish to take STAT 100 first. Quantitative.
Section  Instructor  Day/Time  Location 

C100  Distance Education  
D100 
Tim Swartz 
We 11:30 AM – 12:20 PM Fr 10:30 AM – 12:20 PM 
AQ 3182, Burnaby AQ 3182, Burnaby 
OP01 

TBD 
and one of
Designed for students specializing in mathematics, physics, chemistry, computing science and engineering. Topics as for Math 151 with a more extensive review of functions, their properties and their graphs. Recommended for students with no previous knowledge of Calculus. In addition to regularly scheduled lectures, students enrolled in this course are encouraged to come for assistance to the Calculus Workshop (Burnaby), or Math Open Lab (Surrey). Prerequisite: PreCalculus 12 (or equivalent) with a grade of at least B+, or MATH 100 with a grade of at least B, or achieving a satisfactory grade on the Simon Fraser University Calculus Readiness Test. Students with credit for either MATH 151, 154 or 157 may not take MATH 150 for further credit. Quantitative.
Section  Instructor  Day/Time  Location 

C100  Distance Education  
D100 
Randall Pyke 
Mo 1:30 PM – 2:20 PM Tu, We, Fr 1:30 PM – 2:20 PM 
EDB 7618, Burnaby AQ 3005, Burnaby 
OP01 

TBD 
Designed for students specializing in mathematics, physics, chemistry, computing science and engineering. Logarithmic and exponential functions, trigonometric functions, inverse functions. Limits, continuity, and derivatives. Techniques of differentiation, including logarithmic and implicit differentiation. The Mean Value Theorem. Applications of differentiation including extrema, curve sketching, Newton's method. Introduction to modeling with differential equations. Polar coordinates, parametric curves. Prerequisite: PreCalculus 12 (or equivalent) with a grade of at least A, or MATH 100 with a grade of at least B, or achieving a satisfactory grade on the Simon Fraser University Calculus Readiness Test. Students with credit for either MATH 150, 154 or 157 may not take MATH 151 for further credit. Quantitative.
Designed for students specializing in the biological and medical sciences. Topics include: limits, growth rate and the derivative; elementary functions, optimization and approximation methods, and their applications; mathematical models of biological processes. Prerequisite: PreCalculus 12 (or equivalent) with a grade of at least B, or MATH 100 with a grade of at least C, or achieving a satisfactory grade on the Simon Fraser University Calculus Readiness Test. Students with credit for either MATH 150, 151 or 157 may not take MATH 154 for further credit. Quantitative.
Designed for students specializing in business or the social sciences. Topics include: limits, growth rate and the derivative; logarithmic, exponential and trigonometric functions and their application to business, economics, optimization and approximation methods; introduction to functions of several variables with emphasis on partial derivatives and extrema. Prerequisite: PreCalculus 12 (or equivalent) with a grade of at least B, or MATH 100 with a grade of at least C, or achieving a satisfactory grade on the Simon Fraser University Calculus Readiness Test. Students with credit for either MATH 150, 151 or 154 may not take MATH 157 for further credit. Quantitative.
Section  Instructor  Day/Time  Location 

D100 
Randall Pyke 
Mo, We, Fr 11:30 AM – 12:20 PM 
RCB IMAGTH, Burnaby 
OP01 

TBD 
and one of
Riemann sum, Fundamental Theorem of Calculus, definite, indefinite and improper integrals, approximate integration, integration techniques, applications of integration. Firstorder separable differential equations and growth models. Sequences and series, series tests, power series, convergence and applications of power series. Prerequisite: MATH 150 or 151; or MATH 154 or 157 with a grade of at least B. Students with credit for MATH 155 or 158 may not take this course for further credit. Quantitative.
Section  Instructor  Day/Time  Location 

D100 
Benjamin Adcock 
Mo, We, Fr 8:30 AM – 9:20 AM 
SSCB 9200, Burnaby 
OP01 

TBD 
Designed for students specializing in the biological and medical sciences. Topics include: the integral, partial derivatives, differential equations, linear systems, and their applications; mathematical models of biological processes. Prerequisite: MATH 150, 151 or 154; or MATH 157 with a grade of at least B. Students with credit for MATH 152 or 158 may not take this course for further credit. Quantitative.
Section  Instructor  Day/Time  Location 

D100 
Mahdieh Malekian 
Mo, We, Fr 8:30 AM – 9:20 AM 
AQ 3181, Burnaby 
OPO1 

TBD 
Designed for students specializing in business or the social sciences. Topics include: theory of integration, integration techniques, applications of integration; functions of several variables with emphasis on double and triple integrals and their applications; introduction to differential equations with emphasis on some special firstorder equations and their applications; sequences and series. Prerequisite: MATH 150 or 151 or 154 or 157. Students with credit for MATH 152 or 155 may not take MATH 158 for further credit. Quantitative.
and one of
Linear equations, matrices, determinants. Introduction to vector spaces and linear transformations and bases. Complex numbers. Eigenvalues and eigenvectors; diagonalization. Inner products and orthogonality; least squares problems. An emphasis on applications involving matrix and vector calculations. Prerequisite: MATH 150 or 151; or MACM 101; or MATH 154 or 157, both with a grade of at least B. Students with credit for MATH 240 make not take this course for further credit. Quantitative.
Section  Instructor  Day/Time  Location 

D100 
Randall Pyke 
Mo, We, Fr 2:30 PM – 3:20 PM 
SUR 2600, Surrey 
OP01 

TBD 
Linear equations, matrices, determinants. Real and abstract vector spaces, subspaces and linear transformations; basis and change of basis. Complex numbers. Eigenvalues and eigenvectors; diagonalization. Inner products and orthogonality; least squares problems. Applications. Subject is presented with an abstract emphasis and includes proofs of the basic theorems. Prerequisite: MATH 150 or 151; or MACM 101; or MATH 154 or 157, both with a grade of at least B. Students with credit for MATH 232 cannot take this course for further credit. Quantitative.
Section  Instructor  Day/Time  Location 

D100 
Ralf Wittenberg 
Mo, Fr 11:30 AM – 12:20 PM We 11:30 AM – 12:20 PM 
SWH 10041, Burnaby WMC 3260, Burnaby 
OPO1 

TBD 
and at least one of
Introduction to a variety of practical and important data structures and methods for implementation and for experimental and analytical evaluation. Topics include: stacks, queues and lists; search trees; hash tables and algorithms; efficient sorting; objectoriented programming; time and space efficiency analysis; and experimental evaluation. Prerequisite: (MACM 101 and ((CMPT 125 and 127), CMPT 129 or CMPT 135)) or (ENSC 251 and ENSC 252). Quantitative.
Section  Instructor  Day/Time  Location 

D100 
Thomas Shermer 
Mo, We, Fr 2:30 PM – 3:20 PM 
AQ 3181, Burnaby 
D101 
Thomas Shermer 
Th 10:30 AM – 11:20 AM 
ASB 9838, Burnaby 
D102 
Thomas Shermer 
Th 11:30 AM – 12:20 PM 
ASB 9838, Burnaby 
D103 
Thomas Shermer 
Th 12:30 PM – 1:20 PM 
ASB 9838, Burnaby 
D104 
Thomas Shermer 
Th 1:30 PM – 2:20 PM 
ASB 9838, Burnaby 
D105 
Thomas Shermer 
Fr 9:30 AM – 10:20 AM 
ASB 9838, Burnaby 
D106 
Thomas Shermer 
Fr 10:30 AM – 11:20 AM 
ASB 9838, Burnaby 
D107 
Thomas Shermer 
Fr 11:30 AM – 12:20 PM 
ASB 9838, Burnaby 
D108 
Thomas Shermer 
Fr 12:30 PM – 1:20 PM 
ASB 9838, Burnaby 
This course is a continuation of STAT 270. Review of probability models. Procedures for statistical inference using survey results and experimental data. Statistical model building. Elementary design of experiments. Regression methods. Introduction to categorical data analysis. Prerequisite: STAT 270. Quantitative.
+The following substitutions are also permitted.
They may not be used to satisfy the upper division requirements below.
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.
* strongly recommended
** with a B grade or better
Upper Division Requirements
Students complete at least 48 units of which at least 15 must be at the 400 level. Students complete all of
Firstorder differential equations, second and higherorder linear equations, series solutions, introduction to Laplace transform, systems and numerical methods, applications in the physical, biological and social sciences. Prerequisite: MATH 152; or MATH 155/158 with a grade of at least B, MATH 232 or 240. Quantitative.
Section  Instructor  Day/Time  Location 

D100 
Simone Brugiapaglia 
Mo, We, Fr 12:30 PM – 1:20 PM 
SSCC 9001, Burnaby 
D101 

We 2:30 PM – 3:20 PM 
WMC 2830, Burnaby 
D102 

We 3:30 PM – 4:20 PM 
WMC 2830, Burnaby 
D103 

Th 10:30 AM – 11:20 AM 
WMC 2830, Burnaby 
D104 

Th 11:30 AM – 12:20 PM 
WMC 2830, Burnaby 
D105 

Th 9:30 AM – 10:20 AM 
WMC 2830, Burnaby 
D106 

Th 12:30 PM – 1:20 PM 
WMC 2830, Burnaby 
D107 

Th 1:30 PM – 2:20 PM 
WMC 2830, Burnaby 
D109 

Mo 4:30 PM – 5:20 PM 
AQ 5037, Burnaby 
The integers and mathematical proof. Relations and modular arithmetic. Rings and fields, polynomial rings, the Euclidean algorithm. The complex numbers and the fundamental theorem of algebra. Construction of finite fields, primitive elements in finite fields, and their application. Prerequisite: MATH 240 (or MATH 232 with a grade of at least B). Students with credit for MATH 332 may not take this course for further credit. Quantitative.
Finite groups and subgroups. Cyclic groups and permutation groups. Cosets, normal subgroups and factor groups. Homomorphisms and isomorphisms. Fundamental theorem of finite abelian groups. Sylow theorems. Prerequisite: MATH 340 or 342 or 332. Students with credit for MATH 339 may not take this course for further credit.
Students will develop skills required for mathematical research. This course will focus on communication in both written and oral form. Students will write documents and prepare presentations in a variety of formats for academic and nonacademic purposes. The LaTeX document preparation system will be used. Course will be given on a pass/fail basis. Corequisite: MATH 499W.
An honours research project in mathematics is an original presentation of an area or problem in mathematics. A typical project is an original synthesis of knowledge generated from students research experience. A project can contain substantive, original mathematics, but need not. The presentation consists of a written report and an oral presentation both of which must be completed before the end of the exam period. Prerequisite: 18 credits of upper division MATH or MACM courses. Must be in an honours program with a GPA of at least 3.0. Corequisite: MATH 498. Writing.
and one of
Structures and algorithms, generating elementary combinatorial objects, counting (integer partitions, set partitions, Catalan families), backtracking algorithms, branch and bound, heuristic search algorithms. Prerequisite: MACM 201 (with a grade of at least B). Recommended: knowledge of a programming language. Quantitative.
Fundamental concepts, trees and distances, matchings and factors, connectivity and paths, network flows, integral flows. Prerequisite: MACM 201 (with a grade of at least B). Quantitative.
Model building using integer variables, computer solution, relaxations and lower bounds, heuristics and upper bounds, branch and bound algorithms, cutting plane algorithms, valid inequalities and facets, branch and cut algorithms, Lagrangian duality, column generation of algorithms, heuristics algorithms and analysis. Prerequisite: MATH 308. Quantitative.
An introduction to the theory and practice of errorcorrecting codes. Topics will include finite fields, polynomial rings, linear and nonlinear codes, BCH codes, convolutional codes, majority logic decoding, weight distribution of codes, and bounds on the size of codes. Prerequisite: MATH 340 or 332. Quantitative.
In addition to the above core requirement of 24 units, students must complete the requirements for at least one of the three concentrations below.
Algebra and Number Theory Concentration
Students complete at least 9 units from the following list of which at least 3 units must be at the 400 level.
Linear Algebra. Vector space and matrix theory. Prerequisite: MATH 340 or 332 or permission of the instructor. Students with credit for MATH 438 may not take this course for further credit. Quantitative.
Section  Instructor  Day/Time  Location 

D100 
Nathan Ilten 
We 3:30 PM – 4:20 PM Fr 2:30 PM – 4:20 PM 
WMC 2220, Burnaby AQ 5005, Burnaby 
D101 

We 4:30 PM – 5:20 PM 
WMC 2810, Burnaby 
The prime numbers, unique factorization, congruences and quadratic reciprocity. Topics include the RSA public key cryptosystem and the prime number theorem. Prerequisite: MATH 240 or 232, and one additional 200 level MATH or MACM course. Quantitative.
Section  Instructor  Day/Time  Location 

D100 
Imin Chen 
Mo 2:30 PM – 4:20 PM We 2:30 PM – 3:20 PM 
SSCC 9001, Burnaby SSCC 9001, Burnaby 
D101 

We 9:30 AM – 10:20 AM 
AQ 5018, Burnaby 
D102 

We 11:30 AM – 12:20 PM 
AQ 5037, Burnaby 
D103 

We 1:30 PM – 2:20 PM 
AQ 5030, Burnaby 
An introduction to the theory of fields, with emphasis on Galois theory. Prerequisite: MATH 340 or 332. Quantitative.
A study of ideals and varieties. Topics include affine varieties, ideals, Groebner bases, the Hilbert basis theorem, resultants and elimination, Hilbert's Nullstellensatz. irreducible varieties and prime ideals, decomposition of varieties, polynomial mappings, quotient rings, projective space and projective varieties. Prerequisite: MATH 340. Students who have taken this course as MATH 439 Special Topics may not complete this course for further credit.
An introduction to the theory and practice of errorcorrecting codes. Topics will include finite fields, polynomial rings, linear and nonlinear codes, BCH codes, convolutional codes, majority logic decoding, weight distribution of codes, and bounds on the size of codes. Prerequisite: MATH 340 or 332. Quantitative.
Data structures and algorithms for mathematical objects. Topics include long integer arithmetic, computing polynomial greatest common divisors, the fast Fourier transform, Hensel's lemma and padic methods, differentiation and simplification of formulae, and polynomial factorization. Students will use a computer algebra system such as Maple for calculations and programming. Prerequisite: CMPT 307 or MATH 332 or MATH 340. Quantitative.
An introduction to the subject of modern cryptography. Classical methods for cryptography and how to break them, the data encryption standard (DES), the advanced encryption standard (AES), the RSA and ElGammal public key cryptosystems, digital signatures, secure hash functions and pseudorandom number generation. Algorithms for computing with long integers including the use of probabilistic algorithms. Prerequisite: (CMPT 201 or 225) and one of (MATH 340 or 332 or 342); or CMPT 405. Students with credit for MACM 498 between Fall 2003 and Spring 2006 may not take this course for further credit. Quantitative.
Analysis and Optimization Concentration
Students complete at least 9 units from the following list of which at least 3 units must be at the 400 level.
A presentation of the problems commonly arising in numerical analysis and scientific computing and the basic methods for their solutions. Prerequisite: MATH 152 or 155 or 158, and MATH 232 or 240, and computing experience. Quantitative.
Section  Instructor  Day/Time  Location 

D100 
Benjamin Adcock 
Mo, We, Fr 10:30 AM – 11:20 AM 
RCB IMAGTH, Burnaby 
D101 

Mo 2:30 PM – 3:20 PM 
WMC 2830, Burnaby 
D102 

Mo 3:30 PM – 4:20 PM 
WMC 2830, Burnaby 
D103 

Tu 10:30 AM – 11:20 AM 
WMC 2830, Burnaby 
D104 

Tu 11:30 AM – 12:20 PM 
WMC 2830, Burnaby 
D105 

Tu 9:30 AM – 10:20 AM 
WMC 2830, Burnaby 
D106 

Tu 1:30 PM – 2:20 PM 
WMC 2830, Burnaby 
D107 

Mo 4:30 PM – 5:20 PM 
WMC 2830, Burnaby 
D108 

Mo 5:30 PM – 6:20 PM 
WMC 2830, Burnaby 
D109 

Mo 11:30 AM – 12:20 PM 
WMC 2830, Burnaby 
Fourier series, ODE boundary and eigenvalue problems. Separation of variables for the diffusion wave and Laplace/Poisson equations. Polar and spherical coordinate systems. Symbolic and numerical computing, and graphics for PDEs. Prerequisite: MATH 310; and one of MATH 251 with a grade of B+, or one of MATH 252 or 254. Quantitative.
Model building using integer variables, computer solution, relaxations and lower bounds, heuristics and upper bounds, branch and bound algorithms, cutting plane algorithms, valid inequalities and facets, branch and cut algorithms, Lagrangian duality, column generation of algorithms, heuristics algorithms and analysis. Prerequisite: MATH 308. Quantitative.
Firstorder linear equations, the method of characteristics. The wave equation. Harmonic functions, the maximum principle, Green's functions. The heat equation. Distributions and transforms. Higher dimensional eigenvalue problems. An introduction to nonlinear equations. Burgers' equation and shock waves. Prerequisite: MATH 310 and one of MATH 314, 320, 322, PHYS 384. An alternative to the above prerequisite is both of MATH 254 and MATH 310, both with grades of at least A. Quantitative.
Convergence in Euclidean spaces, Fourier series and their convergence, Legendre polynomials, Hermite and Laguerre polynomials. Prerequisite: MATH 232 or 240 and one of MATH 314, 320, 322, PHYS 384. Students with credit for MATH 420 or MATH 719 may not complete this course for further credit. Quantitative.
Metric spaces, normed vector spaces, measure and integration, an introduction to functional analysis. Prerequisite: MATH 320. Quantitative.
Discrete Mathematics Concentration
Students complete
Introduction to a variety of practical and important data structures and methods for implementation and for experimental and analytical evaluation. Topics include: stacks, queues and lists; search trees; hash tables and algorithms; efficient sorting; objectoriented programming; time and space efficiency analysis; and experimental evaluation. Prerequisite: (MACM 101 and ((CMPT 125 and 127), CMPT 129 or CMPT 135)) or (ENSC 251 and ENSC 252). Quantitative.
Section  Instructor  Day/Time  Location 

D100 
Thomas Shermer 
Mo, We, Fr 2:30 PM – 3:20 PM 
AQ 3181, Burnaby 
D101 
Thomas Shermer 
Th 10:30 AM – 11:20 AM 
ASB 9838, Burnaby 
D102 
Thomas Shermer 
Th 11:30 AM – 12:20 PM 
ASB 9838, Burnaby 
D103 
Thomas Shermer 
Th 12:30 PM – 1:20 PM 
ASB 9838, Burnaby 
D104 
Thomas Shermer 
Th 1:30 PM – 2:20 PM 
ASB 9838, Burnaby 
D105 
Thomas Shermer 
Fr 9:30 AM – 10:20 AM 
ASB 9838, Burnaby 
D106 
Thomas Shermer 
Fr 10:30 AM – 11:20 AM 
ASB 9838, Burnaby 
D107 
Thomas Shermer 
Fr 11:30 AM – 12:20 PM 
ASB 9838, Burnaby 
D108 
Thomas Shermer 
Fr 12:30 PM – 1:20 PM 
ASB 9838, Burnaby 
and at least 9 units from the following list of which at least 3 units must be at the 400 level.
An introduction to the subject of modern cryptography. Classical methods for cryptography and how to break them, the data encryption standard (DES), the advanced encryption standard (AES), the RSA and ElGammal public key cryptosystems, digital signatures, secure hash functions and pseudorandom number generation. Algorithms for computing with long integers including the use of probabilistic algorithms. Prerequisite: (CMPT 201 or 225) and one of (MATH 340 or 332 or 342); or CMPT 405. Students with credit for MACM 498 between Fall 2003 and Spring 2006 may not take this course for further credit. Quantitative.
Structures and algorithms, generating elementary combinatorial objects, counting (integer partitions, set partitions, Catalan families), backtracking algorithms, branch and bound, heuristic search algorithms. Prerequisite: MACM 201 (with a grade of at least B). Recommended: knowledge of a programming language. Quantitative.
Fundamental concepts, trees and distances, matchings and factors, connectivity and paths, network flows, integral flows. Prerequisite: MACM 201 (with a grade of at least B). Quantitative.
Model building using integer variables, computer solution, relaxations and lower bounds, heuristics and upper bounds, branch and bound algorithms, cutting plane algorithms, valid inequalities and facets, branch and cut algorithms, Lagrangian duality, column generation of algorithms, heuristics algorithms and analysis. Prerequisite: MATH 308. Quantitative.
Graph coloring, Hamiltonian graphs, planar graphs, random graphs, Ramsey theory, extremal problems, additional topics. Prerequisite: MATH 345. Quantitative.
An introduction to the theory and practice of errorcorrecting codes. Topics will include finite fields, polynomial rings, linear and nonlinear codes, BCH codes, convolutional codes, majority logic decoding, weight distribution of codes, and bounds on the size of codes. Prerequisite: MATH 340 or 332. Quantitative.
Analysis and design of data structures for lists, sets, trees, dictionaries, and priority queues. A selection of topics chosen from sorting, memory management, graphs and graph algorithms. Prerequisite: CMPT 225, MACM 201, MATH 151 (or MATH 150), and MATH 232 or 240.
Section  Instructor  Day/Time  Location 

D100 
Valentine Kabanets 
Mo, We, Fr 3:30 PM – 4:20 PM 
AQ 3181, Burnaby 
Models of computation, methods of algorithm design; complexity of algorithms; algorithms on graphs, NPcompleteness, approximation algorithms, selected topics. Prerequisite: CMPT 307.
Additional Electives
Students must complete an additional 15 upper division units. These units can be any upper division MATH or MACM courses or taken from the following list.
Review of discrete and continuous probability models and relationships between them. Exploration of conditioning and conditional expectation. Markov chains. Random walks. Continuous time processes. Poisson process. Markov processes. Gaussian processes. Prerequisite: STAT 330, or all of: STAT 285, MATH 208W, and MATH 251. Quantitative.
They may include additional courses from the three Concentrations. The total number of 400 level units must be at least 15.
Science Electives
Students obtain at least six units in courses offered by the Faculty of Science outside the Department of Mathematics, and the Department of Statistics and Actuarial Science. Courses PHYS 100, BISC 100 and CHEM 110/111 cannot be used to satisfy this requirement.
Other Requirements
Of the total 120 units required for the honours, at least 60 units must be from the upper division. A cumulative grade point average (CGPA) of at least 3.00 and an upper division grade point average of at least 3.00 are required. These averages are calculated on all courses completed at the University. If both averages are at least 3.50, the designation 'first class' applies.
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 universitywide 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  
Q  Quantitative 
6 
Q courses may be lower or upper division  
B  Breadth 
18 
Designated Breadth  Must be outside the student’s major subject, and may be lower or upper division 6 units Social Sciences: BSoc 6 units Humanities: BHum 6 units Sciences: BSci 
6 
Additional Breadth  6 units outside the student’s major subject (may or may not be Bdesignated 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.