Students in this plan must fulfill all the requirements in Table I and Table II. 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-398, 440-489.

Two additional CS courses chosen from CS 440-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

(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 units.)

Three additional courses labelled ACTSC, AMATH, CO, PMATH, STAT, excluding the following:

- Courses with requisites normally excluding Honours CS students
- Courses cross-listed with a CS course
- Courses explicitly listed in CS major plans as alternatives to CS courses
- Readings and Topics courses
- ACTSC 221, CO 353, CS 380, CS 480

The 5.0 non-math units must satisfy the same restrictions as specified for the Bachelor of Computer Science.