General information on course sequences

The course sequence you need to follow is that of the year you first joined your program. For example, if you were admitted into your program in the fall of 2021, you must follow the course sequence of 2021-2022.

Please note:

  • Some courses are not offered every term.
  • Courses at levels 1000 and 2000 are offered in French and in English.
  • Some courses at levels 3000 and 4000 are not offered in French.
  • For the French course codes, refer to the French course sequence.
  • Courses with fewer than 10 registrants may be cancelled.

Useful links

Programs in this discipline

Honours BSc in Computer Science

This program cannot be combined with a minor in mathematics or statistics.

Course list for Honours BSc in Computer Science

Course sequence - Honours BSc in Computer Science (2024-2025)
YearFallWinter

1st

(30 units)

  • ITI 1120 | Introduction to Computing I
  • MAT 1320 | Calculus I
  • MAT 1341 | Introduction to Linear Algebra
  • Elective
  • Elective
  • ITI 1100 | Digital Systems I
  • ITI 1121 | Introduction to Computing II
  • MAT 1322 | Calculus II
  • MAT 1348 | Discrete Mathematics for Computing
  • Elective

2nd

(30 units)

  • CEG 2136 | Computer Architecture I
  • CSI 2110 | Data Structures and Algorithms
  • ENG 1112 | Technical Report Writing
  • SEG 2105 | Introduction to Software Engineering
  • Elective
  • CSI 2101 | Discrete Structures
  • CSI 2120 | Programming Paradigms
  • CSI 2132 | Databases I
  • MAT 2377 | Probability and Statistics for Engineers
  • CSI 2911 | Professional Practice in Computing

3rd

(30 units)

  • CSI 3105 | Design and Analysis of Algorithms I
  • CSI 3120 | Programming Language Concepts
  • Elective (CSI, SEG 3000 or 4000)
  • Elective
  • Elective
  • CSI 3104 | Introduction to Formal Languages
  • CSI 3131 | Operating systems
  • CSI 3140 | WWW Structures, Techniques and Standards
  • CEG 3185 | Introduction to Data Communications and Networking
  • Elective

4th

(30 units)

  • Either:
    • Elective (CEG, ELG, SEG 3000)
    • CSI 2372 | Advanced Programming Concepts with C++
  • Elective
  • Elective (CSI 4000)
  • Elective (CSI 4000)
  • Elective (CEG, ELG, SEG 3000 or CSI 4000)
  • CSI 4900 | Honours Project
  • Elective (CSI 4000)
  • Elective (CSI 4000)
  • Elective
  • Free elective

Elective: You must complete 9 courses (27 units) outside of computing (CEG, CSI, SEG, GNG 1106) and mathematics (MAT).

Honours BSc in Computer Science, Management and Entrepreneurship Option

This program cannot be combined with a minor in mathematics or statistics.

Course list for Honours BSc in Computer Science, Management and Entrepreneurship Option

Course sequence - Honours BSc in Computer Science, Management and Entrepreneurship Option (2024-2025)
YearFallWinter

1st

(30 units)

  • ADM 1100 | Introduction to Business Management
  • ITI 1120 | Introduction to Computing I
  • MAT 1320 | Calculus I
  • MAT 1341 | Introduction to Linear Algebra
  • Elective
  • ITI 1100 | Digital Systems I
  • ITI 1121 | Introduction to Computing II
  • MAT 1322 | Calculus II
  • MAT 1348 | Discrete Mathematics for Computing
  • Free elective

2nd

(30 units)

  • CEG 2136 | Computer Architecture I
  • CSI 2110 | Data Structures and Algorithms
  • ENG 1112 | Technical Report Writing
  • SEG 2105 | Introduction to Software Engineering
  • Free elective
  • ADM 2320 | Marketing
  • CSI 2101 | Discrete Structures
  • CSI 2120 | Programming Paradigms
  • CSI 2132 | Databases I
  • CSI 2911 | Professional Practice in Computing

3rd

(30 units)

  • ADM 1340 | Financial Accounting
  • CSI 3105 | Design and Analysis of Algorithms I
  • CSI 3120 | Programming Language Concepts
  • Elective
  • Free elective
  • ADM 3313 | New Venture Creation
  • CSI 3104 | Introduction to Formal Languages
  • CSI 3131 | Operating systems
  • MAT 2377 | Probability and Statistics for Engineers
  • Free elective

4th

(30 units)

  • Either:
    • Elective (CEG, ELG, SEG 3000)
    • CSI 2372 | Advanced Programming Concepts with C++
  • Elective
  • Free elective
  • Elective (CSI 4000)
  • Elective (CSI 4000)
  • CSI 4900 | Honours Project
  • Elective (CSI 4000)
  • Elective
  • Elective (Choose a course from: ADM 1101, ADM 2336, ADM 3318, ADM 3319, ADM 3326, GNG 4120, GNG 4170 and PHI 2397)
  • Free elective

Elective: You must complete 4 courses (12 units) outside of computing (CEG, CSI, SEG, GNG 1106) and mathematics (MAT). It is recommended to choose humanities and social sciences courses.

