Computer Science Major (Science Program) - ASMAJ1689

Enrolment Requirements: 

This is a limited enrolment program. To be eligible to submit an application, students must have completed at least 4.0 FCEs including CSC148H1 (with a minimum grade of 70%) and CSC165H1/​ CSC240H1 (with a minimum grade of 70%). Students will be assessed based on a competitive average across these courses, and a supplemental application which will be considered alongside their academic results.


  1. Requests for admission will be considered in the first program request period only. For detailed program enrolment instructions and application deadlines for restricted programs please click here.
  2. Due to the limited enrolment nature of this program students are strongly advised to plan to enroll in backup programs.
  3. Students admitted to the program after second or third year will be required to pay retroactive deregulated program fees.
Completion Requirements: 

(8.0 full course equivalents [FCEs], including at least 0.5 FCE 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 CSC240H without CSC165H1, there is no need to replace the missing half-credit for program completion; but please see Note (a).
  3. Consult the 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, if students choose one of these options in their later years.

Second year (2.5 FCEs):

2. CSC207H1, CSC236H1/​ CSC240H1, CSC258H1, CSC263H1/​ CSC265H1; STA247H1/​ STA255H1/​ STA257H1

Later years (3.0 FCEs):
3. 3.0 FCEs from the following:

with at least 0.5 FCE from a 400-level CSC/BCB course, at least 1.0 additional FCE from 300-/400-level CSC/BCB/ECE courses, and at least 0.5 additional FCE from a 300-/400-level course.

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

The choices in 3 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 be used to satisfy the requirement for 0.5 FCE at the 400-level in CSC/BCB.