uwloo

Combinatorics and Optimization (CO)

38 undergraduate courses in the 2026–27 Undergraduate Calendar, and 46 graduate courses in the Fall 2026 Graduate Calendar.

Undergraduate

CO 227 Introduction to Optimization (Non-Specialist Level)0.50 units

A broad introduction to the field of optimization, discussing applications, and solution techniques. Mathematical models for real life applications; algorithms: simplex, cutting plane, and branch & bound; linear programming duality.

Prerequisites
  • Must have completed at least 1 of the following:
    • MATH106 - Applied Linear Algebra 1 (0.50)
    • MATH114 - Linear Algebra for Science (0.50)
    • MATH115 - Linear Algebra for Engineering (0.50)
    • MATH136 - Linear Algebra 1 for Honours Mathematics (0.50)
    • MATH146 - Linear Algebra 1 (Advanced Level) (0.50)
Antirequisites
  • Not completed nor concurrently enrolled in any of the following:
    • CO250 - Introduction to Optimization (0.50)
    • CO255 - Introduction to Optimization (Advanced Level) (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 250 Introduction to Optimization0.50 units

A broad introduction to the field of optimization, discussing applications, and solution techniques. Mathematical models for real life applications; algorithms; aspects of computational complexity; geometry; linear programming duality, focusing on the development of algorithms.

Prerequisites
  • Complete all of the following
    • Complete 1 of the following
      • Must have completed at least 1 of the following:
        • MATH136 - Linear Algebra 1 for Honours Mathematics (0.50)
        • MATH146 - Linear Algebra 1 (Advanced Level) (0.50)
      • Earned a minimum grade of 70% in at least 1 of the following:
        • MATH106 - Applied Linear Algebra 1 (0.50)
        • MATH114 - Linear Algebra for Science (0.50)
        • MATH115 - Linear Algebra for Engineering (0.50)
    • Earned a minimum cumulative overall average of 60
Antirequisites
  • Not completed nor concurrently enrolled in any of the following:
    • CO227 - Introduction to Optimization (Non-Specialist Level) (0.50)
    • CO255 - Introduction to Optimization (Advanced Level) (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 255 Introduction to Optimization (Advanced Level)0.50 units

Linear optimization: feasibility theorems, duality, the simplex algorithm. Discrete optimization: integer linear programming, cutting planes, network flows. Continuous optimization: local and global optima, feasible directions, convexity, necessary optimality conditions.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • MATH235 - Linear Algebra 2 for Honours Mathematics (0.50)
      • MATH245 - Linear Algebra 2 (Advanced Level) (0.50)
    • Must have completed at least 1 of the following:
      • MATH237 - Calculus 3 for Honours Mathematics (0.50)
      • MATH247 - Calculus 3 (Advanced Level) (0.50)
Antirequisites
  • Not completed nor concurrently enrolled in any of the following:
    • CO227 - Introduction to Optimization (Non-Specialist Level) (0.50)
    • CO250 - Introduction to Optimization (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 327 Deterministic OR Models (Non-Specialist Level)0.50 units

An applications-oriented course that illustrates how various mathematical models and methods of optimization can be used to solve problems arising in business, industry, and science.

Prerequisites
  • Must have completed at least 1 of the following:
    • CO227 - Introduction to Optimization (Non-Specialist Level) (0.50)
    • CO250 - Introduction to Optimization (0.50)
    • CO255 - Introduction to Optimization (Advanced Level) (0.50)
Antirequisites
  • Not completed nor concurrently enrolled in any of the following:
    • CO370 - Deterministic OR Models (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 330 Combinatorial Enumeration0.50 units

The algebra of formal power series. The combinatorics of the ordinary and exponential generating series. Lagrange's implicit function theorem, applications to the enumeration of permutations, functions, trees and graphs. Integer partitions, geometric methods, enumerating linear transformations. Introduction to the pattern algebra, applications to the enumeration of strings. Lattice paths, Wiener-Hopf factorization. Enumeration under symmetries.

Prerequisites
  • Must have completed at least 1 of the following:
    • MATH239 - Introduction to Combinatorics (0.50)
    • MATH249 - Introduction to Combinatorics (Advanced Level) (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 331 Coding Theory0.50 units

A first course in error-correcting codes. Linear block codes, Hamming-Golay codes, and multiple error-correcting BCH codes are studied. Various encoding and decoding schemes are considered.

Prerequisites
  • Must have completed at least 1 of the following:
    • MATH225 - Applied Linear Algebra 2 (0.50)
    • MATH235 - Linear Algebra 2 for Honours Mathematics (0.50)
    • MATH245 - Linear Algebra 2 (Advanced Level) (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 342 Introduction to Graph Theory0.50 units

An introduction to some of the key topics in graph theory: connectivity, planarity, and matchings. Connectivity: Menger's theorem, 3-connected graphs. Planarity: Kuratowski's theorem, uniqueness of planar embeddings. Matchings: Review of Konig's theorem, Tutte's theorem.

Prerequisites
  • Must have completed at least 1 of the following:
    • MATH239 - Introduction to Combinatorics (0.50)
    • MATH249 - Introduction to Combinatorics (Advanced Level) (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 351 Network Flow Theory0.50 units

Review of linear programming. Shortest path problems. The max-flow min-cut theorem and applications. Minimum cost flow problems. Network simplex and primal-dual algorithms. Applications to problems of transportation, distribution, job assignments, and critical-path planning.

Prerequisites
  • Must have completed at least 1 of the following:
    • CO250 - Introduction to Optimization (0.50)
    • CO255 - Introduction to Optimization (Advanced Level) (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 353 Computational Discrete Optimization0.50 units

Formulations of combinatorial optimization problems, greedy algorithms, dynamic programming, branch-and-bound, cutting plane algorithms, decomposition techniques in integer programming, approximation algorithms.

Prerequisites
  • Must have completed at least 1 of the following:
    • CO250 - Introduction to Optimization (0.50)
    • CO255 - Introduction to Optimization (Advanced Level) (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 365 Optimization Models and Algorithms for Data Science0.50 units

Modelling problems in data science and machine learning as optimization problems, and their analysis. Solution methods, including gradient descent and its extensions, and their consequences in modelling decisions. Convexity and Lagrangian duality. Applications to clustering and classification problems. Analysis and implementation of computational methods.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • CO250 - Introduction to Optimization (0.50)
      • CO255 - Introduction to Optimization (Advanced Level) (0.50)
    • Must have completed at least 1 of the following:
      • CS116 - Introduction to Computer Science 2 (0.50)
      • CS136 - Elementary Algorithm Design and Data Abstraction (0.50)
      • CS146 - Elementary Algorithm Design and Data Abstraction (Advanced Level) (0.50)
    • Complete 1 of the following
      • Must have completed at least 1 of the following:
        • MATH138 - Calculus 2 for Honours Mathematics (0.50)
        • MATH148 - Calculus 2 (Advanced Level) (0.50)
      • Earned a minimum grade of 70% in each of the following:
        • MATH128 - Calculus 2 for the Sciences (0.50)
    • Must have completed at least 1 of the following:
      • MATH235 - Linear Algebra 2 for Honours Mathematics (0.50)
      • MATH245 - Linear Algebra 2 (Advanced Level) (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 367 Nonlinear Optimization0.50 units

A course on the fundamentals of nonlinear optimization, including both the mathematical and the computational aspects. Necessary and sufficient optimality conditions for unconstrained and constrained problems. Convexity and its applications. Computational techniques and their analysis.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • CO250 - Introduction to Optimization (0.50)
      • CO255 - Introduction to Optimization (Advanced Level) (0.50)
    • Complete 1 of the following
      • Must have completed at least 1 of the following:
        • MATH138 - Calculus 2 for Honours Mathematics (0.50)
        • MATH148 - Calculus 2 (Advanced Level) (0.50)
      • Earned a minimum grade of 70% in each of the following:
        • MATH128 - Calculus 2 for the Sciences (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 370 Deterministic OR Models0.50 units

An applications-oriented course that illustrates how various mathematical models and methods of optimization can be used to solve problems arising in business, industry, and science.

Prerequisites
  • Must have completed at least 1 of the following:
    • CO250 - Introduction to Optimization (0.50)
    • CO255 - Introduction to Optimization (Advanced Level) (0.50)
Antirequisites
  • Not completed nor concurrently enrolled in any of the following:
    • CO327 - Deterministic OR Models (Non-Specialist Level) (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 372 Portfolio Optimization Models0.50 units

Computational optimization methodologies underlying portfolio problems in finance. Computational linear algebra, determining derivatives, quadratic, and nonlinear optimization. The efficient frontier problem. Applications of optimization in finance such as volatility surface determination and global minimization for value-at-risk.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • MATH235 - Linear Algebra 2 for Honours Mathematics (0.50)
      • MATH245 - Linear Algebra 2 (Advanced Level) (0.50)
    • Complete 1 of the following
      • Must have completed at least 1 of the following:
        • ACTSC291 - Global Capital Markets and Financial Analytics (0.50)
        • ACTSC372 - Investment Science and Corporate Finance (0.50)
        • AFM272 - Global Capital Markets and Financial Analytics (0.50)
        • ECON371 - Business Finance 1 (0.50)
      • Must have completed at least 1 of the following:
    • Complete 1 of the following
      • Earned a minimum grade of 70% in each of the following:
        • CO227 - Introduction to Optimization (Non-Specialist Level) (0.50)
      • Must have completed at least 1 of the following:
        • CO250 - Introduction to Optimization (0.50)
        • CO255 - Introduction to Optimization (Advanced Level) (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 380 Mathematical Discovery and Invention0.50 units

A course in problem solving. 100 problems are studied. Problems are taken mainly from the elementary parts of algebra, geometry, number theory, combinatorics, and probability.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • MATH106 - Applied Linear Algebra 1 (0.50)
      • MATH136 - Linear Algebra 1 for Honours Mathematics (0.50)
      • MATH146 - Linear Algebra 1 (Advanced Level) (0.50)
    • Must have completed at least 1 of the following:
      • MATH135 - Algebra for Honours Mathematics (0.50)
      • MATH145 - Algebra (Advanced Level) (0.50)
    • Must have completed at least 1 of the following:
      • MATH138 - Calculus 2 for Honours Mathematics (0.50)
      • MATH148 - Calculus 2 (Advanced Level) (0.50)
    • Students must be in level 3A or higher

Calendar entryRequirements, Fall 2026Course outlines

CO 430 Algebraic Enumeration0.50 units

The Lagrange Implicit Function Theorem, the MacMahon Master Theorem. Enumeration of planar triangulations. The transfer matrix method. Sieve methods, inclusion/exclusion, Mobius inversion. Polya enumeration, Enumeration of trees. Basic hypergeometric series, q-analogues, Rogers-Ramanujan identities. Asymptotic methods.

Prerequisites
  • Complete all of the following
    • Must have completed the following:
      • CO330 - Combinatorial Enumeration (0.50)
    • Earned a minimum cumulative overall average of 80

Calendar entryRequirements, Fall 2026Course outlines

CO 431 Symmetric Functions0.50 units

The ring of symmetric functions, standard bases, the Hall inner product. Young tableaux. The Robinson-Schensted-Knuth correspondence, the hook-length formula, the Jacobi-Trudi formula, the Pieri rule, the Littlewood-Richardson rule. Representation theory of the symmetric groups. Enumeration of plane partitions. Enumeration of maps on surfaces. Other topics.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • PMATH336 - Introduction to Group Theory with Applications (0.50)
      • PMATH347 - Groups and Rings (0.50)
    • Earned a minimum cumulative overall average of 80

Calendar entryRequirements, Fall 2026Course outlines

CO 432 Information Theory and Applications0.50 units

Basics of information theory; Shannon entropy, KL divergence, and mutual information; basic properties of entropic quantities; chain rule, Pinsker's Inequality, Data Processing Inequality; compression; Channel Coding Theorem; error-correction; applications to combinatorics, optimization, cryptography, and computer science.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • CO250 - Introduction to Optimization (0.50)
      • CO255 - Introduction to Optimization (Advanced Level) (0.50)
      • CS231 - Algorithmic Problem Solving (0.50)
      • CS341 - Algorithms (0.50)
    • Must have completed at least 1 of the following:
      • MATH239 - Introduction to Combinatorics (0.50)
      • MATH249 - Introduction to Combinatorics (Advanced Level) (0.50)
    • Must have completed at least 1 of the following:
      • STAT230 - Probability (0.50)
      • STAT240 - Probability (Advanced Level) (0.50)
    • Students must be in level 3A or higher

Calendar entryRequirements, Fall 2026Course outlines

CO 434 Combinatorial Designs0.50 units

Pairwise orthogonal latin squares. Transversal designs and finite planes. Balanced incomplete block designs, group divisible designs, and pairwise balanced designs. Symmetric designs and Hadamard matrices. Recursive constructions. Wilson's fundamental construction.

Prerequisites
  • Complete all of the following
    • Complete 1 of the following
      • Must have completed at least 1 of the following:
        • PMATH336 - Introduction to Group Theory with Applications (0.50)
        • PMATH347 - Groups and Rings (0.50)
      • Must have completed the following:
        • PMATH346
    • Earned a minimum cumulative overall average of 80

Calendar entryRequirements, Fall 2026Course outlines

CO 439 Topics in Combinatorics0.50 units

An undergraduate seminar in combinatorics. The primary objective is to study current work in specific areas of combinatorics. Course content may vary from term to term.

Calendar entryRequirements, Fall 2026Course outlines

CO 440 Topics in Graph Theory0.50 units

An in-depth study of one or two topics in graph theory. Course content may vary from term to term. Topics may include planar graphs, extremal graph theory, directed graphs, enumeration, algebraic graph theory, probabilistic graph theory, connectivity, graph embedding, colouring problems.

Prerequisites
  • Must have completed the following:
    • CO342 - Introduction to Graph Theory (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 442 Graph Theory0.50 units

Colouring: Brooks' Theorem and Vizing's Theorem. Flows: integer and group-valued flows, the flow polynomial, the 6-flow theorem. Extremal graph theory; Ramsey's theorem, Turan's theorem, Mader's theorem on graphs with no n-clique-minor. Probabilistic methods: Lower bounds for Ramsey numbers, graphs with large girth and chromatic number.

Prerequisites
  • Complete all of the following
    • Must have completed the following:
      • CO342 - Introduction to Graph Theory (0.50)
    • Must have completed at least 1 of the following:
      • MATH235 - Linear Algebra 2 for Honours Mathematics (0.50)
      • MATH245 - Linear Algebra 2 (Advanced Level) (0.50)
    • Earned a minimum cumulative overall average of 80

Calendar entryRequirements, Fall 2026Course outlines

CO 444 Algebraic Graph Theory0.50 units

An introduction to the methods of and some interesting current topics in algebraic graph theory. Topics covered will include vertex-transitive graphs, eigenvalue methods, strongly regular graphs and may include graph homomorphisms, Laplacians or knot and link invariants.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • MATH239 - Introduction to Combinatorics (0.50)
      • MATH249 - Introduction to Combinatorics (Advanced Level) (0.50)
    • Complete 1 of the following
      • Must have completed at least 1 of the following:
        • PMATH336 - Introduction to Group Theory with Applications (0.50)
        • PMATH347 - Groups and Rings (0.50)
      • Must have completed the following:
        • PMATH346
    • Earned a minimum cumulative overall average of 80

Calendar entryRequirements, Fall 2026Course outlines

CO 446 Matroid Theory0.50 units

This is an introductory course on matroid theory, with particular emphasis on graphic matroids and on topics that are applicable to graph theory. The topics include matroid intersection and partition, graphic matroids, matroid connectivity, regular matroids, and representable matroids. Applications include matching, disjoint paths, disjoint spanning trees, the 8-flow theorem for graphs, planarity testing, and recognizing totally unimodular matrices.

Prerequisites
  • Complete all of the following
    • Must have completed the following:
      • CO342 - Introduction to Graph Theory (0.50)
    • Earned a minimum cumulative overall average of 80

Calendar entryRequirements, Fall 2026Course outlines

CO 448 The Probabilistic Method0.50 units

The probabilistic method is a collection of proof techniques to show the existence of a combinatorial structure by showing a random element in an appropriate probability space has the desired structure with a positive probability. The course will introduce the fundamental techniques and give numerous applications in a wide variety of areas, including graph theory, combinatorics, number theory, geometry, optimization, randomized algorithms, and information theory. In particular, normally the following topics will be discussed: method of the first moment, Chebyshev’s inequality, alterations, the Lovasz local lemma, correlation inequalities, exponential concentration inequalities, and applications.

Prerequisites
  • Must have completed the following:
    • CO342 - Introduction to Graph Theory (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 450 Combinatorial Optimization0.50 units

Characterizations of optimal solutions and efficient algorithms for optimization problems over discrete structures. Topics include network flows, optimal matchings, T-joins and postman tours, matroid optimization.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • CO255 - Introduction to Optimization (Advanced Level) (0.50)
      • CO351 - Network Flow Theory (0.50)
    • Earned a minimum cumulative overall average of 80

Calendar entryRequirements, Fall 2026Course outlines

CO 452 Integer Programming0.50 units

Formulation of problems as integer linear programs. Solution by branch-and-bound and cutting plane algorithms. Introduction to the theory of valid inequalities and polyhedral combinatorics.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • CO255 - Introduction to Optimization (Advanced Level) (0.50)
      • CO351 - Network Flow Theory (0.50)
    • Earned a minimum cumulative overall average of 80

Calendar entryRequirements, Fall 2026Course outlines

CO 454 Scheduling0.50 units

An overview of practical optimization problems that can be posed as scheduling problems. Characterizations of optimal schedules. Simple and efficient combinatorial algorithms for easy problems. A brief overview of computational complexity, definition of P, NP, NP-complete and NP-hard. Integer programming formulations, the travelling salesman problem, heuristics, dynamic programming, and branch-and-bound approaches. Polynomial-time approximation algorithms.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • CO227 - Introduction to Optimization (Non-Specialist Level) (0.50)
      • CO250 - Introduction to Optimization (0.50)
      • CO255 - Introduction to Optimization (Advanced Level) (0.50)
    • Must have completed at least 1 of the following:
      • MATH229 - Introduction to Combinatorics (Non-Specialist Level) (0.50)
      • MATH239 - Introduction to Combinatorics (0.50)
      • MATH249 - Introduction to Combinatorics (Advanced Level) (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 456 Introduction to Game Theory0.50 units

A broad introduction to game theory and its applications to the modelling of competition and co-operation in business, economics, and society. Two-person games in strategic form and Nash equilibria. Extensive form games, including multi-stage games. Coalition games and the core. Bayesian games, mechanism design, and auctions.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • CO227 - Introduction to Optimization (Non-Specialist Level) (0.50)
      • CO250 - Introduction to Optimization (0.50)
      • CO255 - Introduction to Optimization (Advanced Level) (0.50)
    • Must have completed at least 1 of the following:
      • MATH229 - Introduction to Combinatorics (Non-Specialist Level) (0.50)
      • MATH239 - Introduction to Combinatorics (0.50)
      • MATH249 - Introduction to Combinatorics (Advanced Level) (0.50)

Calendar entryRequirements, Fall 2026Course outlines

CO 459 Topics in Optimization0.50 units

An undergraduate seminar in optimization. The primary objective is to study recent work in specific areas of optimization. Course content may vary from term to term.

Calendar entryRequirements, Fall 2026Course outlines

CO 463 Convex Optimization and Analysis0.50 units

An introduction to the modern theory of convex programming, its extensions and applications. Structure of convex sets, separation and support, subgradient calculus for convex functions, Fenchel conjugacy and duality, Lagrange multipliers. Ellipsoid method for convex optimization.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
    • Must have completed at least 1 of the following:
      • CO255 - Introduction to Optimization (Advanced Level) (0.50)
      • CO365 - Optimization Models and Algorithms for Data Science (0.50)
      • CO367 - Nonlinear Optimization (0.50)
    • Earned a minimum cumulative overall average of 80

Calendar entryRequirements, Fall 2026Course outlines

CO 466 Continuous Optimization0.50 units

Numerical algorithms for nonlinear optimization. Newton, variable-metric, quasi-Newton and conjugate gradient methods. Obtaining derivatives. Convexity. Trust region methods. Constrained optimization including optimality conditions, sequential quadratic programming, interior point, and active set strategies.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • CO255 - Introduction to Optimization (Advanced Level) (0.50)
      • CO365 - Optimization Models and Algorithms for Data Science (0.50)
      • CO367 - Nonlinear Optimization (0.50)
    • Earned a minimum cumulative overall average of 80

Calendar entryRequirements, Fall 2026Course outlines

CO 471 Semidefinite Optimization0.50 units

Optimization over convex sets described as the intersection of the set of symmetric, positive semidefinite matrices with affine spaces. Formulations of problems from combinatorial optimization, graph theory, number theory, probability and statistics, engineering design, and control theory. Theoretical and practical consequences of these formulations. Duality theory and algorithms.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
    • Must have completed at least 1 of the following:
      • CO255 - Introduction to Optimization (Advanced Level) (0.50)
      • CO365 - Optimization Models and Algorithms for Data Science (0.50)
      • CO367 - Nonlinear Optimization (0.50)
    • Must have completed at least 1 of the following:
      • MATH239 - Introduction to Combinatorics (0.50)
      • MATH249 - Introduction to Combinatorics (Advanced Level) (0.50)
    • Earned a minimum cumulative overall average of 80.0

Calendar entryRequirements, Fall 2026Course outlines

CO 480 History of Mathematics0.50 units

An in-depth examination of the origins of mathematics, beginning with examples of Babylonian mathematics. Topics may include Pythagorean triples, solution of equations, estimation of pi, duplication of the cube, trisection of an angle, the Fibonacci sequence, the origins of calculus.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • ECE108 - Discrete Mathematics and Logic 1 (0.50)
      • MATH135 - Algebra for Honours Mathematics (0.50)
      • MATH145 - Algebra (Advanced Level) (0.50)
    • Must have completed at least 1 of the following:
      • MATH106 - Applied Linear Algebra 1 (0.50)
      • MATH114 - Linear Algebra for Science (0.50)
      • MATH115 - Linear Algebra for Engineering (0.50)
      • MATH136 - Linear Algebra 1 for Honours Mathematics (0.50)
      • MATH146 - Linear Algebra 1 (Advanced Level) (0.50)
    • Must have completed at least 1 of the following:
      • MATH118 - Calculus 2 for Engineering (0.50)
      • MATH119 - Calculus 2 for Engineering (0.50)
      • MATH128 - Calculus 2 for the Sciences (0.50)
      • MATH138 - Calculus 2 for Honours Mathematics (0.50)
      • MATH148 - Calculus 2 (Advanced Level) (0.50)
    • Students must be in level 3A or higher

Calendar entryRequirements, Fall 2026Course outlines

CO 481 Introduction to Quantum Information Processing0.50 units

Basics of computational complexity; basics of quantum information; quantum phenomena; quantum circuits and universality; relationship between quantum and classical complexity classes; simple quantum algorithms; quantum Fourier transform; Shor factoring algorithm; Grover search algorithm; physical realization of quantum computation; error-correction and fault-tolerance; quantum key distribution.

Prerequisites
  • Complete all of the following
    • Earned a minimum grade of 80% in at least 1 of the following:
      • MATH235 - Linear Algebra 2 for Honours Mathematics (0.50)
      • MATH245 - Linear Algebra 2 (Advanced Level) (0.50)
    • Students must be in level 3A or higher
Cross-listed
CS 467, PHYS 467

Calendar entryRequirements, Fall 2026Course outlines

CO 485 The Mathematics of Public-Key Cryptography0.50 units

An in-depth study of public-key cryptography. Number-theoretic problems: prime generation, integer factorization, discrete logarithms. Public-key encryption, digital signatures, key establishment, elliptic curve cryptography, post-quantum cryptography. Proofs of security.

Prerequisites
  • Complete all of the following
    • Complete 1 of the following
      • Must have completed at least 1 of the following:
        • PMATH334 - Introduction to Rings and Fields with Applications (0.50)
        • PMATH336 - Introduction to Group Theory with Applications (0.50)
        • PMATH347 - Groups and Rings (0.50)
        • PMATH348 - Fields and Galois Theory (0.50)
      • Must have completed at least 1 of the following:
        • PMATH345
        • PMATH346
    • Earned a minimum cumulative overall average of 80

Calendar entryRequirements, Fall 2026Course outlines

CO 486 Topics in Quantum Information0.50 units

The primary objective is to study current work in specific areas of quantum information. Course content may vary from term to term.

Calendar entryRequirements, Fall 2026Course outlines

CO 487 Applied Cryptography0.50 units

A broad introduction to modern cryptography, highlighting the tools and techniques used to secure internet and messaging applications. Symmetric-key encryption, hash functions, message authentication, authenticated encryption, public-key encryption and digital signatures, key establishment, key management.

Prerequisites
  • Complete all of the following
    • Must have completed at least 1 of the following:
      • CS116 - Introduction to Computer Science 2 (0.50)
      • CS136 - Elementary Algorithm Design and Data Abstraction (0.50)
      • CS138 - Introduction to Data Abstraction and Implementation (0.50)
      • CS146 - Elementary Algorithm Design and Data Abstraction (Advanced Level) (0.50)
    • Must have completed at least 1 of the following:
      • MATH135 - Algebra for Honours Mathematics (0.50)
      • MATH145 - Algebra (Advanced Level) (0.50)
    • Must have completed at least 1 of the following:
      • STAT206 - Statistics for Software Engineering (0.50)
      • STAT220 - Probability (Non-Specialist Level) (0.50)
      • STAT230 - Probability (0.50)
      • STAT240 - Probability (Advanced Level) (0.50)
    • Students must be in level 3A or higher

Calendar entryRequirements, Fall 2026Course outlines

CO 499 Reading in Combinatorics and Optimization0.50 units

Reading course as announced by the department.

Calendar entryRequirements, Fall 2026Course outlines

Graduate

From the Fall 2026 Graduate Calendar.

CO 601 Fundamentals of Enumerative Combinatorics0.50 units

Elementary counting, bijections. Sets, weights, decompositions. The ordinary generating series, sum, product, composition and differentiation lemmas; formal use in combinatorial identities. The algebra of formal power series. Strings on a finite alphabet. Unique factorization of strings. Pattern and noncommutative methods. The Maximal Decomposition Theorem. Rational and algebraic generating series, linear recurrence equations. Integer partitions. Functional equation. Ferrers graph, geometric decompositions, Euler's Pentagonal Number Theorem. Vector spaces over GF(q), linear transformations, finite forms of partition theorems, Gaussian coefficients. Inversions in permutations. The exponential generating series, rule of sum and product, composition and differentiation lemmas. Disjoint cycles and permutations, functions, set partitions, graphs. Lagrange's Implicit Function Theorem. Lattice paths, Wiener-Hopf Factorization. Lattice polygons, polyominos, trees and functions. Formal use in combinatorial identities. Enumeration under group action, Orbit-Stabilizer Theorem, Burnside's Lemma, Polya's Theorem. Necklaces, abstract trees and trees embedded in the plane.

Calendar entryRequirements, Fall 2026Course outlines

CO 602 Fundamentals of Optimization0.50 units

Linear optimization: Farkas' Lemma, duality, Simplex method, geometry of polyhedra. Combinatorial optimization: integrality of polyhedra, total unimodularity, flow problems, weighted bipartite matching. Continuous optimization: convex sets, Separation Theorem, convex functions, analytic characterizations of convexity, Karush-Kuhn-Tucker Theorem.

Cross-listed
CS 795, CM 740

Calendar entryRequirements, Fall 2026Course outlines

CO 630 Algebraic Enumeration0.50 units

The algebra of formal Laurent series. Multivariate ordinary generating functions and exponential generating functions. The Lagrange Implicit Function Theorem, the MacMahon Master Theorem. Enumeration of planar triangulations. The Transfer Matrix method. Sieve methods, Inclusion/Exclusion, Möbius inversion. Pólya Enumeration, Enumeration of Trees. Basic hypergeometric series, q-analogues, Rogers-Ramanujan identities. Asymptotic methods.

Calendar entryRequirements, Fall 2026Course outlines

CO 631 Symmetric Functions0.50 units

The ring of symmetric functions, standard bases, the Hall inner product. Young tableaux. The Robinson-Schensted-Knuth correspondence, the hook-length formula, the Jacobi-Trudi formula, the Pieri rule, the Littlewood-Richardson rule. Representation theory of the symmetric groups. Enumeration of plane partitions. Enumeration of maps on surfaces. Other topics.

Calendar entryRequirements, Fall 2026Course outlines

CO 634 Combinatorial Designs0.50 units

Pairwise orthogonal latin squares. Transversal designs and finite planes. Balanced incomplete block designs, group divisible designs and pairwise balanced designs. Symmetric designs and Hadamard matrices. Recursive constructions. Wilson's fundamental construction.

Calendar entryRequirements, Fall 2026Course outlines

CO 639 Topics in Combinatorics0.50 units

Consult the schedule of classes for specific topics being offered.

Calendar entryRequirements, Fall 2026Course outlines

CO 640 Topics in Graph Theory0.50 units

Consult the schedule of classes for specific topics being offered.

Calendar entryRequirements, Fall 2026Course outlines

CO 642 Graph Theory0.50 units

Colouring: Brooks' Theorem and Vizing's Theorem. Flows: integer and group-valued flows, the flow polynomial, the 6-flow theorem. Extremal graph theory; Ramsey's theorem, Turan's theorem, Mader's theorem on graphs with no n-clique-minor. Probabilistic methods: Lower bounds for Ramsey numbers, graphs with large girth and chromatic number.

Calendar entryRequirements, Fall 2026Course outlines

CO 644 Algebraic Graph Theory0.50 units

Automorphisms. Cayley graphs and their properties. Arc and distance transitive graphs. Generalised polygons. homomorphisms and covers. Adjacency and incidence matrices. Eigenvectors of graphs. Quotients. Interlacing. Strongly regular graphs. Line graphs and graphs with least eigenvalue -2. Expanders. Shannon capacity.

Calendar entryRequirements, Fall 2026Course outlines

CO 646 Matroid Theory0.50 units

This is an introductory course on matroid theory, with particular emphasis on graphic matroids and on topics that are applicable to graph theory. The topics include: matroid intersection and partition, graphic matroids, matroid connectivity, regular matroids, and representable matroids. Applications include: matching, disjoint spanning trees, the 8-flow theorem for graphs, planarity testing, and recognizing totally unimodular matrices.

Calendar entryRequirements, Fall 2026Course outlines

CO 648 The Probabilistic Method0.50 units

The probabilistic method is a collection of proof techniques to show the existence of a combinatorial structure by showing a random element in an appropriate probability space has the desired structure with a positive probability. The course introduces the fundamental techniques and gives numerous applications in a wide variety of areas, including graph theory, combinatorics, number theory, geometry, optimization, randomised algorithms, and information theory. In particular, normally the following topics are discussed: method of the first moment; Chebyshev’s inequality; alterations; the Lovasz local lemma; correlation inequalities; exponential concentration inequalities; applications.

Calendar entryRequirements, Fall 2026Course outlines

CO 650 Combinatorial Optimization0.50 units

Characterizations of optimalsolutions and efficient algorithms for optimization problems over discrete structures. Topics include network flows, optimal matchings, T-joins and postman tours, matroid optimization.

Calendar entryRequirements, Fall 2026Course outlines

CO 652 Integer Programming0.50 units

Formulation of problems as integer linear programs. Solution by branch-and-bound and cutting plane algorithms. Introduction to the theory of valid inequalities and polyhedral combinatorics.

Calendar entryRequirements, Fall 2026Course outlines

CO 663 Convex Optimization and Analysis0.50 units

An introduction to the modern theory of convex programming, its extensions and applications. Structure of convex sets, separation and support, subgradient calculus for convex functions, Fenchel conjugacy and duality, Lagrange multipliers. Ellipsoid method for convex optimization.

Calendar entryRequirements, Fall 2026Course outlines

CO 664 Quadratic Programming0.50 units

A course on theory and solution algorithms for the minimization of a convex quadratic function subject to linear constraints. Karush-Kuhn-Tucker conditions, duality theory. Active set solution algorithms and their parametric extensions. Quadratic programmes as linear complementarity problems. Applications in portfolio optimization and structural analysis.

Calendar entryRequirements, Fall 2026Course outlines

CO 666 Continuous Optimization0.50 units

Numerical algorithms for nonlinear optimization. Newton, variable-metric, quasi-Newton and conjugate gradient methods. Obtaining derivatives. Convexity. Trust region methods. Constrained optimization including optimality conditions, sequential quadratic programming, interior point and active set strategies.

Calendar entryRequirements, Fall 2026Course outlines

CO 671 Semidefinite Optimization0.50 units

Optimization over convex sets described as the intersections of the set of symmetric, positive semidefinite matrices with affine spaces. Formulations of problems from combinatorial optimization, graph theory, number theory, probability and statistics, engineering design and control theory. Theoretical and practical consequences of these formulations. Duality theory and algorithms.

Calendar entryRequirements, Fall 2026Course outlines

CO 673 Optimization for Data Science0.50 units

Techniques for formulating data science models as optimization problems. Algorithms for solving data science problems with an emphasis on scalability, efficiency and parallelizability including gradient-descent based algorithms, derivative-free algorithms, and randomized algorithms. Theoretical analyses of algorithms and approaches for recognizing the most suitable algorithm for solving a particular problem.

Cross-listed
CS 794

Calendar entryRequirements, Fall 2026Course outlines

CO 681 Quantum Information Processing0.50 units

Review of basics of quantum information and computational complexity; Simple quantum algorithms; Quantum Fourier transform and Shor factoring algorithm: Amplitude amplification, Grover search algorithm and its optimality; Completely positive trace-preserving maps and Kraus representation; Non-locality and communication complexity; Physical realizations of quantum computation: requirements and examples; Quantum error-correction, including CSS codes, and elements of fault-tolerant computation; Quantum cryptography; Security proofs of quantum key distribution protocols; Quantum proof systems. Familiarity with theoretical computer science or quantum mechanics will also be an asset, though most students will not be familiar with both.

Cross-listed
CS 768, PMATH 871, PHYS 767, QIC 710, AMATH 871

Calendar entryRequirements, Fall 2026Course outlines

CO 685 The Mathematics of Public-Key Cryptography0.50 units

An in-depth study of public-key cryptography, including: number-theoretic problems - prime generation, integer factorization, discrete logarithms; public-key encryption; digital signatures; key establishment; elliptic curve cryptography; post-quantum cryptography; and security proofs.

Calendar entryRequirements, Fall 2026Course outlines

CO 687 Applied Cryptography0.50 units

A broad introduction to modern cryptography, highlighting the tools and techniques used to secure internet and messaging applications. Symmetric-key encryption, hash functions, message authentication, authenticated encryption, public-key encryption and digital signatures, key establishment, key management.

Calendar entryRequirements, Fall 2026Course outlines

CO 690 Literature and Research Studies0.50 units

Consult the schedule of classes for specific topics being offered.

Calendar entryRequirements, Fall 2026Course outlines

CO 730 Asymptotic Enumeration0.50 units

Methods of obtaining asymptotic estimates for sums arising in enumeration. Application to Bell numbers, the distribution of balls into cells, and random graphs. Methods for obtaining asymptotic estimates for the coefficients of generating functions. Application to random planar graph problems and to unimodality problems.

Calendar entryRequirements, Fall 2026Course outlines

CO 734 Topics in Combinatorial Design0.50 units

Consult the schedule of classes for specific topics being offered.

Calendar entryRequirements, Fall 2026Course outlines

CO 738 Probabilistic Methods in Discrete Mathematics0.50 units

The probabilitistic method proves the existence of a combinatorial structure by showing a random element in an appropriate probability space has the desired properties with positive probability. The course will introduce the basic techniques and give applications in graph theory, combinatorics, discrete optimization, theoretical CS. In particular, some of the following will be considered: linearity of expectation; alterations; the second moment method; bounding of large deviations; the local lemma; correlation inequalities; martingales and tight concentration; discrepancy; derandomization.

Calendar entryRequirements, Fall 2026Course outlines

CO 739 Topics in Combinatorics0.50 units

Consult the schedule of classes for specific topics being offered.

Calendar entryRequirements, Fall 2026Course outlines

CO 743 Directed Graphs and Applications0.50 units

An introduction to the concepts of directed graphs, problems about directed circuits and directed cuts, and minimax equalities relating these and other graphical objects.

Calendar entryRequirements, Fall 2026Course outlines

CO 745 Graph Theory Algorithms0.50 units

A general study of algorithms for the solutions of problems in graph theory. Included are algorithms for graph isomorphism, planarity, connectedness, chromatic number, spanning trees, circuits and many others.

Calendar entryRequirements, Fall 2026Course outlines

CO 749 Topics in Graph Theory0.50 units

Consult the schedule of classes for specific topics being offered.

Calendar entryRequirements, Fall 2026Course outlines

CO 750 Topics in Combinatorial Optimization0.50 units

Consult the schedule of classes for specific topics being offered.

Calendar entryRequirements, Fall 2026Course outlines

CO 751 Topics in Matroid Theory0.50 units

Consult the schedule of classes for specific topics being offered.

Calendar entryRequirements, Fall 2026Course outlines

CO 754 Approximation Algorithms in Combinatorial Optimization0.50 units

The course studies some of the successful paradigms for designing approximation algorithms and for proving approximation guaranteees, such as the greedy method, formulating and solving linear programming relaxations, the primal-dual method, randomized rounding, semidefinite programming relaxations, approximation of metrics. Also, the PCP theorem, and its application to the hardness of approximating specific problems, e.g., set covering and shortest lattice vector.

Calendar entryRequirements, Fall 2026Course outlines

CO 759 Topics in Discrete Optimization0.50 units

Consult the schedule of classes for specific topics being offered.

Calendar entryRequirements, Fall 2026Course outlines

CO 765 Mathematical Programming0.50 units

Mathematical Programming

Calendar entryRequirements, Fall 2026Course outlines

CO 769 Topics in Continuous Optimization0.50 units

Consult the schedule of classes for specific topics being offered.

Calendar entryRequirements, Fall 2026Course outlines

CO 771 Mathematical Operations Research0.50 units

Mathematical Operations Research

Calendar entryRequirements, Fall 2026Course outlines

CO 778 Portfolio Optimization0.50 units

Basic optimization: quadratic minimization subject to leanear equality constraints. Effecient portfolios: the efficient frontier, the capital market line, Sharpe ratios and threshold returns. Practical portfolio optimization: short sales restrictions target portfolios, transactions costs. Quadratic programming theory. Special purpose quadratic programming algorithms for portfolio optimization: today's large investment firms expect to solve problems with at least 1000 assets, transactions costs and various side constraints in just a few minutes of computation time. This requires very specialized QP algorithms. An overview of such algorithms will be presented with computational results from commercial problems. The efficient frontier, the capital market line, Sharpe ratios and threshold returns in practice.

Cross-listed
ACTSC 973

Calendar entryRequirements, Fall 2026Course outlines

CO 779 Topics in Operations Research0.50 units

Consult the schedule of classes for specific topics being offered.

Calendar entryRequirements, Fall 2026Course outlines

CO 781 Topics in Quantum Information0.50 units

Consult the schedule of classes for specific topics being offered.

Calendar entryRequirements, Fall 2026Course outlines

CO 785 Algorithmic Number Theory0.50 units

Fundamental problems of elementary and algebraic number theory from an algorithmic and computational complexity point of view with emphasis placed on analysis of algorithms. Topics include basic arithmetic algorithms; computation over finite fields; primality testing; algorithms for integer factorization; algorithms in number fields.

Cross-listed
CS 765

Calendar entryRequirements, Fall 2026Course outlines

CO 789 Topics in Cryptography0.50 units

Consult the schedule of classes for specific topics being offered.

Calendar entryRequirements, Fall 2026Course outlines

CO 839 Seminar in Combinatorics0.50 units

Seminar in Combinatorics

Calendar entryRequirements, Fall 2026Course outlines

CO 849 Seminar in Graph Theory0.50 units

Seminar in Graph Theory

Calendar entryRequirements, Fall 2026Course outlines

CO 859 Seminar in Discrete Optimization0.50 units

Seminar in Discrete Optimization

Calendar entryRequirements, Fall 2026Course outlines

CO 869 Seminar in Continuous Optimization0.50 units

Seminar in Continuous Optimization

Calendar entryRequirements, Fall 2026Course outlines

CO 879 Seminar in Operations Research0.50 units

Seminar in Operations Research

Calendar entryRequirements, Fall 2026Course outlines