## 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.