Captain's Log: CIS 301, Logical Foundations Of Programming, Fall 2013

1: Aug 26 (Mon)
Introduction to course:
2: Aug 28 (Wed)
Introduce circuits and truth tables (using the slide set "Circuits.pdf", uploaded on K-State Online, that summarizes Chapter 0 of the textbook.)
3: Aug 30 (Fri)
Sep 2 (Mon)
University Holiday (Labor Day)
4: Sep 4 (Wed)
Start on the basics of general programming logic (Chapter 2 of the textbook); we cover the forwards rule for assignments (Section 2.1.1).
5: Sep 6 (Fri)
Continue the slides that summarize Chapter 2 of the textbook, giving the basics of programming logic; we cover Discuss Assignment 1, due tonight, with students doing selected exercises on the board.
6: Sep 9 (Mon)
Finish the slides that summarize Chapter 2 of the textbook: Discuss model solutions for Assignment 1.
7: Sep 11 (Wed)
We extend the program logic to functions, as in Section 3.1 of the textbook:
8: Sep 13 (Fri)
9: Sep 16 (Mon)
10: Sep 18 (Wed)
Illustrate how functions can be used to build other functions (Section 3.3), in particular: Discuss Assignment 3, due Friday night, with students doing selected exercises on the board.
Sep 20 (Fri)
Class canceled.
Assignment 3 due tonight.
11: Sep 23 (Mon)
12: Sep 25 (Wed)
Continue loop invariants: Discuss the upcoming Assignment 4.
13: Sep 27 (Fri)
14: Sep 30 (Mon)
Prepare for Exam 1, discussing
15: Oct 2 (Wed)
Exam 1
16: Oct 4 (Fri)
We address how to write a program together with its proof, illustrated by
17: Oct 7 (Mon)
We continue developing programs together with their proofs: Briefly discuss Questions 1 and 2 in the upcoming Assignment 5.
18: Oct 9 (Wed)
19: Oct 11 (Fri)
20: Oct 14 (Mon)
21: Oct 16 (Wed)
Embark on Chapter 5 of the textbook, on propositional logic. Finish (for now) the Dafny tutorial, thus preparing for the upcoming Assignment 6.
22: Oct 18 (Fri)
Continue Propositional Logic: Discuss Assignment 6, due tonight, with students doing selected exercises on the board.
23: Oct 21 (Mon)
Present inference rules for:
24: Oct 23 (Wed)
25: Oct 25 (Fri)
26: Oct 28 (Mon)
27: Oct 30 (Wed)
28: Nov 1 (Fri)
Wrap up the universal quantifier (Section 6.1): Discuss model solutions for Assignment 7.
Discuss Assignment 8, due tonight, with students doing selected exercises on the board.
29: Nov 4 (Mon)
Prepare for Exam 2, discussing See how to use the universal quantifier to reason about array programs.
30: Nov 6 (Wed)
Exam 2
31: Nov 8 (Fri)
Introduce the existential quantifier (Section 6.2):
32: Nov 11 (Mon)
33: Nov 13 (Wed)
34: Nov 15 (Fri)
35: Nov 18 (Mon)
Start reasoning about arrays:
36: Nov 20 (Wed)
37: Nov 22 (Fri)
Further discuss how to translate certain English sentences: Discuss model solutions for Assignment 9.
Discuss Assignment 10, due tonight.
Nov 25-29 (Mon-Fri)
Thanksgiving holiday
38: Dec 2 (Mon)
Embark on Prolog (Chapter 7 of the textbook):
39: Dec 4 (Wed)
Guest lecture by Simon Ou on the MulVAL Project.
40: Dec 6 (Fri)
Continue Prolog: Briefly discuss the upcoming Assignment 11.
41: Dec 9 (Mon)
Continue Prolog: Discuss model solutions for Assignment 10.
Further discuss the upcoming Assignment 11.
42: Dec 11 (Wed)
43: Dec 13 (Fri)
General review session.
Dec 20 (Fri)
Final exam, 11:50am-1:40pm


Torben Amtoft