Master of Science (M.Sc.) Computer Science (Non-thesis) – Information

McGill’s Master of Science (M.Sc.) Computer Science (Non-thesis) aims to prepare its students for high-end industry positions involving advanced development.

Students will learn about the latest developments in research and cutting edge technology in the classroom through advanced computer science courses given by the School’s research professors. They then apply the knowledge and gain hand-on experience through a 4-month industrial internship* or an academic research project. As such this program equips students with both the fundamental background as well as the technical skills that are needed to contribute to a rapidly evolving field.

This 45-credit program can be completed in 16 full-time months (typically Fall/Winter/Summer/Fall).

In its current form students have to attend talks throughout the first year in the School’s Computer Science Seminar to get a broad insight of current research challenges (COMP 602 in Fall and COMP 603 in Winter). Furthermore, they take 7-8 complementary courses with a breadth requirement. Finally, they conduct a moderate-scale 4-month research project under the supervision of a professor or Faculty Lecturer; this requires the submission of a research project report evaluated by the supervisor (see guidelines). In this context, there is also the possibility to collaborate with research groups across campus that have software development or data analysis needs that require computer science expertise.

The detailed program description of the current program can be found here.

The School is currently revising the program so that the research project can be replaced by an internship or additional courses, offering three paths to completion: courses and a research project, courses and an industrial internship, or courses only. These changes will likely be in place for students starting in 2023. As these changes are not yet approved, the remainder of this text uses an * whenever the internship course is mentioned.

In all cases, the courses must meet the Breadth Requirement, namely courses must be from at least two of the three areas of Theory, Systems, and Applications (see course classification (extra link that lists the courses). Students can take some of these complementary courses outside the School of Computer Science (e.g., in another university or in another department at McGill) with approval of the academic advisor.

Progress Tracking

In the second term of studies, students will meet with an assigned advisor and assess the progress made so far to see whether sufficient courses have been taken so far and the right courses for the fall semester are chosen. Furthemore, the student is advised in regard to the research project and the internship course* to ensure that a project topic or internship* is secured. A progress form must be filled by the student, discussed with the advisor, and signed by both. It must then be submitted to our Student Advising Supervisor.

Typical Timeline

The timeline below depicts the scenario where the student conducts a research project or an internship*.

First semester (Fall-1):

  • Meet with program advisor to design Masters plan and make course selection.
  • Take 2 or 3 complementary courses (6-12 credits)
  • Take COMP 602 (1 credit)

Second semester (Winter-1):

  • Take 2 or 3 complementary courses (6-12 credits)
  • Take COMP 603 (1 credit)
  • In preparation for the research project, identify the project’s supervisor and initiate discussion on research topic OR
  • *In preparation for the internship course prepare an application package and apply at relevant companies / organizations.

Third semester (Summer-1):

  • Carry out research project under the supervision of a professor or conduct internship*.

Fourth semester (Fall-2):

  • Take 2 or 3 complementary courses (6-12 credits)
  • Prepare and submit research project or internship* or report.

Note that all M.Sc. students have a minimum of 3 semesters and a maximum of 3 years to complete their degree. If you have exceeded the 3 year maximum, you will have to apply for readmission.

Streams

In order to guide students in their choices, we suggest them to take a majority of courses from one of two streams listed below. Note, however, that the program has a breadth requirement that requires students to take courses from at least two of the course categories Theory, Systems, and Applications. For the list of courses in each category see here.

A stream in Machine Learning and Data Science offers an in-depth coverage of both fundamental and applied concepts relevant in AI and machine learning and their applications for Data Science. A stream in Software and Computer Systems provides students with the building blocks and technical skills needed for the development of large scale and complex software systems.

Note that specializations will not appear on a student’s transcript and are simply intended to provide guidance for course selection.

Stream 1: Machine Learning and Data Science

COMP 514 - Applied Robotics
COMP 549 - Brain-Inspired Artificial Intelligence
COMP 550 - Natural Language Processing
COMP 551 - Applied Machine Learning
COMP 558 - Fundamentals of Computer Vision.
COMP 562 - Theory of Machine Learning
COMP 565 - Machine Learning in Genomics and Healthcare
COMP 579 - Reinforcement Learning
COMP 585 - Intelligent Software Systems
COMP 588 - Probabilistic Graphical Models
COMP 596 - From Natural Language to Data Science
COMP 597 - Automated Reasoning with Machine Learning
COMP 597 - Applications of Machine Learning in Real World Systems
COMP 598 - Machine Learning for Biomedical Data
COMP 598 - Data Science
COMP 599 - Network Science
COMP 599 - Natural Language Understanding with Deep Learning
COMP 611 - Mathematical Tools for Computer Science.
COMP 766 - Learning and Optimization for Robot Control
COMP 767 - Machine Learning Applied to Climate Change

Stream 2: Software and Computer Systems

COMP 512 - Distributed Systems
COMP 520 - Compiler Design.
COMP 521 – Modern Computer Games
COMP 523 - Language-based Security.
COMP 525 - Formal Verification
COMP 529 - Software Architecture.
COMP 533 - Model-Driven Software Development.
COMP 535 - Computer Networks
COMP 547 - Cryptography and Data Security
COMP 555 - Software Privacy
COMP 585 - Intelligent Software Systems
COMP 596 - Principles of Computer Systems
COMP 599 - Software Engineering for Building Intelligent Systems
COMP 599 - Topics in Mobile Application Development
COMP 614 - Distributed Data Management
COMP 667 - Software Fault Tolerance
COMP 764 - Advanced Topics Systems

Contact

For any specific questions, see contact information here.