Year 1 (U1)

Fall: COMP 202 - Introduction to Computing 1 (prereq CEGEP MATH)
MATH 240 - Discrete Structures 1 (coreq MATH 133, MATH 260)
MATH 222 - Calculus 3 (prereq MATH 141)
MATH 323 - Probability Theory (prereq MATH 141)
Elective

For students starting with COMP 250, replace COMP 202 with:
COMP 250 - Introduction to Computer Science (prereq COMP 202 or equiv)

Winter: COMP 206 - Introduction to Software Systems (prereq COMP 202)
COMP 250 - Introduction to Computer Science (prereq COMP 202 or equiv)
MATH 223 - Linear Algebra (prereq MATH 133)
MATH 324 - Statistics (prereq MATH 323)
Elective

For students who have already completed COMP 250 in the fall term, replace COMP 250 with:
COMP 251 - Data Structures and Algorithms (COMP 250, MATH 240)

Year 2 (U2)

Fall: COMP 251 - Data Structures and Algorithms (prereq COMP 250, MATH 240)
COMP 273 - Introduction to Computer Systems (prereq COMP 206)
COMP 302 - Programming Languages and Paradigms (prereq COMP 250)
ECSE 321 - Introduction to Software Engineering (prereq COMP 202)
Elective

For students who have already completed COMP 251, replace COMP 251 with an elective or any required or complementary course for which you have completed the prerequisites.

Winter: COMP 304 - Object-Oriented Design (prereq COMP 206, COMP 251, COMP 302)
COMP 361 - Systems Programming Project (prereq COMP 206)
ECSE 427 - Operating Systems (prereq COMP 273)
Complementary
Elective

COMP 310 and ECSE 427 are equivalent from a pre-requisite point of view.

Year 3 (U3)

Fall: COMP 330 - Theoretical Aspects of Computer Science (prereq COMP 251)
COMP 360 - Algorithm Design Techniques (prereq COMP 251)
ECSE 429 - Software Validation (prereq ECSE 321)
Complementary
Elective

Winter: ECSE 428 - Software Engineering Practice (prereq ECSE 321)
ECSE 495 - Software Engineering Design Project (prereq ECSE 321)
Complementary
2 Electives

McGill | SOCS | Software Engineering Last modified: 7/13/05, Jörg Kienzle