Computer science at the School of Electrical Engineering and Computer Science combines the study of computation and information processing fundamentals with their application in the world around us. Computer scientists build fast, reliable, scalable and secure software systems to organize and analyze information. The honours curriculum comprises advanced topics in databases, artificial intelligence, computer graphics, security, distributed computing and algorithm design, culminating in an honours project. 

This program teaches graduates how to use their creative and innovative talents to conceive, design and implement software systems. The Extended French Stream (EFS) is now available to all students in the Computer Science program. Our degrees are very flexible and include options, minors and a major, which can be used to explore connections between computer science and many other fields of study.

This program is offered in English and in French. 

Compulsory courses are offered in English and French.

The table below includes only the discipline-specific courses. Please refer to the Academic Regulations for information on the Honours bachelor's with double major and the Honours bachelor's with major and minor.

Co-operative education is available when taken as part of an honours degree.

The extended French stream is available when taken as part of an honours degree.

Compulsory First-Year Courses:
ITI 1100Digital Systems I3 Units
ITI 1120Introduction to Computing I3 Units
ITI 1121Introduction to Computing II3 Units
3 course units from:3 Units
Calculus I
Calculus for the Life Sciences I
3 course units from:3 Units
Calculus II
Calculus for the Life Sciences II
MAT 1341Introduction to Linear Algebra3 Units
MAT 1348Discrete Mathematics for Computing3 Units
Other Required Courses:
CSI 2101Discrete Structures3 Units
CSI 2110Data Structures and Algorithms3 Units
CSI 2120Programming Paradigms3 Units
CSI 2132Databases I3 Units
CSI 2911Professional Practice in Computing3 Units
CSI 3105Design and Analysis of Algorithms I3 Units
3 course units from:3 Units
Probability and Statistics for Engineers
or a statistics course required in another minor or major
SEG 2105Introduction to Software Engineering3 Units
6 course units from: 16 Units
Programming Language Concepts
Databases II
Operating Systems
WWW Structures, Techniques and Standards
9 additional course units in computer science (CSI), software engineering (SEG) and computer engineering (CEG) at the 3000 or 4000 level 29 Units
Total: 60 Units

Note(s)

1

To be considered for admission to graduate studies in Computer Science your course selection must include: CSI 3131.

2

Six of these units may alternatively be science courses other than mathematics (MAT) at any level; this latter option is only available to students who would otherwise not be taking any science in their degree. CEG 2136 and CSI 2372 will be considered as 3000 level courses for the purpose of this rule. To be considered for admission to graduate studies in Computer Science, the choice of courses is constrained as follows: CEG 2136, CSI 3104 and one non-mathematics (MAT) science course or one computer science (CSI) course at the 4000 level.