Note: Schedule subject to change!


Date 
Topic 
Reading 
Assigned 
Due 
1 
T 
Jan 20 
Smallstep and bigstep semantics 
Pierce 1, 2, 3 


2 
Th 
Jan 22 
Inductive proofs 
Pierce 3 
HW1: Pierce 3.5.17 

3 
T 
Jan 27 
Lambda Calculus, Church encodings, Fixed points 
Pierce 5 


4 
Th 
Jan 29 
Type systems 
Pierce 8 


5 
T 
Feb 03 
Introduction to Haskell 

HW2: Pierce 5.2.4, 5.2.8, 5.3.8 AND: Write a factorial function
that does not use recursion. 
HW1 
6 
Th 
Feb 05 
Implementing Semantics in Haskell 
Pierce 4, 6, 7 


7 
T 
Feb 10 
SimplyTyped Lambdacalculus 
Pierce 9 
HW3: Pierce 9.3.2, 11.5.2, 11.9.1 
HW2 
8 
Th 
Feb 12 
Fixedpoints and Safety of Simplytyped Lambdacalculus 



9 
T 
Feb 17 
Tuples, Records, Sums 
Pierce 11 


10 
Th 
Feb 19 
References and mutable state, Exceptions 
Pierce 13, 14 
HW4: Implement smallstep (7) and
bigstep (7.3.1) in Haskell 
HW3 
11 
T 
Feb 24 
class canceled due to weather 



12 
Th 
Feb 26 
Type Classes 
HW5: Complete proof of preservation for SimplyTyped LambdaCalculus with References (13.5.3) [Note: there is some background info in and around theorem 9.3.9]. Include proofs of lemmas 13.5.4, 13.5.5 and 13.5.6. 


13 
T 
Mar 03 
Monads 

HW4 

14 
Th 
Mar 05 
class canceled due to weather 



15 
T 
Mar 10 
Type Reconstructions 
Pierce 22 



Th 
Mar 12 
Midterm 




T 
Mar 17 
Spring break 



16 
Th 
Mar 19 
Spring break 



17 
T 
Mar 24 
Universal Types 
Pierce 23 

HW5 
18 
Th 
Mar 26 
Existentials 
Pierce 24 
HW 6: Type Inference 

19 
T 
Mar 31 




20 
Th 
Apr 02 
Imperative Objects, FJ 
Pierce 18, 19 


21 
T 
Apr 07 
ADT versus OOP 
On
Understanding Data Abstraction, Revisited (paper) 


22 
Th 
Apr 09 
Partial Evaluation 
* Haskell code 


23 
T 
Apr 14 



HW 6 
24 
Th 
Apr 16 


Send an email to wcook@cs.utexas.edu with a comment about something you learned from the talk. 

25 
T 
Apr 21 
Rewriting Systems 
K
Framework 


26 
Th 
Apr 23 
Algebra and Coalgebra 



27 
T 
Apr 28 
Algorithm Synthesis 



28 
Th 
Apr 30 




29 
T 
May 05 





Th 
May 07 