Honours BSc in Computer Science, Data Science Option

This program cannot be combined with a minor in mathematics or statistics.

Course list for Honours BSc in Computer Science, Data Science Option

Course sequence - Honours BSc in Computer Science, Data Science Option (2024-2025)
YearFallWinter

1st

(30 units)

  • ITI 1120 | Introduction to Computing I
  • MAT 1320 | Calculus I
  • MAT 1341 | Introduction to Linear Algebra
  • Free elective
  • Elective
  • ITI 1100 | Digital Systems I
  • ITI 1121 | Introduction to Computing II
  • MAT 1322 | Calculus II
  • MAT 1348 | Discrete Mathematics for Computing
  • Elective

2nd

(30 credits)

  • CEG 2136 | Computer Architecture I
  • CSI 2110 | Data Structures and Algorithms
  • ENG 1112 | Technical Report Writing
  • SEG 2105 | Introduction to Software Engineering
  • Elective
  • CSI 2101 | Discrete Structures
  • CSI 2120 | Programming Paradigms
  • CSI 2132 | Databases I
  • MAT 2377 | Probability and Statistics for Engineers
  • CSI 2911 | Professional Practice in Computing

3rd

(30 units)

  • CSI 3105 | Design and Analysis of Algorithms I
  • CSI 3120 | Programming Language Concepts
  • CSI 3130 | Databases II
  • Elective
  • Elective
  • CSI 3104 | Introduction to Formal Languages
  • CSI 3131 | Operating systems
  • CSI 3140 | WWW Structures, Techniques and Standard
  • CEG 3185 | Introduction to Data Communications and Networking
  • Free elective

4th

(30 units)

  • Either:
    • Elective (CEG, ELG, SEG 3000)
    • CSI 2372 | Advanced Programming Concepts with C++
  • Elective (CSI 4000) 9 credits from: CSI 4106, CSI 4107, CSI 4108, CSI 4139
  • Elective (CSI 4000) 9 credits from: CSI 4106, CSI 4107, CSI 4108, CSI 4139
  • Elective
  • Elective
  • CSI 4142 | Introduction to Data Science
  • CSI 4900 | Honours Project
  • Elective (CSI 4000) 9 credits from: CSI 4106, CSI 4107, CSI 4108, CSI 4139
  • Elective (CEG, ELG, SEG 3000 or CSI 4000)
  • Elective

Elective: You must complete 8 courses (24 units) outside of computing (CEG, CSI, SEG, GNG 1106). You are encouraged to choose 4 courses (12 units) of administration, humanities, science or social science courses that relate to the data science domain.

Joint BSc in Computer Science and Mathematics

Course sequence - Joint BSc in Computer Science and Mathematics (2024-2025)
YearFallWinter

1st

(30 units)

  • ITI 1120 | Introduction to Computing I
  • MAT 1320 | Calculus I
  • MAT 1341 | Introduction to Linear Algebra
  • ENG 1112 | Technical Report Writing
  • Free elective
  • ITI 1100 | Digital Systems I
  • ITI 1121 | Introduction to Computing II
  • MAT 1322 | Calculus II
  • MAT 1348 | Discrete Mathematics for Computing
  • Free elective

2nd

(33 units)

  • CEG 2136 | Computer Architecture I
  • CSI 2110 | Data Structures and Algorithms
  • MAT 2122 | Multivariable Calculus
  • MAT 2141 | Linear Algebra I
  • MAT 2371 | Introduction to Probability
  • CSI 2101 | Discrete Structures
  • CSI 2120 | Programming Paradigms
  • CSI 2132 | Databases I
  • CSI 2911 | Professional Practice in Computing
  • MAT 2125 | Elementary Real Analysis
  • MAT 2143 | Algebraic Structures

3rd

(27 units)

  • CSI 3105 | Design and Analysis of Algorithms I
  • SEG 2105 | Introduction to Software Engineering
  • MAT (2000) – list 3 credits of electives from: MAT 2324, MAT 2355 or MAT 2362
  • (MAT 3000) elective
  • Free elective
  • CSI 3104 | Introduction to Formal Languages
  • CSI 3131 | Operating systems
  • MAT 2375 | Introduction to Statistics
  • Elective (CSI, SEG 3000/4000)

4th

(30 units)

  • CSI/SEG (3000) – list 3 credits from: CSI 3130, CSI 3140 or CEG 3185
  • Elective (CSI 4000)
  • Elective (MAT 3000)
  • Elective (MAT 4000)
  • Free elective
  • Elective (CSI 4000)
  • Elective (MAT 3000)
  • Elective (MAT 3000)
  • Elective (MAT 4000)
  • Free elective

Major in Computer Science

Course list for Major in Computer Science

Please note the courses MAT 2377, MAT 1371, MAT 1372, MAT 2371, MAT 2375, MAT 2378, MAT 2379, ADM 2303, ECO 3150, HSS 2381, PSY 2106 cannot be combined for units.

Course sequence - Major in Computer Science (2024-2025)
YearFallWinter

