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.
Requirements for this program have been modified. Please consult the 2019-2020 calendars for the previous requirements.
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.
Code | Title | Units |
---|---|---|
CSI 2110 | Data Structures and Algorithms | 3 Units |
CSI 2120 | Programming Paradigms | 3 Units |
ITI 1100 | Digital Systems I | 3 Units |
ITI 1120 | Introduction to Computing I | 3 Units |
ITI 1121 | Introduction to Computing II | 3 Units |
MAT 1348 | Discrete Mathematics for Computing | 3 Units |
6 optional course units from the list of optional courses 1 | 6 Units | |
6 optional course units in computer science (CSI) or software engineering (SEG) at the 3000 level from the list of optional courses 1 | 6 Units | |
Total: | 30 Units |
Note(s)
- 1
- Suggested 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
Code | Title | Units |
---|---|---|
Developing Software for the Visual Arts: | ||
MAT 1341 | Introduction to Linear Algebra | 3 Units |
CSI 2101 | Discrete Structures | 3 Units |
CSI 3105 | Design and Analysis of Algorithms I | 3 Units |
CSI 4130 | Computer Graphics | 3 Units |
Computing for Biology or Biochemistry: | ||
MAT 1341 | Introduction to Linear Algebra | 3 Units |
CSI 2101 | Discrete Structures | 3 Units |
CSI 3105 | Design and Analysis of Algorithms I | 3 Units |
Analysis and Design in Information Systems: | ||
CSI 2132 | Databases I | 3 Units |
CSI 3130 | Databases II | 3 Units |
SEG 2105 | Introduction to Software Engineering | 3 Units |
SEG 3101 | Software Requirements Analysis | 3 Units |
Web-Based Systems and Web Design: | ||
CSI 2132 | Databases I | 3 Units |
CSI 3140 | WWW Structures, Techniques and Standards | 3 Units |
SEG 2105 | Introduction to Software Engineering | 3 Units |
SEG 3125 | Analysis and Design of User Interfaces | 3 Units |