Supervisor of Studies: R. Pancer (416-287-7679) Email:

Program Objectives
This program provides basic knowledge of the foundations of computer science: modern computer software and hardware, theoretical aspects of computer science, and relevant areas of mathematics and statistics. This program is intended to be combined with other programs, typically a major program in another discipline.

Enrolment Requirements

The following enrolment requirements are effective as of the Summer 2019 session; Students applying to begin the program in Summer 2019, or in any subsequent session, must meet these requirements. These requirements are not retroactive to previous academic sessions.

Enrolment in the Major in Computer Science is limited.

Students may apply to enter the program after completing 4.0 credits, and must have passed all of the A-level CSC and MAT courses required in the program ( CSCA08H3, CSCA48H3, CSCA67H3, MATA22H3, MATA31H3, and MATA37H3). Students are admitted on the basis of academic performance in program courses; for more information about the admission requirements, please visit the following CMS webpage.

Students who are not admitted as above, and who are enrolled in the Minor in Computer Science, may apply after completing at least 7.5 credits, including the core A-level courses listed above as well as CSCB07H3*, CSCB09H3*, CSCB36H3*, and at least one of MATB24H3 or STAB52H3. Students are admitted on the basis of academic performance in program courses; for more information about the admission requirements, please visit the following CMS webpage.

*These courses have a CS subject POSt or minimum CGPA prerequisite.

Program Requirements
This program requires a total of 16 distinct courses (8.0 credits) satisfying all of the requirements listed below.

Note: Many Computer Science courses are offered both at U of T Scarborough and at the St. George campus. When a course is offered at both campuses in a given session, U of T Scarborough students are expected to take that course at U of T Scarborough. The Department of Computer Science at the St. George campus cannot guarantee space for U of T Scarborough students in their courses, especially those offered at both campuses.

1. A-level courses (3.0 credits)
CSCA08H3 Introduction to Computer Science I
CSCA48H3 Introduction to Computer Science II
CSCA67H3 Discrete Mathematics
MATA22H3 Linear Algebra I for Mathematical Sciences
MATA31H3 Calculus I for Mathematical Sciences
MATA37H3 Calculus II for Mathematical Sciences

2. B-level courses (3.0 credits)
CSCB07H3 Software Design
CSCB09H3 Software Tools and Systems Programming
CSCB36H3 Introduction to the Theory of Computation
CSCB58H3 Computer Organization
CSCB63H3 Design and Analysis of Data Structures
0.5 credit from the following*:

MATB24H3 Linear Algebra II
STAB52H3 Introduction to Probability
*Note: In making this choice, students should consider the prerequisites of courses they plan to take to satisfy requirements 3-4.

3. C-level courses in numerical computation and theory of computing (1.0 credit)
CSCC37H3 Introduction to Numerical Algorithms for Computational Mathematics
0.5 credit from the following:

CSCC63H3 Computability and Computational Complexity
CSCC73H3 Algorithm Design and Analysis

4. CSC electives (1.0 credit)
1.0 credits in any C- or D-level CSC courses.

Writing Recommendation:
Students are urged to take a course from the following list of courses by the end of their second year: ANTA01H3, ANTA02H3, ( CLAA02H3), ( CTLA19H3), CTLA01H3, ENGA10H3, ENGA11H3, ENGB06H3, ENGB07H3, ENGB08H3, ENGB17H3, ENGB19H3, ENGB50H3, ( ENGB51H3), GGRA02H3, GGRA03H3, GGRB05H3, ( GGRB06H3), ( HISA01H3), ( HLTA01H3), ( HUMA01H3), ( HUMA11H3), ( HUMA17H3), ( LGGA99H3), LINA01H3, PHLA10H3, PHLA11H3, WSTA01H3.