Computer Science Specialist (Science Program) - ASSPE1689

Enrolment Requirements: 

This is a limited enrolment program that can only accommodate a certain number of students. Eligibility is based on the average of a student's grades in CSC148H1 and CSC165H1/​ CSC240H1 (where CSC240H1 grades are adjusted to account for the course's greater difficulty). In addition, students must have completed at least 4.0 FCEs and achieved a minimum grade of 70% in both CSC148H1 and CSC165H1/​ CSC240H1.

It is difficult to predict the minimum average required for admission in any given year. For more information, including some historical data, please visit


  • Students admitted to the program after second or third year will be required to pay retroactive deregulated program fees.
  • 100-level courses repeated as “extra” credits are not considered for program admission if a student has already passed specific 200-level CSC courses. For full details about repeating courses for admission to Computer Science, visit
Completion Requirements: 

(12.0 full course equivalents [FCEs], including at least 1.5 FCEs at the 400-level)

First year (2.5 FCEs):

1. CSC108H1, CSC148H1, CSC165H1/​ CSC240H1; MAT137Y1/​ MAT157Y1/​( MAT135H1, MAT136H1)


  1. Students with a strong background in an object-oriented language such as Python, Java or C++ may omit CSC108H1 and proceed directly with CSC148H1. There is no need to replace the missing half-credit for program completion; however, please base your course choice on what you are ready to take, not on “saving” a half-credit.
  2. CSC240H1 is an accelerated and enriched version of CSC165H1 plus CSC236H1, intended for students with a strong mathematical background, or who develop an interest after taking CSC165H1. If you take CSC240H1 without CSC165H1, there is no need to replace the missing half-credit for program completion; but please see Note (a).
  3. Consult the department's Undergraduate Office for advice about choosing among CSC108H1 and CSC148H1, and between CSC165H1 and CSC240H1.
  4. We recommend that students take MAT137Y1 or MAT157Y1, as they have been determined to provide the best preparation for upper-year courses in computer science and benefit students in CSC165H1/​ CSC240H1. Similarly, we recommend MAT223H1 or MAT240H1 from the options in second year.

Second year (3.5 FCEs):

2. CSC207H1, CSC209H1, CSC236H1/​ CSC240H1, CSC258H1, CSC263H1/​ CSC265H1; MAT223H1/​ MAT240H1/​ MAT221H1; STA247H1/​ STA255H1/​ STA257H1

Later years (6.0 FCEs):

3. CSC369H1, CSC373H1

4. 5.0 FCEs from the following:

with at most 2.0 FCEs from APM or MAT or STA courses, and at least 1.5 FCEs from 400-level CSC, BCB, or ECE courses.

No more than 1.0 FCE from CSC490H1, CSC491H1, CSC494H1, CSC495H1, BCB330Y1/​ BCB430Y1 may be used to fulfill program requirements.

The choices in 4 must satisfy the requirement for an integrative, inquiry-based activity by including one of the following half-courses: CSC301H1, CSC318H1, CSC404H1, CSC311H1/​ CSC411H1, CSC418H1, CSC420H1, CSC428H1, CSC454H1, CSC485H1, CSC490H1, CSC491H1, CSC494H1, CSC495H1. This requirement may also be met by participating in the PEY (Professional Experience Year) program. Transfer credits cannot comprise more than 1.0 FCE at the 300-/400-level, and cannot be used to satisfy the requirement for an integrative, inquiry-based activity. In addition, transfer credits cannot comprise more than 0.5 FCE of the 400-level CSC, BCB, or ECE courses required.

Choosing courses

This program offers considerable freedom to choose courses at the 300-/400-level, and you are free to make those choices on your own. We are eager to offer guidance, however, and both our Undergraduate Office and individual faculty members are a rich source of advice.