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 |