Weeks 1 and 2
-
Introduction: Why bother?
S-version |
T-version
-
Chapter 0: Circuits and truth tables
S-version |
T-version
-
Chapter 1: Algebra
S-version |
T-version
-
Chapter 2: Programming logic for assignments and conditionals
S-version |
T-version
-
Example proofs from Chapter 2
Weeks 3 and 4
-
Chapter 3: Functions and Procedures
S-version |
T-version
-
Example proofs from Chapter 3
-
Python code for computing permutations
-
Chapter 4: Loops, invariants, induction
S-version |
T-version
-
-
Example proofs from Chapter 4
Weeks 5 and 6
-
Chapter 8: Grammars and trees
S-version |
T-version
-
Expression interpreter implemented in Python | zipped folder
-
Quiz 1, Friday, February 17
Weeks 7 and 8
-
Chapter 5: Applications of propositional logic to program proving
S-version |
T-version
-
Examples of worked proofs
-
Notes on how logic proofs construct computer code:
S-version |
T-version
Weeks 9 and 10
-
Quiz 2, Wednesday, March 28
-
Chapter 6: Applications of the predicate-logic quantifiers
S-version |
T-version
-
Examples of worked proofs
Weeks 11 and 12
-
Chapter 7: Introduction to Prolog
S-version |
T-version
-
Worked Prolog Examples:
folder
| zipped folder
Introduction to Computability and Computational Complexity
|