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 |