Teaching Software Correctness Workshop, May 13-15, 2008, Univ of Oklahoma & NSF |
|||
Instructor |
Rex Page |
Assistants |
Carl Eastlund (lead), Ryan Ralston, Zac White |
| Tuesday |
Directions to Lodging & Lab |
Participants |
|
| 9:00-10:15 | 01 Lecture: ACL2 programs | Goals, function definitions, tests, theorems | |
| 10:15-10:30 |
coffee break |
(defun, DoubleCheck, defth | |
| 10:30-12:00 | 02 Lab session | Participants select from several small exercises | |
| 12:00-1:30 |
lunch break |
||
| 1:30-2:30 | 03 Lecture: Guiding ACL2 | Using lemmas and hints to facilitate proofs | |
| 2:30-2:45 |
coffee break |
(use-instance, hands-off, disable, ...) | |
| 2:45-5:45 | 04 Lab session | Add theorems to code and certify | |
| 5:45-6:00 | 05 Evaluation | Online assessment questionnaire | |
| Wednesday | |||
| 9:00-10:15 | 06 Lecture: File i/o and GUIs | ACL2 file i/o and DrACuLa GUIs | |
| 10:15-10:30 |
coffee break |
||
| 10:30-12:00 | 07 Lab session | A projects with file i/o and another with a GUI | |
| 12:00-1:30 |
lunch break |
||
| 1:30-2:00 | 08 Lecture: Exports and Imports | Organizing and certifying "books" for import | |
| 2:00-3:15 | 09 Lab session | Crypto project - encryption of text | |
| 3:15-3:30 |
coffee break |
Coffee and entertainment: Fibonacci-fast vs slow | |
| 3:30-5:45 | 10 Lab session | Continue crypto project | |
| 5:45-6:00 | 11 Evaluation | Online assessment questionnaire | |
| Thursday | |||
| 9:00-9:45 | 12 Lecture: Top down design | ACL2 encapsulate, local; true-list predicates | |
| 9:45-10:00 |
coffee break |
||
| 10:00-11:30 | 13 Lab session | Steganography project (binary file i/o, encryption) | |
| 11:30-1:00 |
lunch break |
||
| 1:00-1:30 | 14 Lecture: DrACula modules | Demo DrACula modules prototype | |
| 1:30-2:15 | 15 Discussion: TSC in practice | Possible uses of predicate-based testing, mechanical logic in undergrad coursework or projects | |
| 2:15-3:45 | 16 Lab session | True-list predicates; Steganography project | |
| 3:45-4:00 | 17 Evaluation | Online assessment questionnaire | |