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 |