Skip to content. Skip to navigation
McGill Home SOCS Home
Personal tools
You are here: Home Academic Undergraduates Programs Science Majors
Overview
Science Minors
Science Majors
Liberal
Honours
Joint Majors
Joint Honours
Arts Minors
Arts Majors
Arts & Science
Streams
FAQs



  • Science Major in Computer Science

  • This program is the standard Major program offered by the School of Computer Science. It provides a broad introduction to the principles of computer science and offers ample opportunity to acquire in-depth knowledge of several sub-disciplines. At the same time, its credit requirements allow students to take an additional minor.

  • Science Major in Computer Science: Computer Games Option

  • This program is a specialization within Computer Science. It fulfills all the basic requirements of the Major in Computer Science. Complementary courses focus on topics that are important to understanding the technology behind computer games and to gaining experience in software development and design needed for computer game development.

  • Science Major in Software Engineering

  • This program provides a broad introduction to the principles of computer science and covers in depth the design and development of software systems.


  • Possible course schedules.



Program Details


MAJOR IN COMPUTER SCIENCE
60-63 credits
COURSE CREDITS TITLE
Required courses: 27-30  
COMP 202* 3 Introduction to Computing 1
COMP 206 3 Introduction to Software Systems
COMP 250 3 Introduction to Computer Science
COMP 251 3 Data Structures and Algorithms
COMP 273 3 Introduction to Computer Systems
COMP 302 3 Programming Languages and Paradigms
COMP 310 3 Operating Systems
MATH 222 3 Calculus 3
MATH 223 3 Linear Algebra
MATH 240 3 Discrete Structures 1
Complementary courses: 33 (to be selected from the courses below)
At least 6 credits selected from:
COMP 330 3 Theoretical Aspects: Computer Science
COMP 350 3 Numerical Computing
COMP 360 3 Algorithm Design Techniques
At least 3 credits selected from:
COMP 303 3 Software Development
COMP 304 3 Object-oriented Design
3-9 credits selected from: (Must include at least one of MATH 323 and MATH 340)
MATH 318 3 Mathematical Logic
MATH 323 3 Probability
MATH 324 3 Statistics
MATH 340 3 Discrete Structures 2
The remaining credits selected from COMP courses at the 300-level or above
(except COMP 364, COMP 396, COMP 400, COMP 431) and ECSE 508
Notes:
*Students who have sufficient knowledge in a programming language do not need to take COMP 202.
Students must make sure they have the appropriate pre-requisites when choosing upper level courses.


 


Program Details


MAJOR IN COMPUTER SCIENCE: COMPUTER GAMES OPTION
62-67 credits
COURSE CREDITS TITLE
Required courses: 47-50  
COMP 202* 3 Introduction to Computing 1
COMP 206 3 Introduction to Software Systems
COMP 250 3 Introduction to Computer Science
COMP 251 3 Data Structures and Algorithms
COMP 273 3 Introduction to Computer Systems
COMP 302 3 Programming Languages and Paradigms
COMP 303 3 Software Development
COMP 308 1 Computer Systems Lab
COMP 310 3 Operating Systems
COMP 322 1 Introduction to C++
COMP 330 3 Theoretical Aspects: Computer Science
COMP 361D1 , COMP 361D2 3 , 3 Software Engineering Project
COMP 557 3 Fundamentals of Computer Graphics
MATH 222 3 Calculus 3
MATH 223 3 Linear Algebra
MATH 240 3 Discrete Structures 1
MATH 323 3 Probability
Complementary courses: 15-17 (to be selected from the courses below)
3 credits selected from:
COMP 350 3 Numerical Computing
COMP 360 3 Algorithm Design Techniques
6-8 credits selected from:
COMP 424 3 Artificial Intelligence
COMP 507 3 Computational Geometry
COMP 521 4 Modern Computer Games
COMP 522 4 Modelling and Simulation
COMP 529 4 Software Architecture
COMP 533 3 Object-oriented Software Development
COMP 559 4 Fundamentals of Computer Vision
6 credits selected from:
COMP 409 3 Concurrent Programming
COMP 421 3 Database Systems
COMP 535
OR COMP 435
3
3
Computer Networks 1
Basics of Computer Networks
Notes:
*Students who have sufficient knowledge in a programming language do not need to take COMP 202.  


 


Program Details


MAJOR IN SOFTWARE ENGINEERING
60-63 credits
COURSE CREDITS TITLE
Required courses: 36-39  
COMP 202* 3 Introduction to Computing 1
COMP 206 3 Introduction to Software Systems
COMP 250 3 Introduction to Computer Science
COMP 251 3 Data Structures and Algorithms
COMP 273 3 Introduction to Computer Systems
COMP 302 3 Programming Languages and Paradigms
COMP 303 3 Software Development
COMP 310
OR ECSE 427
3
3
Operating Systems
Operating Systems
COMP 361D1 , COMP 361 D2 3 , 3 Software Engineering Project
ECSE 429 3 Software Validation
MATH 223 3 Linear Algebra
MATH 240 3 Discrete Structures 1
Complementary courses: 24 (to be selected from the courses below)
At least 9 credits selected from Groups A and B, with at least 3 credits selected from each:
Group A:
MATH 222 3 Calculus 3
MATH 323 3 Probability
MATH 324 3 Statistics
Group B:
COMP 330 3 Theoretical Aspects: Computer Science
COMP 360 3 Algorithm Design Techniques
At least 15 credits selected from the following 2 lists, with at least 6 credits selected from 
Software Engineering Specializations, and at least 6 credits from Application Specialities:
Software Engineering Specializations:
COMP 409
OR ECSE 420
3
3
Concurrent Programming
Parallel Computing
COMP 523 3 Language-based Security
COMP 525 3 Formal Verification
COMP 529 4 Software Architecture
COMP 533 3 Object-oriented Software Development
Applications Specialities:
COMP 350 3 Numerical Computing
COMP 417 3 Introduction to Robotics and Intelligent Systems
COMP 421 3 Database Systems
COMP 424 3 Artifical Intelligence
COMP 512 4 Distributed Systems
COMP 520 4 Compiler Design
COMP 521 4 Modern Computer Games
COMP 522 4 Modelling and Simulation
COMP 535 3 Computer Networks 1
COMP 557
OR ECSE 532
3
3
Fundamentals of Computer Graphics
Computer Graphics
COMP 558 3 Fundamentals of Computer Vision
ECSE 424 3 Human-Computer Interaction
Notes:
*Students who have sufficient knowledge in a programming language do not need to take COMP 202.