

Date 
Topic 
Reading 
Assigned 
Due 
1 
M 
Jul 13 
Topdown Parsing 
Chapter 1,2 of AoPL 


2 
T 
Jul 14 
Bottomup Parsing 

Task #1: Get started running Haskell (not graded) 

3 
W 
Jul 15 
Haskell Introduction 
* Haskell
Platform 
HW#0 

4 
Th 
Jul 16 
More Haskell 



5 
F 
Jul 17 
More Haskell  Type classes 

HW #1A 

6 
M 
Jul 20 
Expressions and substitution 
Chapter 3 of AoPL 
HW
#2: Basic Interpreter: 
HW #1B 
7 
T 
Jul 21 
Firstclass functions 
Chapter 4 of AoPL 


8 
W 
Jul 22 
Guest lecture 



9 
Th 
Jul 23 
Guest lecture 

HW
#3: FirstClass Functions and Patterns 
HW #2 
10 
F 
Jul 24 
Closures 
Chapter 4.5 of AoPL 


11 
M 
Jul 27 
Environment Diagrams 
Chapter 4.6 of AoPL 


12 
T 
Jul 28 
Closures and Environments 


HW #3 
13 
W 
Jul 29 
Recursion and fixed points 
Chapter 5 of AoPL 
HW #5: Error Handling (Exercise 6.1 and 6.2 of AoPL) 

14 
Th 
Jul 30 
Midterm 


HW#4 
15 
F 
Jul 31 
Error Propagation 
Chapter 6.1 of AoPL 


16 
M 
Aug 03 
Data Abstraction & Representing data as functions 
Chapter 4.4.3, 4.4.5 of AoPL 
HW#5 Due 

17 
T 
Aug 04 
Mutable State (part 1) 
Chapter 6.2 of AoPL 


18 
W 
Aug 05 
Mutable State (part 2) 
Chapter 6.3 of AoPL 


19 
Th 
Aug 06 
Objects 
On
Understanding Data Abstraction, Revisited (paper) 
HW#6 due 

20 
F 
Aug 07 
Inheritance 



21 
M 
Aug 10 
JavaScript monad 

HW#7 Due 

22 
T 
Aug 11 
Typing 



23 
W 
Aug 12 
Typing 



24 
Th 
Aug 13 
Type Inference 



25 
F 
Aug 14 



HW#8 Due 