Anything on the schedule more than 24 hours in advance is subject to change.

Week Day Description Readings Slides Due
1 1/11 intro to theorem proving LF Preface, demo PPT, PDF  
1 1/13 programming and proving in Coq LF Basics PPT, PDF  
2 1/18 proof by induction LF Induction    
2 1/20 induction, forward reasoning   Homework 1
3 1/25 data structures in Coq LF Lists    
3 1/27 proof tactics LF Tactics    
4 2/1 tactics, continued   Homework 2
4 2/3 propositional and predicate logic LF Logic    
5 2/8 logic, continued   Homework 3
5 2/10 inductive predicates LF IndProp    
6 2/15 inductive predicates, continued    
6 2/17 imperative programming languages LF Imp   Homework 4
7 2/22 programming languages, continued    
7 2/24 programming languages, commands   Homework 5
8 3/1 commands, continued    
8 3/3 Hoare logic PLF Hoare    
9 3/8 Hoare logic, continued   Homework 6
9 3/10 intro to Iris ex_01_swap PPT, PDF  
10 3/15 Iris, continued   Homework 7 due 3/16
10 3/17 data structures in Iris ex_02_sumlist   initial project proposal due 3/18
11 3/29 Iris list proofs PPT, PDF  
11 3/31 concurrency in Iris ex_03_spinlock   revised project proposal due 4/1
12 4/5 concurrency, continued     Homework 8
12 4/7 concurrency: locks      
13 4/12 locks, continued      
13 4/14 concurrency: ghost state ex_04_parallel_add, Makefile, _CoqProject   Homework 9 – also, project check-in due 4/15
14 4/19 ghost state, continued      
14 4/21 logical atomicity ex_05_atomics    
15 4/26 logical atomicity, continued    
15 4/28 final review     project due 5/2