The future and recent past, as recorded here, are subject to revision at any time.
Tue | Wed | Fri |
---|
30 August | 31 August | 02 September |
06 September - administrivia (see syllabus)
- finish big ideas (slides [1 up] [4 up], notes)
- App Inventor example
- introductory interactive session with Racket
- motivation for studying computability in a PL context
| 07 September - start computability, the halting problem, and program analysis (slides [4 up], notes)
| 09 September - finish computability, the halting problem, and program analysis (slides [4 up], notes)
- start Racket expressions and declarations (slides [4 up])
- PS1 Problems 1-3 & 5 due today (grace period until Sat@6pm); PS1 Problem 4 due Mon evening.
- Assign: Antics with Semantics
|
13 September - finish Racket expressions and declarations (slides [4 up])
| 14 September - No quiz today
- start Racket functions (slides [4 up])
| 16 September - finish Racket functions (slides [4 up])
- start Racket list processing (slides [4 up])
- P1 solution hardcopies handed out
- PS2 due (except Problem 5, due on Mon. Sep. 20)
- PS3 posted Mon. Sep. 19, due Wed. Sep 28
- Assign: Racket List Recursion
|
20 September - Racket pairs, lists, and list recursion (slides [4 up])
| 21 September | 23 September - Defining `snoc`, `my-append`, `append-all`, and `my-reverse` with divide/conquer/glue [Solutions]
- Local Binding with `let` (slides [4 up])
|
27 September - Start first-class functions and higher-order list operations in Racket (slides [4 up])
| 28 September - No quiz today
- Finish first-class functions and higher-order list operations in Racket (slides [4 up])
- PS3 due
| 30 September Inauguration - No class
- PS4 out Sat. Oct 1, due Fri. Oct 7; first-class functions and higher-order list operations
- Assign: First-Class Fun
|
04 October - Finish genlist (slides [4 up])
- genlist-starter.rkt
- Introduction to function composition operator and identity function
| 05 October | 07 October |
11 October Fall Break | 12 October | 14 October |
18 October - More iteration via tail recursion; foldl [slides 1 -- 26]
| 19 October - more foldl; iterate and iterate-apply (half the class at GHC) [slides 1 -- 26]
| 21 October - work on PS5 in class (half the class at GHC)
- PS5 out today, due Fri. Oct 28; compositional programming, iteration
- Assign: Iterate Until Done
|
25 October - S-expressions; Tree manipulation in Racket
- Begin Postfix interpreter in Racket
| 26 October | 28 October |
01 November - Postfix wrapup (displaying interpreter state; better ways of handling arithops and relops; treating exec as a stack transformer)
| 02 November | 04 November |
08 November | 09 November - Watch Clinton's concession speech and other news on CNN
| 11 November |
15 November | 16 November | 18 November |
22 November - Modules and ADTS in SML; Rational number signatures and implementations [slides 1-22]
| 23 November Thanksgiving Break | 25 November Thanksgiving Break - PS7 out (due Fri. Dec 2); SML sum-of-products, modules, adts
- Assign: Set Yourself Free
|
29 November | 30 November - Finish Postfix interpreter in SML; S-exrpressions in SML [slides 5 -- 23]
| 02 December - Metaprogramming; interpretation/compilation derivations and metacicularity [slides]
- Intex interpreter in SML [slides 1 -- 8]
|
06 December | 07 December - Bindex; naming, free variables, environments, interpretation [slides 1 -- 11]
| 09 December - extending Bindex with sigma [slides 12 -- 13]
- environments, closures, and and static (lexical) vs dynamic scope
|