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

Master of Math (MMath) programs

You can choose to study in our MMath thesis program or our MMath Computer Science coursework program option.

  Coursework Thesis
Courses eight four, plus a thesis
Duration 12- 16 months one to two 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 Master of Math, specialization in Computer Science
  • Pursue industry work with advanced knowledge in computer science
  • Graduate with a Master of Math, specialization in Computer Science
  • Work in a research industry
  • Pursue your PhD

Accelerated master's - University of Waterloo students only

  • Start your graduate studies early by enrolling in graduate studies 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 (PDF) in your third year of study.

Additional master's 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: four years

Courses: four + 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 application, academic background and research experience you may be admissible or considered for an offer to one of our master's programs.

Co-op option

Combine a co-op option with your master's* and earn eight months or two 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.

*Co-op is not available to master's coursework students in the data science specialization.


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.