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 discipline-specific courses. Please refer to the Academic Regulations for information on including a minor to your degree.

This program can be chosen only as a second study module as part of a 120-unit bachelor’s degree that allows a minor.

Direct admission is not possible.

CSI 2110Data Structures and Algorithms3 Units
CSI 2120Programming Paradigms3 Units
ITI 1100Digital Systems I3 Units
ITI 1120Introduction to Computing I3 Units
ITI 1121Introduction to Computing II3 Units
MAT 1348Discrete Mathematics for Computing3 Units
6 optional course units from the list of optional courses 16 Units
6 optional course units in computer science (CSI) or software engineering (SEG) at the 3000 level from the list of optional courses 16 Units
Total: 30 Units

Note(s)

1Suggested sequence of optional courses per field of interest. Note that some courses require prerequisites which are not part of the specific program requirements. Not all 4000 level courses are offered every year.

List of Optional Courses

Developing Software for the Visual Arts:
MAT 1341Introduction to Linear Algebra3 Units
CSI 2101Discrete Structures3 Units
CSI 3105Design and Analysis of Algorithms I3 Units
CSI 4130Computer Graphics3 Units
Computing for Biology or Biochemistry:
MAT 1341Introduction to Linear Algebra3 Units
CSI 2101Discrete Structures3 Units
CSI 3105Design and Analysis of Algorithms I3 Units
CSI 4126Algorithms in Bioinformatics3 Units
Analysis and Design in Information Systems:
CSI 2132Databases I3 Units
CSI 3130Databases II3 Units
SEG 2105Introduction to Software Engineering3 Units
SEG 3101Software Requirements Analysis3 Units
Web-Based Systems and Web Design:
CSI 2132Databases I3 Units
CSI 3140WWW Structures, Techniques and Standards3 Units
SEG 2105Introduction to Software Engineering3 Units
SEG 3125Analysis and Design of User Interfaces3 Units