Topics:

A Buffet of Type Systems
 polymorphism (System F)
 subtyping and bounded quantification (Fsub)
 existential types and the avoidance problem
 type operators (Fomega and Fomegasub)
 recursive types
 linear types
 Languagebased security
 static and dynamic information flow
 the dependency core calculus
 noninterference proofs
 declassification and intransitive noninterference
 information flow in concurrent languages
 practical language designs (JIF, Fabric, Laminar, Breeze, ...)
Participation:
 For those taking the class for credit, grading will be based on:
 class participation
 homework problem sets
 a major project (solo or in groups of two)
Schedule:
Date  Topic  Reading  Homework 
Sep. 7  Overview and introductions; System F  TAPL chapter 23  
Sep. 12  System F  hw1.tar.gz; instructions (due 9/19)  
Sep. 14  Metatheory of System F (with deBruijn indices)  
Sep. 19  (continued)  
Sep. 21  Theory of observational equivalence  Chapter 49 of Bob Harper's draft textbook  hw2.txt (due 9/26) 
Sep. 26  (continued)  
Sep. 28  parametricity  Chapter 51 of Harper  hw3.txt (first part); due Oct 19 
Oct 5  (continued)  
Oct 3  (continued)  
Oct 10  (no lecture  fall break)  
Oct 12  Dependent types (Chris Casinghino, guest lecturer)  
Oct 17  Subtyping  Chapters 26 and 28 of TAPL  
Oct 19  (continued)  
Oct 24  (continued)  
Oct 26  (continued)  hw4.txt (due Nov 2) 