This focus takes a rigorous, mathematical approach to computational problem-solving: students will gain a deep understanding of algorithm paradigms and measures of problem complexity, and develop the skills necessary to convey abstract ideas with precision and clarity. Many of our students go on to graduate studies and sophisticated algorithmic work in industry. This focus has natural ties with many branches of mathematics and is the foundation of many computer science fields. Consequently, our students often apply their theoretical knowledge to other fields of interest.

We strongly encourage taking the enriched theory course options (CSC240H1, CSC265H1) as well as specialist/major versions of the MAT requirements for our focus. [Depending on courses selected for points 4 & 5, students may need to complete 0.5-1.0 FCE in addition to the 12.0 FCEs required to complete the Specialist program]

## Required Courses:

- MAT137Y1/MAT157Y1/MAT237Y1 (Note: if MAT237Y1 is used in this list it cannot be counted as part of the 2.0 FCEs for point 5, below.)
- CSC336H1/CSC350H1
- CSC463H1
- 1.5 FCEs from the following: CSC310H1, CSC438H1, CSC448H1, MAT332H1, MAT344H1, MAT443H1, At UTM: CSC322H5/MAT302H5, CSC422H5; CSC494H1/CSC495 project supervised by a faculty member from the Theory group, or a relevant introductory graduate course in Theory. (Note that students must petition to take a graduate course.)
- 2.0 FCEs from the following: APM236H1/MIE262H1, MIE263H1, APM421H1, APM461H1, MAT224H1/247H1, MAT237Y1/257Y1, MAT244H1/267H1, MAT301H1/347Y1, MAT315H1, MAT327H1, MAT334H1/MAT354H1, MAT337H1/357H1, any 400 level MAT course (except MAT443H1), STA248H1/261H1, STA347H1

## Recommended Courses:

- Students are strongly encouraged to take the enriched theory courses: CSC240H1 and CSC265H1, rather than their regular counterparts: CSC165H1/CSC236H1 and CSC263H1, respectively.

## Suggested Related Courses:

- BCB410H1
- CSC320H1/CSC418H1/CSC420H1, CSC321H1/CSC384H1/CSC411H1/CSC485H1, CSC343H1/CSC443H1, CSC351H1/CSC456H1, CSC358H1/CSC458H1, CSC412H1/CSC465H1/CSC486H1, CSC488H1.