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.
Co-operative education is available with this program.
The French immersion stream is available with this program.
Requirements for this program have been modified. Please consult the 2019-2020 calendars for the previous requirements.
|ENG 1112||Technical Report Writing||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 1320||Calculus I||3 Units|
|MAT 1322||Calculus II||3 Units|
|MAT 1341||Introduction to Linear Algebra||3 Units|
|MAT 1348||Discrete Mathematics for Computing||3 Units|
|CEG 2136||Computer Architecture I||3 Units|
|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|
|MAT 2377||Probability and Statistics for Engineers||3 Units|
|SEG 2105||Introduction to Software Engineering||3 Units|
|CSI 3104||Introduction to Formal Languages||3 Units|
|CSI 3105||Design and Analysis of Algorithms I||3 Units|
|CSI 3120||Programming Language Concepts||3 Units|
|CSI 3131||Operating Systems||3 Units|
|CSI 3140||WWW Structures, Techniques and Standards||3 Units|
|CEG 3185||Introduction to Data Communications and Networking||3 Units|
|CSI 4900||Honours Project||3 Units|
|One option from the following:||6 Units|
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
|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 level||12 Units|
|3 optional course units in computer science (CSI) or software engineering (SEG) at the 3000 or 4000 level||3 Units|
|27 course units of non-computing, non mathematics courses 1||27 Units|
|3 course units of free elective courses||3 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.