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.
- If you completed CSC165H1 with a course grade less than 85, you should take CSC236H1 instead of CSC240H1.
- Students may go to their college to drop down from CSC240H1 to CSC165H1 (or to CSC236H1 if they have already passed CSC165H1). See note in Calendar Section for the drop down deadlines.