Weeks 1 and 2

Introduction: Why bother?
Sversion 
Tversion

Chapter 0: Circuits and truth tables
Sversion 
Tversion

Chapter 1: Algebra
Sversion 
Tversion

Chapter 2: Programming logic for assignments and conditionals
Sversion 
Tversion

Example proofs from Chapter 2
Weeks 3 and 4

Chapter 3: Functions and Procedures
Sversion 
Tversion

Example proofs from Chapter 3

Python code for computing permutations

Chapter 4: Loops, invariants, induction
Sversion 
Tversion


Example proofs from Chapter 4
Weeks 5 and 6

Chapter 8: Grammars and trees
Sversion 
Tversion

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
Sversion 
Tversion

Examples of worked proofs

Notes on how logic proofs construct computer code:
Sversion 
Tversion
Weeks 9 and 10

Quiz 2, Wednesday, March 28

Chapter 6: Applications of the predicatelogic quantifiers
Sversion 
Tversion

Examples of worked proofs
Weeks 11 and 12

Chapter 7: Introduction to Prolog
Sversion 
Tversion

Worked Prolog Examples:
folder
 zipped folder
Introduction to Computability and Computational Complexity
