Location
Lectures are Tuesdays 7--9 pm in BA1180. We'll cover the following topics:
Synopsis
- Induction (simple, complete, well-ordering)
- Structural induction, recurrences
- Program correctness (and incorrectness, for that matter).
- Propositional logic
- Predicate logic
- Formal languages
Summary
- Here's a summary of lecture 13. Here's the quiz 10 solution.
- Here's a summary of lecture 12. Also, here DFSA.java, an implementation of a DFSA class to play around with.
- Here's a summary of lecture 11. Here's a solution to quiz 9.
- Here's a lecture 10 summary. Here's a solution to quiz 8.
- Week 9, propositional logic. Here's a lecture summary for week 9. Here's a solution to quiz 7.
- Week 8, complexity of MergeSort and Master Theorem. Here's a summary of Lecture 8. Here's the solution to quiz 6.
- Week 7, recursive correctness. Here's a summary of Lecture 7, and the java source Example.java.
- Week 6, more iterative correctness. Here's a Lecture 6 summary, and the java source Example.java.
- Week 5, more recursively-defined sets and program correctness. Here's a Lecture 5 summary, plus etree.pdf, a representation of a well-formed arithmetic expression as a tree. Here's a sample solution to quiz 5.
- Week 4, recursive functions and definitions. Here's Lecture 4 summary. Here's a sample solution to quiz 4.
- Week 3, more induction examples and pitfalls. Here's Lecture 3 summary. There's also PostageMeter.java, which you can check out to see a recursive program mimicking a proof by induction. Here's a sample solution to quiz 3.
- Week 2, various flavours of induction. Here's Lecture 2 summary, plus NumberTricks.java to experiment with. Here's a sample solution to quiz 2.
- Week 1, introduction to CSC236 and proof techniques. Here's Lecture 1 summary. A clerical error in note 4 has been fixed, so now n+i = i[(k+1).....(i+1)(i-1)...(2) + 1]. Here's a sample solution to quiz 1.