Master of Science (M.Sc.) in Computer Science

[Note: The M.Sc. programs have undergone a revision starting Fall 2020. The main change is a reduction in the course credit requirements and an increase in the research credit requirements. Students who began the M.Sc. program prior to Fall 2020 may follow the requirements of the new program if they wish.]

We offer two M.Sc. programs - the Thesis and Non-Thesis. The Non-Thesis program will be sometimes referred to as the Project option since it substitutes a project (and additional courses) for a thesis. Both programs are designed to take between 1.5 and 2 years. The maximum allowable is 3 years. Students begin in the Thesis program, and may switch to the Project option any time after their second semester.

Students intending to pursue a Ph.D. after the M.Sc. should follow the Thesis program rather than the Non-Thesis program. Alternatively, students may apply to be fast-tracked to the Ph.D. program without completing the M.Sc.. Such applicants must have completed a minimum of two and a maximum of four full-time semesters, according to GPS rules. For more information, see the bottom of this web page.

Students in either M.Sc. program have a minimum residence requirement of three full-time semesters. Students may register for the Summer semester if they wish to complete their residence requirements. For further details on student status, see here.

Students should take a minimum of two Complementary courses in their first semester and should complete all four Complementary courses by the end of their second semester. In addition, students in their first two semesters should take the Seminar courses COMP 602 (Fall) and 603 (Winter).

Here is a brief summary of the requirements of the two M.Sc. programs. Both programs require:

  • three full-time terms of residence
  • two seminar courses COMP 602 and 603
  • a total of at least 45 credits

In addition, the Thesis program requires:

  • at least 14 credits of COMP (or approved) Complementary coursesat the 500 level or higher, which satisfy a Breadth Requirement (see below)
  • a thesis with significant scholarly content

and the Non-Thesis program requires:

  • at least 28 credits of COMP (or approved) Complementary courses at the 500 level or higher, which satisfy a Breadth Requirement (see below);
  • a research project (see guidelines)

Further details on the two programs including the course Breadth Requirement, the Letter of Understanding agreement between student and supervisor, and the Progress Report are given below.

M.Sc. Computer Science (Thesis) (45 credits)

Thesis Courses (29 credits)

At least 29 credits selected from:

  • COMP 691 Thesis Research 1 (3 credits)
  • COMP 696 Thesis Research 2 (3 credits)
  • COMP 697 Thesis Research 3 (4 credits)
  • COMP 698 Thesis Research 4 (10 credits)
  • COMP 699 Thesis Research 5 (12 credits)

Required Courses (2 credits)

  • COMP 602 Computer Science Seminar 1 (1 credit)
  • COMP 603 Computer Science Seminar 2 (1 credit)

Complementary Courses (14 credits)

At least 14 credits of COMP (or approved by MSc Graduate Program Director) courses at the 500-, 600-, or 700-level. Complementary courses must satisfy a Computer Science Breadth Requirement, with at least one course in two of the Theory, Systems, and Application areas.

Course Breadth Requirement

Courses must be taken from at least two of the three categories below (Theory, Systems, and Applications). The category of any course not listed below such as a new course or a 500 level Topics courses follows the general pattern of the existing courses. In cases of doubt, students should contact the Computer Science Graduate (M.Sc.) Program Director.

Category A: Theory

COMP 523 Language-based Security (3 credits)
COMP 524 Theoretical Foundations of Programming Languages (3 credits)
COMP 525 Formal Verification (3 credits)
COMP 527 Logic and Computation
COMP 531 Advanced Theory of Computation (3 credits)
COMP 540 Matrix Computations (4 credits)
COMP 547 Cryptography and Data Security (4 credits)
COMP 552 Combinatorial Optimization (4 credits)
COMP 553 Algorithmic Game Theory (4 credits)
COMP 554 Approximation Algorithms (4 credits)
COMP 560 Graph Algorithms and Applications (3 credits)
COMP 566 Discrete Optimization 1 (3 credits)
COMP 567 Discrete Optimization 2 (3 credits)
COMP 610 Information Structures 1 (4 credits)
COMP 627 Theoretical Programming Languages (4 credits)
COMP 642 Numerical Estimation Methods (4 credits)
COMP 647 Advanced Cryptography (4 credits)
COMP 649 Quantum Cryptography (4 credits)
COMP 690 Probabilistic Analysis of Algorithms (4 credits)
COMP 760 Advanced Topics Theory 1 (4 credits)
COMP 761 Advanced Topics Theory 2 (4 credits)

