Schedule subject to revision. Readings should be completed before class on the session listed. Homework is due before 6 a.m. on the date listed. Projects are due before midnight on the date listed. Homework and projects should be submitted by committing the required documents to your individual or team SVN repository. Unless otherwise specified, documents must be submitted in pdf format. See the syllabus for details on the late policy.
Schedule last updated Sun May 16.
Session quick links: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| Week | Session | HW Due 6am | Proj. Due 11:55pm | Reading | Quiz | Handout | Topic |
|---|---|---|---|---|---|---|---|
| 1 |
Mon Mar 8 |
Q1 | Introduction | ||||
| 1 |
Tue Mar 9 |
|
Q2 | What are formal methods? BRING LAPTOPS | |||
| 1 |
Thu Mar 11 |
HW1 | No class, Curt gone to SIGCSE | ||||
| 1 |
Fri Mar 12 |
No class, Curt gone to SIGCSE | |||||
| 2 |
Mon Mar 15 |
|
BRING LAPTOPS AND TEXT BOOK – Getting Started with Alloy | ||||
| 2 |
Tue Mar 16 |
|
Q3 | Logic of Alloy | |||
| 2 |
Thu Mar 18 |
Alloy Lab |
|
Q4 | Alloy operators | ||
| 2 |
Fri Mar 19 |
|
Q5 | Alloy constraints | |||
| 3 |
Mon Mar 22 |
HW2 |
|
Q6 | Intro. to the Alloy modeling language | ||
| 3 |
Tue Mar 23 |
|
Q7 | Alloy fields and types | |||
| 3 |
Thu Mar 25 |
HW3 |
|
Q8 | Alloy paragraphs and commands | ||
| 3 |
Fri Mar 26 |
|
Q9 | Reuse and arithmetic in Alloy | |||
| 4 |
Mon Mar 29 |
HW4 |
|
Q10 | Analysis | ||
| 4 |
Tue Mar 30 |
P1 | No class, project work day | ||||
| 4 |
Thu Apr 1 |
|
Q11 | Alloy examples | |||
| 4 |
Fri Apr 2 |
HW5 |
|
More Alloy examples | |||
| 5 |
Mon Apr 12 |
Alloy Review | |||||
| 5 |
Tue Apr 13 |
HW6 | No class, project work day | ||||
| 5 |
Thu Apr 15 |
EXAM 1 | |||||
| 5 |
Fri Apr 16 |
P2 | No class, project work day | ||||
| 6 |
Mon Apr 19 |
|
Q12 | Introduction to JML and Formal Verification | |||
| 6 |
Tue Apr 20 |
Q13 | More Program Verification—statements | ||||
| 6 |
Thu Apr 22 |
HW7 | Q14 | Program verification—notation | |||
| 6 |
Fri Apr 23 |
Optional program verification practice | |||||
| 7 |
Mon Apr 26 |
HW8 |
|
Q15 | Program verification—methods | ||
| 7 |
Tue Apr 27 |
|
Q16 | Program verification—recursion | |||
| 7 |
Thu Apr 29 |
Q17 | Data modeling with JML | ||||
| 7 |
Fri Apr 30 |
Data modeling with JML (cont.) | |||||
| 8 |
Mon May 3 |
HW9 | Q18 | Representation Hiding in JML | |||
| 8 |
Tue May 4 |
No class, project work day | |||||
| 8 |
Thu May 6 |
HW10 | Review | ||||
| 8 |
Fri May 7 |
EXAM 2 | |||||
| 9 |
Mon May 10 |
P3 | Q19 | State diagrams | |||
| 9 |
Tue May 11 |
Q20 | Traffic Light | Statecharts | |||
| 9 |
Thu May 13 |
Q21 | Higher-order statecharts | ||||
| 9 |
Fri May 14 |
HW11 (No Late Days!) | No class, pick up Take-home EXAM 3 from my office before 4:30 p.m. (Exam due at start of class on Monday) | ||||
| 10 |
Mon May 17 |
|
Q22 | State of the practice in formal methods, course evaluations | |||
| 10 |
Tue May 18 |
No class, project work day | |||||
| 10 |
Thu May 20 |
HW12 | No class, project work day | ||||
| 10 |
Fri May 21 |
P4 | No class, project work day |