See Bachelor of Computer Science and Bachelor of Mathematics Academic Plan Combinations for a description of joint plan requirements. Note that both specialization areas designated in such joint plans must be disciplines within the Faculty of Mathematics.
One of
MATH 239 Introduction to Combinatorics
MATH 249 Introduction to Combinatorics (Advanced Level)
One of
CO 250 Introduction to Optimization
CO 255 Introduction to Optimization (Advanced Level)
Four additional courses chosen from
CO 330 Combinatorial Enumeration
CO 331 Coding Theory
CO 342 Introduction to Graph Theory
CO 351 Network Flow Theory
CO 353 Computational Discrete Optimization
CO 367 Nonlinear Optimization
CO 430 to CO 487, excluding CO 480
All of
PMATH 336 Introduction to Group Theory with Applications or PMATH 347 Groups and Rings
Three of
MATH 237 Calculus 3 for Honours Mathematics or MATH 247 Calculus 3 (Advanced Level)
AMATH 331/PMATH 331 Applied Real Analysis
AMATH 332/PMATH 332 Applied Complex Analysis
CS 341 Algorithms
CS 360 Introduction to the Theory of Computing
CS 466 Algorithm Design and Analysis
PMATH 334 Introduction to Rings and Fields with Applications or PMATH 348 Fields and Galois Theory
PMATH 340 Elementary Number Theory
Note: CS 466 is open only to CS joint majors.