Category B: Systems

COMP 512 Distributed Systems (4 credits)
COMP 520 Compiler Design (4 credits)
COMP 529 Software Architecture (4 credits)
COMP 533 Model-Driven Software Development (3 credits)
COMP 535 Computer Networks 1 (4 credits)
COMP 575 Fundamentals of Distributed Algorithms (3 credits)
COMP 612 Database Programming Principles (4 credits)
COMP 614 Distributed Data Management (4 credits)
COMP 621 Program Analysis and Transformations (4 credits)
COMP 655 Distributed Simulation (4 credits)
COMP 667 Software Fault Tolerance (4 credits)
COMP 762 Advanced Topics Programming 1 (4 credits)
COMP 763 Advanced Topics Programming 2 (4 credits)
COMP 764 Advanced Topics Systems 1 (4 credits)
COMP 765 Advanced Topics Systems 2 (4 credits)

Category C: Applications

COMP 521 Modern Computer Games (4 credits)
COMP 522 Modellin and Simulation (4 credits)
COMP 526 Probabilistic Reasoning and AI (3 credits)
COMP 546 Computational Perception (4 credits)
COMP 550 Natural Language Processing (3 credits)
COMP 551 Applied Machine Learning (4 credits)
COMP 557 Fundamentals of Computer Graphics (4 credits)
COMP 558 Fundamentals of Computer Vision (4 credits)
COMP 559 Fundamentals of Computer Animation (4 credits)
COMP 561 Computational Biology Methods and Research (4 credits)
COMP 564 Advanced Computational Biology Methods and Research (3 credits)
COMP 579 Reinforcement Learning (4 credits)
COMP 618 Bioinformatics: Functional Genomics (3 credits)
COMP 680 Mining Biological Sequences (4 credits)
COMP 652 Machine Learning (4 credits)
COMP 766 Advanced Topics Applications 1 (4 credits)
COMP 767 Advanced Topics: Applications 2 (4 credits)

M.Sc. Computer Science (Non-Thesis) (45 credits)

Required Courses (2 credits)

  • COMP 602 Computer Science Seminar 1 (1 credit)
  • COMP 603 Computer Science Seminar 2 (1 credit)

Research Project Courses (15 credits)

  • COMP 693 Research Project 1 (3 credits)
  • COMP 694 Research Project 2 (6 credits)
  • COMP 695 Research Project 3 (6 credits)

Students who have taken any Thesis Research (1-5) courses prior to switching to the Non-Thesis program and who wish to use these credits (instead of Research Project course credits) toward their M.Sc. Non-Thesis program should contact the M.Sc. Graduate Program Director.

Complementary Courses (28 credits)

At least 28 credits of COMP (or approved by MSc Graduate Program Director) courses including at least three 4-credit courses at the 500, 600, or 700 level. The courses must meet the same Breadth Requirement as in the Thesis program (see above), namely courses must be from at least two of the three areas of Theory, Systems, and Applications.

Letter of Understanding

The letter of understanding must be filled by the student and the supervisor(s) at the initial meeting and signed by both. This letter of understanding must be uploaded by the student into MyProgress. If there are significant changes in the understanding, a new letter can be created and uploaded.

Annual Progress Report

Each student must meet annually with his/her supervisor or co-supervisors to assess the progress made during the previous year, and describe plans for the coming year. The progress form below must be filled by the student, discussed with the supervisor, and signed by both. A progress form must be filled each year (except the first year) before September 30th, and submitted to Ann Jack.

Annual Progress Form (PDF document)

Fast-tracking from the M.Sc. Thesis to the Ph.D. program

Excellent M.Sc. students who would like to pursue doctoral studies can apply to be "fast-tracked" to the Ph.D. program, after having completed a minimum of two and maximum of four full time semesters of the MSc Thesis program. Each fast-tracking application will be evaluated by the Ph.D. committee, in concert with the proposed Ph.D. supervisor, on a case-by-case basis. Evaluation criteria will include excellence of the academic record and achievements in research. M.Sc. students interested in fast-tracking to the Ph.D. program should discuss this option with their supervisor.


For more information, please contact Ann Jack(Graduate Program Coordinator).