In conjunction with the common degree requirements in Table I in "Degree Requirements," all Honours Computational Mathematics plans requires at least 26 math courses. Students not taking CS 115 or 135 must complete one additional 300- or 400-level math course. These overall requirements must include the Faculty core courses outlined in Table II in "Degree Requirements" and the following courses:
All of
MATH 237 Calculus 3 for Honours Mathematics or MATH 247 Calculus 3 (Advanced Level)
MATH 239 Introduction to Combinatorics or MATH 249 Introduction to Combinatorics (Advanced Level)
CM 271/AMATH 242/CS 371 Introduction to Computational Mathematics
CS 230 Introduction to Computers and Computer Systems or CS 241 Foundations of Sequential Programs
CS 234 Data Types and Structures or CS 240 Data Structures and Data Management
Four of the following "core" courses
CM 339/CS 341 Algorithms
CM 340/CO 250 Introduction to Optimization
CM 352/AMATH 342 Computational Methods for Differential Equations
CM 361/STAT 341 Computational Statistics and Data Analysis
CM 375/CS 475 Computational Linear Algebra
Note: CM 339 requires CS 240 and 241.
Additional requirements for each separate plan are described below.
Notes:
- Students doing a minor in Economics may use the CM mathematics course requirements from either Honours Computational Mathematics or from Honours Computational Mathematics/Economics Option.
- Students doing a minor in Biology may use the CM mathematics course requirements from either Honours Computational Mathematics or from Honours Computational Mathematics/Bio-Medical Option.
- Students doing a minor in Physics or Earth Sciences may use the CM mathematics course requirements from either Honours Computational Mathematics or from Honours Computational Mathematics/Earth and Space Option.
Honours Computational Mathematics
Four additional courses, two from each of two course lists below:
Discrete Mathematical Algorithms
CM 432/CO 487 Applied Cryptography
CM 433/AMATH 447/CS 487 Introduction to Symbolic Computation
CM/PMATH 434 Techniques in Computational Number Theory
CO 456 Introduction to Game Theory
CO 485 The Mathematics of Public-Key Cryptography
CS 466 Algorithm Design and Analysis
CS 482 Computational Techniques in Biological Sequence Analysis
Computational Optimization
CM 441/CO 353 Computational Discrete Optimization
CM 442/CO 367 Nonlinear Optimization
CM 443/CO 370 Deterministic OR Models
CO 372 Portfolio Optimization Models
CO 450 Combinatorial Optimization
CO 452 Integer Programming
CO 454 Scheduling
Methods for Scientific Computing
CM 353/AMATH/BIOL 382 Computational Modeling of Cellular Systems
CM 452/AMATH 442 Computational Methods for Partial Differential Equations
CM/CS 473 Medical Image Processing
CM/CS 476 Numerical Computation for Financial Modeling
CS 483 Computational Techniques in Structural Bioinformatics
Computational Statistics and Data Analysis
CM 461/STAT 440 Computational Inference
CM 462/STAT 442 Data Visualization
CM 463/STAT 441 Statistical Learning - Classification
CM 464/STAT 444 Statistical Learning - Function Estimation
Three (1.5 units) non-math courses in an area of application of computational mathematics. At least one of these three courses must be at the 200-, 300-, or 400-level. These courses must be approved by a Computational Mathematics advisor.