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.

Co-operative education is available with this program.

The extended French stream is available with this program.

Requirements for this program have been modified. Please consult the 2015-2016 calendars for the previous requirements.

ENG 1112Technical Report Writing3 Units
ITI 1100Digital Systems I3 Units
ITI 1120Introduction to Computing I3 Units
ITI 1121Introduction to Computing II3 Units
MAT 1320Calculus I3 Units
MAT 1322Calculus II3 Units
MAT 1341Introduction to Linear Algebra3 Units
MAT 1348Discrete Mathematics for Computing3 Units
CEG 2136Computer Architecture I3 Units
CSI 2101Discrete Structures3 Units
CSI 2110Data Structures and Algorithms3 Units
CSI 2120Programming Paradigms3 Units
CSI 2132Databases I3 Units
CSI 2911Professional Practice in Computing3 Units
MAT 2377Probability and Statistics for Engineers3 Units
SEG 2105Introduction to Software Engineering3 Units
CSI 3104Introduction to Formal Languages3 Units
CSI 3105Design and Analysis of Algorithms I3 Units
CSI 3120Programming Language Concepts3 Units
CSI 3130Databases II3 Units
CSI 3131Operating Systems3 Units
CSI 3140WWW Structures, Techniques and Standards3 Units
CEG 3185Introduction to Data Communications and Networking3 Units
CSI 4900Honours Project3 Units
One option from the following:6 Units
Option 1:
6 optional course units in computer engineering (CEG), in electrical engineering (ELG) or in software engineering (SEG) at the 3000 level; or in computer science (CSI) at the 4000 level
Option 2:
Advanced Programming Concepts With C++
and 3 optional course units in computer engineering (CEG), in electrical engineering (ELG) or in software engineering (SEG) at the 3000 level; or in computer science (CSI) at the 4000 level
12 optional course units in computer science (CSI) at the 4000 level12 Units
27 course units of non-computing, non mathematics courses 127 Units
3 course units of free elective courses3 Units
Total: 120 Units



As electives, students are encouraged to choose fifteen units of business or science courses (other than MAT) and twelve units of humanities or social sciences courses. Alternatively, students may take a minor in a domain in which they expect to apply computing skills: The minor in Information Management Systems is specifically designed for this. See School of Management.