MCS-287: Programming Languages, Spring 2001

DateReading Topic Due

2/5 1 Scheme review
2/6 2.1-2.2 Inductively specified data, recursion
2/8 2.3 Scope, names, lexical depth
2/9 continued

2/123.1-3.3 Branching
2/133.4-3.5 Records, data abstraction
2/153.6 Converting representations
2/16 continued

2/194.1-4.2 Lambda calculus
2/20 continued
2/224.3 Reduction strategies Lab 1
2/23 Lab day

3/26 Continuations
3/274.4 Recursion in the lambda calculus
3/1 continued
3/2 Lab day

3/5 Lab day
3/6 Review
3/8 Test 1
3/9 No class

3/124.5 Imperative programming
3/134.6 Variable assignment
3/155.1 Simple interpreter, parsing Lab 2
3/165.2-5.3 Branching, let

3/19 Lab day
3/205.4 Procedures
3/225.5 Assignment
3/23 Lab day

SPRING BREAK

4/2 Lab day
4/3 5.6 Recursion
4/5 6.1-6.2 Call by reference
4/6 continued

4/9 6.3 Call by value/result
4/10 continued
4/12 Lab day
4/13 EASTER RECESS

4/16 EASTER RECESS
4/176.5 Call by name
4/19 continued
4/20 Review Lab 3

4/23 Test 2
4/2413.0 Types
4/2613.1 Type checking
4/27 Code

4/30 Lab day
5/1 13.2 More type constructors
5/3 13.3 Unification
5/4 Unification algorithm

5/7 Lab day
5/8 Type inference
5/1013.4 Polymorphism
5/11 Lab day

5/14 Polymorphism continued
5/15 Review Lab 4

May 21 Final 10:30-12:30