Courses for your Mathematical 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

Most of the required courses you’ll take will be combinatorics and optimization courses, with additional courses in mathematics. With your remaining classes, you can choose electives from many of the 100 subject areas at Waterloo.

Sample upper-year courses

CO 351 – Network Flow Theory
CO 372 – Portfolio Optimization Models
CO 456 – Introduction to Game Theory
CO 463 – Convex Optimization and Analysis

 

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 Mathematical Optimization program.