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

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

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 for the Major. Students with a CGPA of 2.75 or greater across the core A-level courses (CSCA08H3, CSCA48H3, CSCA67H3, MATA22H3, MATA31H3, and MATA37H3) are guaranteed admission.

Students who are not admitted as above, may apply after completing at least 7.5 credits, including CSCA08H3, CSCA48H3, CSCA67H3, MATA22H3, MATA31H3, MATA37H3, CSCB07H3, CSCB09H3, CSCB36H3, CSCB63H3, and [one of MATB24H3 or STAB52H3]. The CGPA will be calculated across these 11 courses, and a CGPA of 2.75 or greater guarantees admission to the Major. Admission for students with a CGPA that is less than 2.75 will depend on their CGPA, and the space available in the program.

Program Requirements

This program requires a total of 16 distinct courses (8 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 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 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

One of: (*)
MATB24H3 Linear Algebra II
STAB52H3 Introduction to Probability
(*) 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 credit)
CSCC37H3 Introduction to Numerical Algorithms for Computational Mathematics
One of:
CSCC63H3 Computability and Computational Complexity
CSCC73H3 Algorithm Design and Analysis

4. CSC electives (1 credit)
Two of:
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.