Here is a tentative calendar for the semester. The future and recent past, as recorded here, are subject to revision at any time. See the long-term schedule on the syllabus for the big picture.
Mon | Wed | Thu |
---|
23 January | 25 January - 251 class starts today
- start big ideas ([slides])
- administrivia (see syllabus)
- quick interactive session with Racket
- PS0 out; get to know you, study administrivia, install Racket
- Assign: PS0 Introductions
| 26 January |
30 January - finish big ideas; pragmatics, dimensions ([slides])
- App Inventor example
- start Racket expressions and declarations; big-step semantics ([slides])
| 01 February - finish Racket expressions and declarations; big-step semantics with environment, small-step semantics([slides])
| 02 February |
06 February - more substitution model; recursion [slides]
| 08 February - function wrap-up; tree recursion, define syntactic sugar [slides]
- cons cells and lists [slides]
| 09 February - SNOW DAY
- list recursion [slides] (study slides 16 through 42 at home due to snowstorm)
|
13 February - list recursion examples [slides]
| 15 February | 16 February |
20 February President's Day - No class on Mon. Feb 20; these materials are for Tue Feb 21 (Mon. schedule)
- lexical contours, scope, let*, letrec [slides]
- start first-class functions [slides]
| 22 February - finish first-class functions [slides]
| 23 February - higher-order list operations [slides]
- PS3 due
- PS4 out; first-class functions and higher-order list operations
- Assign: PS4 First-Class Fun
|
27 February | 01 March | 02 March |
06 March - MR, Meera, and Angela teach class (Lyn away)
- tail recursion/iteration wrap up; iterate and genlist [slides] [slides w/solns]
| 08 March | 09 March |
13 March | 15 March | 16 March |
20 March - SML abstract data types; rational numbers [slides]
| 22 March - SML abstract data types; sets-as-lists [slides]
| 23 March |
27 March Spring Break | 29 March Spring Break | 30 March Spring Break |
03 April | 05 April | 06 April |
10 April | 12 April - PostFix interpretation in SML [slides]
- Flesh out PostFixStarter.sml
| 13 April - S-expressions in SML PostFix interpreter [slides]
- PS5 and PS6 hardcopy solns handed out
- Introduction to Intex, an integer expression language (through eval function) [slides]
|
17 April Patriot's Day | 19 April - More Intex; static analysis (argument checking); Intex to PostFix translator [slides]
| 20 April Monday Schedule - metaprogramming and implementation derivations [slides]
- PS7 due
|
24 April - Introduction to Bindex; local naming; Bindex syntax and free variables [slides]
- PS8 out (Tue) metaprogramming derivations; PostFix in Racket and SML; Intex and Bindex in SML
- Assign: PS8 Open to Interpretation
| 26 April Ruhlman Conference | 27 April - Bindex eval function; extending bindex to Sigmex [slides]
|
01 May | 03 May - Valex; dynamic typechecking and desugaring [slides]
| 04 May - HOFL; environments and closures [notes]
- PS8 due
|
08 May Reading Period | 10 May Final Exams | 11 May Final Exams |
15 May Final Exams | 17 May | 18 May |