1st

(30 units)

  • ITI 1120 | Introduction to Computing I
  • MAT 1341 | Introduction to Linear Algebra
  • Either:
    • MAT 1320 | Calculus I
    • MAT 1330 | Calculus for the Life Sciences I
  • Opt 1/ Opt 2
  • Opt 1/ Opt 2
  • ITI 1100 | Digital Systems I
  • ITI 1121 | Introduction to Computing II
  • MAT 1348 | Discrete Mathematics for Computing
  • Either:
    • MAT 1322 | Calculus II
    • MAT 1332 | Calculus for the Life Sciences II
  • Opt 1/ Opt 2

2nd

(30 units)

  • CSI 2110 | Data Structures and Algorithms
  • SEG 2105 | Introduction to Software Engineering
  • Opt 1/ Opt 2
  • Opt 1/ Opt 2
  • Opt 1/ Opt 2
  • Either (3 units from MAT2377, MAT3172, MAT3375, MAT3377 and complete it in the fall or winter term depending on when the chosen course is offered):
    • MAT2377 | Probability and Statistics for Engineers
    • MAT3172 | Foundations of Probability
    • MAT3375 | Regression Analysis
    • MAT3377 | Sampling and Surveys
  • CSI 2101 | Discrete Structures
  • CSI 2120 | Programming Paradigms
  • CSI 2132 | Databases I
  • Either (3 units from MAT2377, MAT3172, MAT3375, MAT3377 and complete it in the fall or winter term depending on when the chosen course is offered):
    • MAT2377 | Probability and Statistics for Engineers
    • MAT3172 | Foundations of Probability
    • MAT3375 | Regression Analysis
    • MAT3377 | Sampling and Surveys
  • CSI 2911 | Professional Practice in Computing

3rd

(30 units)

  • CSI 3105 | Design and Analysis of Algorithms I
  • Elective 6 units from CSI 3120, CSI 3130, CSI 3131 or CSI 3140
  • Elective 9 units from CEG/CSI/SEG (3000 or over)
  • Opt 1/ Opt 2
  • Opt 1/ Opt 2
  • Elective 6 units from CSI 3120, CSI 3130, CSI 3131 or CSI 3140
  • Elective 9 units from CEG/CSI/SEG (3000 or over)
  • Opt 1/ Opt 2
  • Opt 1/ Opt 2
  • Opt 1/ Opt 2

4th

(30 units)

  • Elective 9 units from CEG/CSI/SEG (3000 or over)
  • Opt 1/ Opt 2
  • Opt 1/ Opt 2
  • Opt 1/ Opt 2
  • Opt 1/ Opt 2
  • Opt 1/ Opt 2
  • Opt 1/ Opt 2
  • Opt 1/ Opt 2
  • Opt 1/ Opt 2
  • Opt 1/ Opt 2

Opt 1/ Opt 2, either:

  • Opt 1: Minor from another Faculty and 30 units electives
  • Opt 2: Second major from another Faculty

Minor in Computer Science

This program is designed to be combined with a major or honors with specialization in a discipline other than science.

Mandatory courses (30 units)

  • CSI 2110 | Data Structures and Algorithms
  • CSI 2120 | Programming Paradigms
  • ITI 1100 | Digital Systems I
  • ITI 1120 | Introduction to Computing I
  • ITI 1121 | Introduction to Computing II
  • MAT 1348 | Discrete Mathematics for Computing
  • 6 units from the list of optional courses
  • 6 units in CSI or SEG 3000 level of optional courses

Optional courses (12 units)

Here is a suggested sequence of optional courses per field of interest. Some courses require prerequisites which are not part of the specific program requirements. Please note that not all 4000 level courses are offered every year.

Developing software for the visual arts

  • MAT 1341 | Introduction to Linear Algebra
  • CSI 2101 | Discrete Structures
  • CSI 3105 | Design and Analysis of Algorithms I
  • CSI 4130 | Computer Graphics

Analysis and design in information systems

  • CSI 2132 | Databases I
  • CSI 3130 | Databases II
  • SEG 2105 | Introduction to Software Engineering
  • SEG 3101 | Software Requirements Analysis

Web-based systems and Web design:

  • CSI 2132 | Databases I
  • CSI 3130 | Databases II
  • SEG 2105 | Introduction to Software Engineering
  • SEG 3125 | Analysis and Design of User Interfaces

Minor in Computer Science for Scientists

This program is designed to be combined with a major or honours with specialization in the field of science.

Courses (30 units)

  • CSI 2101 | Discrete Structures
  • CSI 2110 | Data Structures and Algorithms
  • CSI 3105 | Design and Analysis of Algorithms I
  • ITI 1120 | Introduction to Computing I
  • Either:
    • MAT 1320 | Calculus I
    • MAT 1330 | Calculus for the Life Sciences I
  • MAT 1341 | Introduction to Linear Algebra
  • MAT 1348 | Discrete Mathematics for Computing
  • 3 units from CSI or SEG at the 2000, 3000, 4000 level