Schedule

This is the best guess as to the rate at which we will cover material. However, schedule may be continuously revised to adjust to reality.

Date Reading Topic Project Due
2/12 1.1-2.5 Overview and grammars
2/13 2.6-2.8 More on grammars
2/15 3 Syntax meets semantics
2/16 No class
.
2/19 4 Language systems
2/20 5 A first look at ML hw1
2/22 A first look at ML, continued
2/23 Lab 1: ML Programming
.
2/26 6 Types
2/27 7 A second look at ML
3/1 8 Polymorphism
3/2 Lab 1 continues
.
3/5 9 A third look at ML
3/6 10 Scope
3/8 11 A fourth look at ML hw2
3/9 Lab 1 concludes
.
3/12 12.1-12.6 Activation records Lab 1
3/13 extra office hour
3/15 Review/catch-up
3/16 test 1
.
3/19 12.7-12.9 Closures
3/20 13 A first look at Java
3/22 14.1-14.2 Memory management
3/23 15 A second look at Java
.
3/26 Interpreter lab preview hw3
3/27 Lab 2
3/28 Bracha Java generics
3/29 Lab 2 continues
.
4/2 Spring Break
4/3 Spring Break
4/5 Spring Break
4/6 Spring Break
.
4/9 Lab 2 concludes
4/10 Lab 3 Generics lab preview Lab 2
4/12 Lab 3: Java Generics
4/13 16 Object orientation
.
4/16 17 A third look at Java
4/17 Lab 3 continues
4/19 Lab 3 continue
4/20 Lab 3 continues hw4
.
4/23 Lab 3 concludes
4/24 Review/catch-up Lab 3
4/26 test 2
4/27 18 Parameters
.
4/30 19.1-19.7 A first look at Prolog hw5
5/1 19.8-19.11 More prolog
5/3 20.1-20.4 Prolog implementation
5/4 Lab 4: Parsing and Analysis in Prolog
.
5/7 20.5-20.7 More about Prolog
5/8 Lab 4 continues hw6
5/10 Lab 4 continues
5/11 Lab 4 continues
.
5/14 21 Cost models
5/15 Lab 4 concludes
5/17 23.1-23.3 Natural semantics
5/18 23.4-23.6 More on semantics
.
5/21 24 History of programming languages hw7
5/22 Review/catch-up Lab 4