Note: Schedule subject to change!

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


2 
Jan 15 
Inductive proofs, Untyped Lambda Calculus 
Pierce 3 
HW1: Pierce 3.5.16 


Jan 20 
MLK Holiday (no class) 



3 
Jan 22 
Introduction to Haskell 
Haskell
Tutorial 


4 
Jan 27 
Church encodings, Fixed points 
Pierce 5 
HW2: Pierce 5.2.4, 5.2.8, 5.3.8 AND: Write a factorial function
that does not use recursion. 
HW1 
5 
Jan 29 
Type systems 
Pierce 8 


6 
Feb 03 
Ben Zorn (Microsoft) Gates 6.302 "Synthesis and security in a world of devices and services" 



7 
Feb 05 
Bigstep semantics and closures 

HW3: Pierce 9.3.2, 11.5.2, 11.9.1 
HW2 
8 
Feb 10 
SimplyTyped Lambdacalculus 
Pierce 9 


9 
Feb 12 
Implementing Semantics in Haskell 
Pierce 4, 6, 7 
HW4: Implement smallstep (7) and
bigstep (7.3.1) in Haskell 

10 
Feb 17 
Tuples, Records, Sums 
Pierce 11 

HW3 
11 
Feb 19 
References and mutable state, Exceptions 
Pierce 13, 14 


12 
Feb 24 
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 
Feb 26 
Monads 

HW4 

14 
Mar 03 
Type Reconstructions 
Pierce 22 


15 
Mar 05 
TBD 


HW5 

Mar 10 
Spring break 




Mar 12 
Spring break 



16 
Mar 17 
Universal Types 
Pierce 23 


17 
Mar 19 
Midterm 



18 
Mar 24 
Existentials 
Pierce 24 
HW 6: Type Inference 

19 
Mar 26 
No Class 



20 
Mar 31 
Imperative Objects, FJ 
Pierce 18, 19 


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


22 
Apr 07 
Partial Evaluation 
* Haskell code 


23 
Apr 09 
TBD 


HW 6 
24 
Apr 14 
Programming for Everyone: From
Solvers to SolverAided Languages and Beyond. 
10:00
AM 
Send an email to wcook@cs.utexas.edu with a comment about something you learned from the talk. 

25 
Apr 16 
Rewriting Systems 
K
Framework 


26 
Apr 21 
Algebra and Coalgebra 



27 
Apr 23 
Algorithm Synthesis 



28 
Apr 28 




29 
Apr 30 



