Schedule

CS131: Programming Languages
Spring 2001

Links to lecture slides and handouts will be added as they become available.

Date Topic Handout   Homework
1/17 Course intro, Introductory SML slides
1/22 Core SML, Running SML/NJ slides
1/24 First-Class Functions slides SML Programming [Sample Solution]
1/29 Modules slides
1/31 Concrete and Abstract Syntax slides Sets and Modules, assign2.sml [Sample Solution]
2/5 Introduction to Formal Semantics slides
2/7 More Formal Semantics slides Formal Semantics, code.sty, 3.tex [Sample Solution]
2/12 Type Safety slides
2/14 Type Safety Continued Mini-ML Adding Pairs [Sample Solution]
2/19 Variables and Definitions slides
2/21 Exceptions slides Interpreters: assign5.sml, assign5-tests.sml     [Sample Solution]
2/26 Continuations source code   
2/28 Continuations and Coroutines slides Continuations: assign6.sml [Sample Solution]
3/5 Aliasing and References slides
3/7 Video: "Growing a Language" transcript
3/12 NO CLASS
3/14 NO CLASS
3/19 Nondeterminism slides
3/21 Code Reuse and Polymorphism slides Assignment 7 [Sample Solution]
3/26 Subtyping and Subsumption slides
3/28 Objects and Classes slides Implementing Subtyping: setup8.sml, assign8.sml, assign8-tests.sml, [Sample Solution]
4/2 Lambda Calculus slides
4/4 More Lambda Calculus slides Lambda Calculus [Sample Solution]
4/9 Lambda Calculus Properties slides
4/11 Typed Lambda Calculus and Logic slides Implementing Theory: assign10.sml [Sample Solution]
4/16 Parameters, Delayed Computations    slides
4/18 Streams slides Streams: stream.sml, assign11.sml [Sample Solution]
4/23 NO CLASS
4/25 NO CLASS
4/30 TBA
5/2 TBA
5/9 FINAL: 8am, JA B132