Students in this academic plan must fulfil all the requirements of Table 1 and the following specific requirements:
- 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
- One of
- One of
- 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
- One of
- All of
- CS 136L Tools and Techniques for Software Development
- 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 additional course chosen from CS 340-CS 398, CS 440-CS 489.
- Two additional courses chosen from CS 440-CS 489, CS 499T.
- 5.0 non-math units, which must satisfy the same restrictions as specified for the Bachelor of Computer Science.