Computer Science

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.


Mathematics and statistics are not only powerful problem-solving tools, but also highly creative fields of studies that combine imagination with logic, and precision with intuition. 

Mathematics is much more than numbers! Its basic goal is to reveal and model general patterns to help explain our world, whether they be found in electrical impulses in the human nervous system, the evolution of animal populations in their habitats, fluctuations in stock-market prices, or electronic communications. Mathematics reaches far beyond science and engineering into medicine, business and the social sciences. 

Advances in mathematics and statistics lie behind many discoveries that are now part of our daily lives, such as MRI scanners, digital compression of music and video, secure electronic communications, data mining, genomic algorithms, futures pricing, and many other innovations. 

The Department of Mathematics and Statistics offers Honours, majors and minors both in mathematics and in statistics. Our Honours program in statistics is accredited by the Statistical Society of Canada, allowing graduates to earn the A.Stat. professional designation. Moreover, the Department offers a joint honours program in mathematics and economics, a joint honours program in mathematics and computer science, as well as a multidisciplinary program in financial mathematics and economics. All our honours programs also include the co-operative education option.

This program is offered in English and in 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
Mathematics (51 course units)
MAT 1320Calculus I3 Units
MAT 1322Calculus II3 Units
MAT 1341Introduction to Linear Algebra3 Units
MAT 1348Discrete Mathematics for Computing3 Units
MAT 2122Multivariable Calculus3 Units
MAT 2125Elementary Real Analysis3 Units
MAT 2141Honours Linear Algebra3 Units
MAT 2143Introduction to Group Theory3 Units
MAT 2371Introduction to Probability3 Units
MAT 2375Introduction to Statistics3 Units
3 course units from:3 Units
Ordinary Differential Equations and the Laplace Transform
Introduction to Geometry
Foundations of Mathematics
12 optional course units in mathematics (MAT) at the 3000 or 4000 level 1, 212 Units
6 optional course units in mathematics (MAT) at the 4000 level 1, 26 Units
Computer Science (51 course units)
ITI 1100Digital Systems I3 Units
ITI 1120Introduction to Computing I3 Units
ITI 1121Introduction to Computing II3 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
SEG 2105Introduction to Software Engineering3 Units
CSI 3104Introduction to Formal Languages3 Units
CSI 3105Design and Analysis of Algorithms I3 Units
CSI 3131Operating Systems3 Units
3 course units from:3 Units
Introduction to Data Communications and Networking
Databases II
WWW Structures, Techniques and Standards
3 optional course units in computer science (CSI) or software engineering (SEG) at the 3000 or 4000 level3 Units
6 optional course units in computer science (CSI) at the 4000 level6 Units
15 elective course units 115 Units
Total: 120 Units