You are here

Programs & courses

Students studying in a class

The School of Computer Science offers graduate programs leading to a  Master of Mathematics (MMath) or PhD degree.

Masters of Math (MMath) programs

You can choose to study in our MMath Thesis program or one of two coursework program options:

  1. MMath Computer Science 
  2. MMath Computer Science (Data Science specialization)
  COURSEWORK - includes both the specialization in Computer Science and Computer Science (Data Science) THESIS
Courses 8 4 + a thesis
Duration 1-2 years 2+ years
Duties Take advanced computer science courses in areas like machine learning and cloud computing
  • Work with a supervisor and conduct research
  • Write a thesis
  • Advance into senior industry roles quicker
  • Command a larger salary
  • Submit papers to research conferences
  • Present your ideas
  • Network with top professors and researchers


  • Graduate with a Masters of Math, specialization in Computer Science
  • Pursue industry work with advanced knowledge in computer science
  • Graduate with a Masters of Math, specialization in Computer Science
  • Work in a research industry
  • Pursue your PhD

Accelerated Masters - Waterloo students only

  • Start your graduate studies early by enrolling in graduate students while still enrolled in your undergraduate program
  • Only for Waterloo students enrolled in a BCS or BMath/CS degree.
  • Take graduate courses as early as fourth year.
  • Apply to our program in your third year of study.

Additional Masters programs

You can also enroll in one of our cross-disciplinary degrees to expand your studies in computer science and beyond.

PhD programs

Work alongside a professor as you explore independent research in one of our 16 areas of study. You can enroll in one of two programs: 

Degree requirements
Duration 4 years
Courses 4 + a thesis + defense
Duties Work with a faculty supervisor to conduct research
Studies Full-time

Part-time study for PhD is available to Waterloo staff only.

Direct entry into PhD programs

You can apply for consideration directly into our PhD programs from your undergraduate studies. Depending on your applicationacademic background and research experience you may be admissible or considered for an offer to one of our Masters programs.

Co-op option

Combine a co-op option with your masters or PhD and earn 8 months or 2 terms of experience before you graduate.

As part of the co-op process, you will:

  • Work with your supervisor to arrange a co-op position.
  • Find a co-op job that relates to your area of research.
  • Approve your job with the Director of Graduate Studies.
  • Use resources at the Centre for Career Action to update your resume and practice your interview skills.


There are a wide variety of courses that you can choose from in both computer science and math to develop your knowledge in these areas.

A full listing of courses is available under "current graduate students".
600 level | 700 level | 800 level

Student advising

Each student has a faculty advisor or supervisor, who can provide advice on course selection and scholarships, co-op and more.


1 faculty-student ratio; 50 annual masters graduates