Courses for your Combinatorics and Optimization degree

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

  • MATH 135 – Algebra for Honours Mathematics
  • MATH 137 – Calculus 1 for Honours Mathematics
  • Choose one course from
    • CS 115 – Introduction to Computer Science 1
    • CS 135 – Designing Functional Programs
  • One communication skills course
  • One elective

January to April

  • MATH 136 – Linear Algebra 1 for Honours Mathematics
  • MATH 138 – Calculus 2 for Honours Mathematics
  • Choose one course from
    • CS 116 – Introduction to Computer Science 2
    • CS 136 – Elementary Algorithm Design and Data Abstraction
  • Two electives
 

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.