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 French Immersion Stream 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 French immersion stream is available when taken as part of an honours degree.
Code | Title | Units |
---|---|---|
Compulsory First-Year Courses: | ||
ITI 1100 | Digital Systems I | 3 Units |
ITI 1120 | Introduction to Computing I | 3 Units |
ITI 1121 | Introduction to Computing II | 3 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 1341 | Introduction to Linear Algebra | 3 Units |
MAT 1348 | Discrete Mathematics for Computing | 3 Units |
Other Required Courses: | ||
CSI 2101 | Discrete Structures | 3 Units |
CSI 2110 | Data Structures and Algorithms | 3 Units |
CSI 2120 | Programming Paradigms | 3 Units |
CSI 2132 | Databases I | 3 Units |
CSI 2911 | Professional Practice in Computing | 3 Units |
CSI 3105 | Design and Analysis of Algorithms I | 3 Units |
3 course units from: | 3 Units | |
Probability and Statistics for Engineers | ||
or a statistics course required in another minor or major | ||
SEG 2105 | Introduction to Software Engineering | 3 Units |
6 course units from: 1 | 6 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 2 | 9 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.