MAJOR PROGRAM IN COMPUTER SCIENCE (SCIENCE)

Supervisor of Studies: R. Pancer (416-287-7679) Email: pancer@utsc.utoronto.ca

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 in the program. Students with a CGPA of at least 3.0 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 the core A-level courses listed above as well as CSCB07H3, CSCB09H3, CSCB36H3, CSCB63H3, and one of MATB24H3 or STAB52H3. Students with a CGPA of at least 3.0 across the B-level courses in the above list (CSCB07H3*, CSCB09H3*, CSCB36H3*, CSCB63H3*, and the best of MATB24H3 or STAB52H3) are guaranteed admission.

*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
and
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
and
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.