Students in this plan must fulfill 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

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

AMATH 382/BIOL 382 Computational Modeling of Cellular Systems

AMATH 442 Computational Methods for Partial Differential Equations

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 482 Computational Techniques in Biological Sequence Analysis

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, and CS 466 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.