Date
|
Topic
|
Readings/Notes
|
Homework
|
W |
Jan 4 |
Intro to PL, intro to Racket |
Lab 1
|
F |
6 |
Ripping through HtDP: design recipe, lists. Define-type |
PLAI 1, HtDP 2e 1-2.2, Lab 2 |
M |
9 |
Mixed data, arithmetic evaluation |
Lab 3
|
W |
11 |
QUIZ, A few little languages, Parsing |
PLAI Ch. 2, Lab 4 |
F |
13 |
Variables, Substitution |
PLAI Ch. 3, Lab 5 |
Assignment 1 due
|
T |
17 |
Functions, Function calls |
PLAI Ch. 4 |
W |
18 |
Environments |
PLAI Ch. 5Lab 6 |
F |
20 |
First-class functions |
PLAI Ch. 6Lab 7 |
M |
23 |
Subst with first-class functions |
PLAI Ch. 7, Lab 8 |
Assignment 2 due
|
W |
25 |
QUIZ, no class otherwise |
|
F |
27 |
NO CLASS |
M |
30 |
Closures |
PLAI Ch. 8 |
Assignment 3 due
|
W |
Feb 1 |
Implementing Laziness |
PLAI Ch. 9 |
PLAI Ch. 9, Lab 9 |
F |
3 |
Caching values for call-by-need |
M |
6 |
Recursion, implementing Recursion |
PLAI Ch. 10, Lab 10 |
Assignment 4 due
|
W |
8 |
Midterm |
F |
10 |
Structures |
PLAI Ch. 11Lab 11 |
M |
13 |
Recursion |
PLAI Ch. 12 |
W |
15 |
store-passing style |
Lab 12
|
F |
17 |
Monadic style |
|
Assignment 5 due
|
M |
20 |
NO CLASS |
W |
22 |
Monadic Style II |
Lab 13
|
F |
24 |
let/cc |
M |
27 |
let/cc II |
|
Assignment 6 due
|
W |
29 |
implementing let/cc |
Lab 14
|
F |
Mar 2 |
defunctionalization and registerization |
M |
5 |
Formalization of CPS |
W |
7 |
Types |
F |
9 |
Types II |
Lab 15
|
Assignment 7 due
|