

Date 
Topic 
Reading 
Assigned 
Due 
1 
W 
Jan 18 
Introduction to course 
Chapter 1,2 of AoPL 


2 
F 
Jan 20 
Lambda Notation 



3 
M 
Jan 23 
Using Lambda notation 
* Haskell
Platform 


4 
W 
Jan 25 
Grammars and Parsing 



5 
F 
Jan 27 
Bottomup Parsing 

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

6 
M 
Jan 30 
Haskell Introduction 
HW#0 Due 

7 
W 
Feb 01 
Haskell introduction continued 



8 
F 
Feb 03 
More Haskell 

HW #1A Due 

9 
M 
Feb 06 
Type classes in Haskell 



10 
W 
Feb 08 
Expressions 
Chapter 3 of AoPL 
HW
#2: Basic Interpreter: 
HW #1B Due 
11 
F 
Feb 10 
Substitution 



12 
M 
Feb 13 
Functions 
Chapter 4 and 4.1 of AoPL 


13 
W 
Feb 15 
Examples of Functions 
Chapter 4 .4 of AoPL 


14 
F 
Feb 17 
Closures 
Chapter 4.5 of AoPL 


15 
M 
Feb 20 
Environment Diagrams 
Chapter 4.6 of AoPL 
HW #3 Due 

16 
W 
Feb 22 
Closures and Environments 



17 
F 
Feb 24 
Recursive definitions 
Chapter 5 of AoPL 


18 
M 
Feb 27 
Error Propagation 
Chapter 6.1 of AoPL 
HW #5: Error Handling (Exercise 6.1 and 6.2 of AoPL) 
HW#4 Due 
19 
W 
Mar 01 




20 
F 
Mar 03 
Mutable State (part 1) 
Chapter 6.2 of AoPL 


21 
M 
Mar 06 
Mutable State (part 2) 



22 
W 
Mar 08 
Mutable State (part 1) 
Chapter 6.2 of AoPL 

HW#5 Due 
23 
F 
Mar 10 
TBD 




M 
Mar 13 
SPRING BREAK 




W 
Mar 15 
SPRING BREAK 




F 
Mar 17 
SPRING BREAK 



24 
M 
Mar 20 
halfsemester review 



25 
W 
Mar 22 
Midterm 



26 
F 
Mar 24 
Monads 
Chapter 6.3 of AoPL 


27 
M 
Mar 27 
Monads 



28 
W 
Mar 29 
Discuss Midterm 



29 
F 
Mar 31 
Discuss Midterm 



30 
M 
Apr 03 
Return Statement 

HW#6 Due 

31 
W 
Apr 05 
NO CLASS 



32 
F 
Apr 07 




33 
M 
Apr 10 
Objects 
On
Understanding Data Abstraction, Revisited (paper) 
HW#7 Due 

34 
W 
Apr 12 
Objects 



35 
F 
Apr 14 
Objects 



36 
M 
Apr 17 
Inheritance 



37 
W 
Apr 19 
Records and “this” 



38 
F 
Apr 21 
Typing 
Chapter 7 of AoPL 


39 
M 
Apr 24 
Typing 

HW#9 Typing 
HW#8 Due 
40 
W 
Apr 26 
Typing 



41 
F 
Apr 28 
Partial Evaluation 



42 
M 
May 01 
Partial Evaluation 



43 
Wed 
May 03 



HW#9 Due 
44 
Fri 
May 05 



