Masters Courses

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. Chosen courses must meet the Course Breadth Requirement (see below)

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 below), namely courses must be from at least two of the three areas of Theory, Systems, and Applications.

Classification of Courses

Course Breadth Requirement

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.

Courses must be taken from at least two of the three categories described below (Theory, Systems, and Applications).

External Courses

Only ONE course in the below categories can be taken at an institution outside of McGill.

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)