Students in this plan must fulfill all the requirements in Table I and the following:
One of
CS 115 Introduction to Computer Science 1
CS 135 Designing Functional Programs
CS 145 Designing Functional Programs (Advanced Level)
One of
CS 136 Elementary Algorithm Design and Data Abstraction
CS 146 Elementary Algorithm Design and Data Abstraction (Advanced Level)
One of
MATH 127 Calculus 1 for the Sciences
MATH 137 Calculus 1 for Honours Mathematics
MATH 147 Calculus 1 (Advanced Level)
One of
MATH 128 Calculus 2 for the Sciences
MATH 138 Calculus 2 for Honours Mathematics
MATH 148 Calculus 2 (Advanced Level)
One of
MATH 135 Algebra for Honours Mathematics
MATH 145 Algebra (Advanced Level)
One of
MATH 136 Linear Algebra 1 for Honours Mathematics
MATH 146 Linear Algebra 1 (Advanced Level)
One of
MATH 239 Introduction to Combinatorics
MATH 249 Introduction to Combinatorics (Advanced Level)
One of
STAT 230 Probability
STAT 240 Probability (Advanced Level)
One of
STAT 231 Statistics
STAT 241 Statistics (Advanced Level)
All of
CS 240 Data Structures and Data Management
CS 241 Foundations of Sequential Programs
CS 245 Logic and Computation
CS 246 ObjectOriented Software Development
CS 251 Computer Organization and Design
CS 341 Algorithms
CS 350 Operating Systems
Three additional CS courses chosen from CS 340CS 398, CS 440CS 489.
Two additional CS courses chosen from CS 440CS 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 700level courses
(CS 600 or 700level courses may be taken only if an equivalent 400level 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.)
The 5.0 nonmath units must satisfy the following elective breadth and depth requirements. (Alternate plans must be approved by a CS advisor.)
Elective breadth requirements
1.0 units from the humanities (subjects from ARTS, CHINA, CLAS, CMW, CROAT, DAC, DRAMA, DUTCH, EASIA, ENGL, FINE, FR, GER, GRK, HIST, HUMSC, ITAL, ITALST, JAPAN, JS, KOREA, LAT, MEDVL, MUSIC, PHIL, POLSH, PORT, REES, RS, RUSS, SI, SPAN, SPCOM, VCULT)
1.0 units from the social sciences (subjects from AFM, ANTH, APPLS, ARBUS, BET, BUS, COMM, ECON, ENBUS, GEOG, HRM, INDEV, INTST, INTTS, ISS, LS, MSCI, NATST, PACS, PSCI, PSYCH, REC, SDS, SMF, SOC, SOCWK, STV, WS)
0.5 units from the pure sciences (subjects from BIOL, CHEM, EARTH, PHYS, SCI)
0.5 units from the pure and applied sciences (subjects from pure sciences plus ARCH, BME, CHEM, CIVE, ECE, ENVE, ENVS, ERS, GEOE, GERON, HLTH, KIN, ME, MNS, MTE, NE, PLAN, SYDE)
Elective depth requirements
1.5 units with the same subject, including at least 0.5 units at thirdyear level or higher
or
1.5 units with the same subject forming a prerequisite chain of length three
Notes
 No course can satisfy more than one of the breadth requirements.
 Courses with substantial math or computer science content, regardless of subject, do not satisfy the elective breadth or depth requirement. Students may wish to consult with the CS advisors about specific courses.

Courses from the "First Course" list for the Math Faculty Communication Skills Requirement do not satisfy the humanities breadth requirement. Courses only found in the "Second Course" list can satisfy both the humanities breadth requirement and the Communication Skills Requirement.
