First-year courses
You may also select advanced-stream courses for algebra, calculus, and computer science if you meet the requirements. Details will be sent during course selection in June.
September to December
January to April
This is a sample schedule. Courses or when a course is offered may change depending on availability.
After first year
You’ll take upper-year courses in Combinatorics and Optimization and other areas in the Faculty of Mathematics. With your remaining classes, you can choose electives from many of the 100 subject areas at Waterloo.
View a list of all the courses required for your degree.
Sample upper-year courses
CO 342 – Introduction to Graph Theory
CO 430 – Algebraic Enumeration
CO 452 – Integer Programming
CO 487 – Applied Cryptography
Advisors are here to help
With so much flexibility, you might have a lot of questions. We're here to help! If you're applying for admission, contact our Faculty of Math recruitment co-ordinator.
Once you're a Waterloo student, you'll have access to academic advisors who can help you
- choose your courses,
- select minors and specializations,
- ensure that you're meeting the requirements for your degree, and more.
Learn more
Overview of Waterloo's Combinatorics and Optimization degree program.