Departmental Honours Academic Plans: Requirements
Computer Science |
Honours Bachelor of Computer Science |
|
This plan is subject to the common degree requirements in Table I in "Degree Requirements."
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 127 Calculus 1 for the Sciences or MATH 137 Calculus 1 for Honours Mathematics or MATH 147 Calculus 1 (Advanced Level)
MATH 128 Calculus 2 for the Sciences or MATH 138 Calculus 2 for Honours Mathematics or MATH 148 Calculus 2 (Advanced Level)
MATH 135 Algebra for Honours Mathematics or MATH 145 Algebra (Advanced Level)
MATH 136 Linear Algebra 1 for Honours Mathematics or MATH 146 Linear Algebra 1 (Advanced Level)
MATH 239 Introduction to Combinatorics or MATH 249 Introduction to Combinatorics (Advanced Level)
STAT 230 Probability or STAT 240 Probability (Advanced Level)
STAT 231 Statistics or STAT 241 Statistics (Advanced Level)
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
Three additional CS courses chosen from CS 340-398, 440-489.
Two additional CS courses chosen from CS 440-489.
One additional course chosen from
CO 487/CM 432 Applied Cryptography
CM 461/STAT 440 Computational Inference
CS 440-498
CS 499T Honours Thesis
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.)
The selection of upper-year CS courses must include at least one course from each of at least two of the following area groups
Systems and SE: CS 343, 442, 444, 445, 446, 447, 450, 452, 454, 456, 457
Applications: CS 348, 448, 482, 483, 486, 488
Mathematical Foundations of CS: CS 360, 365, 370, 371, 462, 466, 475, 476, 487
The 5.0 non-math units must either be used to satisfy requirements for a minor or a joint honours plan outside the Faculty of Mathematics, or 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, MUSIC, PHIL, POLSH, PORT, REES, RS, RUSS, SPAN, SPCOM, UKRAN)
1.0 units from the social sciences (subjects from AFM, ANTH, APPLS, BUS, ECON, GEOG, HRM, INTST, INTTS, ISS, LS, MSCI, NATST, PACS, PSCI, PSYCH, REC, SMF, SOC, SOCWK, SPD, 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, ENVS, ERS, GERON, HLTH, KIN, PLAN)
Note: No course can be used to satisfy more than one of the above requirements.
Elective depth requirements
1.5 units at third-year level or higher with the same subject
or
1.5 units with the same subject forming a prerequisite chain of length three
|
|
|