Students in this plan must fulfil all the requirements in Table I and Table II. This must include at least 26 math courses, and the following specific requirements:
One of
MATH 237 Calculus 3 for Honours Mathematics
MATH 247 Calculus 3 (Advanced Level)
One of
MATH 239 Introduction to Combinatorics
MATH 249 Introduction to Combinatorics (Advanced Level)
All of
AMATH 242/CS 371 Introduction to Computational Mathematics
One of
CS 230 Introduction to Computers and Computer Systems
CS 241 Foundations of Sequential Programs
One of
CS 234 Data Types and Structures
CS 240 Data Structures and Data Management
Notes:
CS 240 requires CS 245 and CS 246 as prerequisites, CS 241 requires CS 246 as a prerequisite.
CS 240 and CS 241 have restricted access for non-CS majors.
Four of the following "core" courses
AMATH 342 Computational Methods for Differential Equations
CO 250 Introduction to Optimization or CO 255 Introduction to Optimization (Advanced Level)
CS 245 Logic and Computation or PMATH 330 Introduction to Mathematical Logic
CS 246 Object-Oriented Software Development
CS 475 Computational Linear Algebra
STAT 340 Computer Simulation of Complex Systems or STAT 341 Computational Statistics and Data Analysis
Note: CS 245 and CS 246 require CS 136 as a prerequisite.
Four additional courses from
AMATH 382/BIOL 382 Computational Modelling of Cellular Systems
AMATH 442 Computational Methods for Partial Differential Equations
CO 351 Network Flow Theory
CO 353 Computational Discrete Optimization
CO 367 Nonlinear Optimization
CO 370 Deterministic OR Models
CO 372 Portfolio Optimization Models
CO 450 Combinatorial Optimization
CO 452 Integer Programming
CO 454 Scheduling
CO 456 Introduction to Game Theory
CO 485 The Mathematics of Public-Key Cryptography
CO 487 Applied Cryptography
CS 341 Algorithms
CS 451 Data-Intensive Distributed Computing
CS 466 Algorithm Design and Analysis
CS 476 Numerical Computation for Financial Modeling
CS 480 Introduction to Machine Learning
CS 482 Computational Techniques in Biological Sequence Analysis
CS 485 Statistical and Computational Foundations of Machine Learning
CS 487 Introduction to Symbolic Computation
PMATH 370 Chaos and Fractals
STAT 440 Computational Inference
STAT 441 Statistical Learning - Classification
STAT 442 Data Visualization
STAT 444 Statistical Learning - Function Estimation
Note: CS 341, CS 451, CS 466, CS 480, and CS 485 have restricted access for non-CS majors.
Three (1.5 units) non-math courses from one of the following departments:
Economics
any one Science department
any one Engineering department
Note: Engineering courses may not be open to Mathematics students or may not easily fit schedules.
At least one of these three courses must be at the 200-, 300-, or 400-level. Other course concentrations may be eligible subject to approval by a Computational Mathematics advisor.