Schedule

CS131: Programming Languages
Fall 2001

Links will be added as material becomes available.

Part 1: Programming in Standard ML
9/4 Course Intro, SML Intro slides  
9/6 Core SML slides Assignment 1, assign1.sml [Sample Solution]
9/11 First-Class Functions slides    
9/13 Modules slides Assignment 2 [Sample Solution]
         
Part 2: Programming Language Theory
9/18 Concrete & Abstract Syntax slides    
9/20 Lambda Calculus Introduction slides    
9/25 Fixed Points slides    
9/27 NO CLASS   Assignment 3 [Code, fact3, fib4]
10/2

Extending the Lambda Calculus

slides
10/4 Operational Semantics slides    
10/9 Variables and Definitions slides elisp code, sml code
10/11 Assignment and Stores slides Assignment 4 [Sample Solution]
10/16 Types slides
10/18 Language Definitions      
10/23 FALL BREAK  
         
Part 3: Language Features and Design
10/25 Subtyping slides Assignment 5 [Sample Solution]
10/30 Delayed Computations slides  
11/1 Streams slides

Assignment 6, stream.sml, assign6.sml

[Sample Solution]
11/6 Closures slides
11/8 Continuations slides    
11/13 Threads slides Assignment 7, setup7.sml, assign7.sml [Sample Solution]
11/15 Closures and Continuations Without Functional Programming slides    
11/20 Video: "Growing a Language" transcript
11/22 THANKSGIVING BREAK      
     
Part 4: Implementation
11/27 Polymorphism slides
11/29 Type Inference slides Assignment 8 [Sample Solution]
12/4 Garbage Collection slides
12/6 Partial Evaluation slides    
     
Part 5: Conclusions
12/11 Expressiveness slides
12/13 Review
   
  FINAL EXAMINATION