'(1 2 3) at the prompt.
| Date | Topic | Required Reading | Notes | Assignments Out | Slides |
|---|---|---|---|---|---|
| 8/24 | Introduction | code | slides | ||
| 8/29 | Functions, pairs, lists | code | slides | ||
| 8/31 | Lists, box-and-pointer diagrams | code | slides | ||
| 9/5 | Recursive function practice | code partial solutions |
Project 1, due on Moodle 9/13, 11:59pm | slides | |
| 9/7 | Local bindings, benefits of no mutation | code | slides | ||
| 9/12 | Tail recursion | code | slides | ||
| 9/14 | First class functions I | code | slides | ||
| 9/19 | First class functions II | code | slides | ||
| 9/21 | Practice | Project 2, due on Moodle Wed 10/4, 11:59pm | |||
| 9/26 | Motivation and foldr | motivation slides foldr slides |
|||
| 9/28 | Lexical scope and environment diagrams | code | slides | ||
| 10/3 | Lexical scope and environment diagrams II | code | slides | ||
| 10/5 | Lexical vs dynamic scope, currying | code | slides | ||
| 10/10 | Closure idioms: ADTs, introduce mutation | code | slides | ||
| 10/12 | Delayed evaluation and streams | code | Project 3, due on Moodle Mon 10/30, 11:59pm | slides | |
| 10/17 | Fall break | ||||
| 10/19 | Review for midterm | ||||
| 10/24 | Midterm | ||||
| 10/26 | More streams & practice | slides | |||
| 10/31 | Stream wrapup, intro to proj4 | code | Project 4, due on Moodle Tue 11/14, 11:59pm | slides | |
| 11/2 | Introduction to Java | code | slides | ||
| 11/7 | Java collections & practice | handout, lab | (see previous slides) | ||
| 11/9 | Java exceptions & threading | code | Project 5, due on Moodle Tue 11/21, 5:00pm | slides | |
| 11/14 | Java threading II | code | (see previous slides) | ||
| 11/16 | Late binding and dynamic dispatch | code | slides | ||
| 11/21 | Interpreters I | code | Project 6, due on Moodle Mon 12/4, 11:59pm | slides | |
| 11/23 | Thanksgiving break | ||||
| 11/28 | Interpreters II | start code end code | (see previous slides) | ||
| 11/30 | Event-driven programming | code | Project 7, due on Moodle Wed 12/13, 5:00pm | slides | |
| 12/5 | Victory lab | slides |