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
The majority of the required courses you’ll take will be Computer Science courses, with additional courses in the Faculty of Mathematics. With your remaining classes, you can choose electives from many of the 100 subject areas at Waterloo.
Sample upper-year courses
CS 341 – Algorithms
CS 449 – Human-Computer Interaction
CS 459 – Privacy, Cryptography, Network and Data Security
CS 492 – The Social Implications of Computing
CS 486 – Introduction to Artificial Intelligence
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 Computer Science degree program.