The Joint Honours Computer Science and "Z" academic plan, in conjunction with the common degree requirements in Table I in "Degree Requirements," requires a total of 40 courses (20 units), including the courses listed below and the joint honours requirements of "Z." Students not taking CS 115 or 135 are required to take an additional third or fourth year CS major course. The requirements on overall average of the Math Faculty and major averages for both plans must be met at the time of declaration of joint honours and must be maintained. It may take more than eight terms to complete a joint honours degree.
One of
CS 115 Introduction to Computer Science 1
CS 135 Designing Functional Programs
A 300- or 400-level CS major course in addition to those required below
One of
CS 136 Elementary Algorithm Design and Data Abstraction
CS 145 Design, Abstraction, and Implementation
All of
MATH 135 (or MATH 145) Algebra
MATH 136 (or MATH 146) Linear Algebra 1
MATH 137 (or MATH 147) Calculus 1
MATH 138 (or MATH 148) Calculus 2
MATH 239 (or MATH 249) Introduction to Combinatorics
STAT 230 (or STAT 240) Probability
STAT 231 (or STAT 241) Statistics
CM 339/CS 341 Algorithms
CS 240 Data Structures and Data Management
CS 241 Foundations of Sequential Programs
CS 245 Logic and Computation
CS 246 Software Abstraction and Specification
CS 251 Computer Organization and Design
CS 350 Operating Systems
One additional course chosen from CS 340-398, 440-489.
Two additional CS courses chosen from CS 440-489.