Students in this plan must fulfil all the requirements in Table 1 and Table 2. This must include at least 27 math courses and the following specific requirements:
One of
MATH 237 Calculus 3 for Honours Mathematics
MATH 247 Calculus 3 (Advanced Level)
One of
MATH 239 Introduction to Combinatorics
MATH 249 Introduction to Combinatorics (Advanced Level)
All of
CS 240 Data Structures and Data Management
CS 241 Foundations of Sequential Programs
CS 245 Logic and Computation
CS 246 Object-Oriented Software Development
CS 251 Computer Organization and Design
CS 341 Algorithms
CS 350 Operating Systems
One of
AMATH 242/CS 371 Introduction to Computational Mathematics
CS 370 Numerical Computation
One of
CS 360 Introduction to the Theory of Computing
CS 365 Models of Computation
One additional CS course chosen from CS 340-CS 398, CS 440-CS 489.
Two additional CS courses chosen from CS 440-CS 489.
One additional course chosen from
CO 487 Applied Cryptography
CS 440-CS 498
CS 499T Honours Thesis
STAT 440 Computational Inference
CS 600- or 700-level courses
Note: CS 600- or 700-level courses may be taken only if an equivalent 400-level course does not exist and special permission is obtained from the instructor and a CS undergraduate advisor. Courses in this list may be counted as CS 0.5 unit.
Three additional courses with ACTSC, AMATH, CO, PMATH, STAT subject codes, excluding the following:
- Courses with requisites normally excluding Honours Computer Science students
- Courses cross-listed with a CS course
- Courses explicitly listed in Computer Science major plans as alternatives to CS courses
- Readings and topics courses
- ACTSC 221, CO 353, CO 380, CO 480
The 5.0 non-math units must satisfy the same restrictions as specified for the Bachelor of Computer Science.