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



  • Science Honours in Computer Science

  • This program provides an in-depth introduction to the principles of computer science and offers ample opportunity to acquire in-depth knowledge of several sub-disciplines. Compared to the major in Computer Science, it has a stronger focus on the foundations of algorithms, contains a research component and requires students to take advanced courses that cover sub-areas in more detail.

  • Science Honours in Software Engineering

  • This program provides a more challenging and research-oriented version of the Major in Software Engineering.


  • Possible course schedules



Program Details


HONOURS IN COMPUTER SCIENCE
72-75 credits

Honours students must maintain a CGPA of at least 3.00 during their studies and at graduation.
COURSE CREDITS TITLE
Required courses: 42-45  
COMP 202* 3 Introduction to Computing 1
COMP 206 3 Introduction to Software Systems
COMP 250 3 Introduction to Computer Science
COMP 252 3 Algorithms and Data Structures
COMP 273 3 Introduction to Computer Systems
COMP 302 3 Programming Languages and Paradigms
COMP 310 3 Operating Systems
COMP 330 3 Theoretical Aspects: Computer Science
COMP 350 3 Numerical Computing
COMP 362 3 Honours Algorithm Design
COMP 400 3 Technical Project and Report
MATH 222 3 Calculus 3
MATH 223 3 Linear Algebra
MATH 240 3 Discrete Structures 1
MATH 340
OR MATH 350
3
3
Discrete Structures 2
Graph Theory and Combinatorics
Complementary courses: 30 (to be selected from the courses below)
At least 3 credits selected from:
COMP 303 3 Software Development
COMP 304 3 Object-oriented Design
6 credits selected from:
MATH 318 3 Mathematical Logic
MATH 323 3 Probability
MATH 324 3 Statistics
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.
At least 12 credits must be at the 500-level.
Notes:
*Students who have sufficient knowledge in a programming language do not need to take COMP 202.
Honours students must maintain a CGPA of at least 3.00 during their studies and at graduation.


 


Program Details


HONOURS IN SOFTWARE ENGINEERING
72-75 credits

Honours students must maintain a CGPA of at least 3.00 during their studies and at graduation.
COURSE CREDITS TITLE
Required courses: 39-42  
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
COMP 400 3 Technical Project and Report
ECSE 429 3 Software Validation
MATH 223 3 Linear Algebra
MATH 240 3 Discrete Structures 1
Complementary courses: 33 (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 18 credits selected from the following 2 lists, with at least 6 credits selected from 
Software Engineering Specializations, and at least 9 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
At least 6 credits selected from any COMP courses at the 500-level or above. These may include courses on the Software Engineering Specializations and Application Specialities lists.
Of the 33 credits, at least 12 credits must be at the 500-level or above. Courses at the 600- and 700-levels require special permission.
Notes:
*Students who have sufficient knowledge in a programming language do not need to take COMP 202.  
**Students who have successfully completed MATH 150 and MATH 151 are not required to take MATH 222.