CSC240H1: Enriched Introduction to the Theory of Computation


The rigorous application of logic and proof techniques to Computer Science. Propositional and predicate logic; mathematical induction and other basic proof techniques; correctness proofs for iterative and recursive algorithms; recurrence equations and their solutions (including the Master Theorem); introduction to automata and formal languages. This course covers the same topics as CSC236H1, together with selected material from CSC165H1, but at a faster pace, in greater depth and with more rigour, and with more challenging assignments. Greater emphasis will be placed on proofs and theoretical analysis. Certain topics briefly mentioned in CSC165H1 or CSC236H1 may be covered in more detail in this course, and some additional topics may also be covered.

CSC110Y1 (with a minimum mark of at least 70%) / CSC165H1 (with a minimum mark of at least 85%) / students with a strong mathematical background who have not completed CSC110Y1 or CSC165H1 may enrol in CSC240H1 as an enriched alternative to CSC165H1
Corequisite: CSC111H1/ CSC148H1; MAT137Y1/ MAT157Y1. MAT135H1 and MAT136H1 do not provide appropriate preparation for CSC240H1. Students with programming experience equivalent to CSC111H1/ CSC148H1 or who have completed math courses equivalent to MAT137Y1/ MAT157Y may apply for a corequisite waiver.
The Physical and Mathematical Universes (5)