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

Week Day Description Readings Slides Due
1 1/8 intro to theorem proving LF Preface, demo PPT, PDF  
1 1/10 programming and proving in Coq LF Basics PPT, PDF  
2 1/15 MLK Day, no class      
2 1/17 recorded lecture (see Blackboard, recording from 1/14)     Homework 1 due 1/21
3 1/22 proof by induction LF Induction    
3 1/24 induction, forward reasoning    
4 1/29 data structures in Coq LF Lists    
4 1/31 proof tactics LF Tactics   Homework 2 due 2/2
5 2/5 tactics, continued    
5 2/7 propositional and predicate logic LF Logic    
6 2/12 logic, continued   Homework 3 due
6 2/14 inductive predicates LF IndProp    
7 2/19 imperative programming languages LF Imp    
7 2/21 programming languages, continued   Homework 4 due
8 2/26 programming languages, commands    
8 2/28 commands, continued    
9 3/4 commands, continued    
9 3/6 Hoare logic PLF Hoare   Homework 5
10 3/11 Hoare logic, continued Hoare, modified    
10 3/13 intro to Iris ex_01_swap PPT, PDF initial project proposal due 3/13, Homework 6 due 3/14
11 3/25 Iris, continued    
11 3/27 data structures in Iris ex_02_sumlist   revised project proposal
12 4/1 data structures, continued PPT, PDF Homework 7 due 4/2
12 4/3 Iris list proofs    
13 4/8 eclipse, no class      
13 4/10 concurrency in Iris ex_03_spinlock   project status report due 4/11, Homework 8 due 4/12
14 4/15 concurrency: locks      
14 4/17 locks, project workshop      
15 4/22 concurrency: ghost state ex_04_parallel_add, Makefile, _CoqProject   Homework 9 due 4/23
15 4/24 final review     project due 4/26