What is Combinatorics and Optimization?
Combinatorics is fundamental to the field of computer science. Optimization, also known as mathematical programming, is a mathematical approach to find the best among a set of alternatives. Together, they provide powerful methods for modelling and solving large management problems — from optimizing flight schedules, to making a factory’s layout as efficient as possible.
Waterloo is home to the world’s largest concentration of professors, researchers, and students in Combinatorics and Optimization. This research-intensive department has achieved international renown for its work in algebraic combinatorics, combinatorial optimization, continuous optimization, cryptography, graph theory, and quantum computing. Small upper-year classes, taught by professors who are leaders in their fields, give you an unparalleled learning opportunity.
- Available as a co-op or regular program
- There are 40 courses for this degree
- Graduate with a Bachelor of Mathematics, major in Combinatorics and Optimization
First-year courses
- MATH 135/145 - Classical Algebra
- MATH 137/147 - Calculus 1
- CS 115/135/145 - Computer Science
- A communications course
- One non-math elective
Upper-year courses
- CO 331 - Coding Theory
- CO 351 - Netflow Flow Theory
- CO 342 - Introduction to Graph Theory
- CS 466 - Algorithm Design and Analysis
- CO 487 - Applied Cryptography
Student story
Meet Clare
Outside of school and classes, Clare is very involved in the University of Waterloo’s different communities. She put her video and writing skills to work sharing her story as a Math Ambassador, and she's an active member of the campus theatre scene. She's a scriptwriter, and she produces her own videos too. You can read more about Clare's experiences in the Faculty of Mathematics on the Beyond Ideas blog!
Similar programs
If you're interested in Combinatorics and Optimization, you may also be interested in these programs that offer similar courses or career opportunities:
How to apply
Apply to Mathematics for admissions consideration. If admitted, speak with an academic advisor after first year to declare Combinatorics and Optimization as a major.
Find out more information on the steps to apply.