CS 334
Principles of Programming Languages
Lecture and Reading Schedule

Spring, 2000


Lecture Preparation:

I expect you to do the reading for a class before the lecture. I will not attempt to cover in lecture all the material in the readings. Instead my goal will be to cover the highlights or particularly difficult material. For this to work, you will need to already be familiar with the simpler aspects of the material. If you keep up your part of the bargain we should be able to have more interesting discussions in class, rather than just listening to me go over the text.


In readings, "L" stands for the text by Louden and Ullman is the ML text. The number following a letter is the chapter to be read.

DayTopicReading
1 Preview, History, Expressions, & Functional Languages L: 1, 2, 5.7, 10.1
2 Introduction to ML L: 10.2-10.4, U: 1-3.5, 7.1
3 More ML U: 5.1, 5.3-5.4.2, 5.5-5.6, 6, L: 10.5
4 Features of functional languages, U: 5.4.3-5.4.5, L: 10.6-10.7
5 Syntax L: 4
6 Compilers and Interpreters, variables L: 5.1-5.3
7 Bindings & scope, Types L: 5.4-5.6, 6.1-6.2
8 Type constructors L: 6.3
9 more types L: 6.4-6.7
10 Run-time structures L: 7.4-7.5 except 7.4.2
11 Dynamic memory management, commands L: 10.8, 7.1-7.3
12 Dynamic memory management, Commands, Parameters L: 7.4.2, 7.6
Spring Break
13 Abstract Data Types L: 8 except for 8.5
14 more ADT's
15 Polymorphism / overloading, and subtyping L: 8.5
16 Object-oriented languages L: 9.1-5
17 More OOL's L: 9.6-9.9
18 Expressiveness in OOL's; GJ & Eiffel GJ tutorial
19 More expressiveness in OOL's
20 Semantics L: 12.1-12.3
21 Axiomatic semantics and program correctness L: 12.4-12.5
22 Concurrency L: 13
23 More concurrency
24 Language selection and design Handouts
Back to:

  • CS 334 home page
  • Kim Bruce's home page
  • CS Department home page
  • kim@cs.williams.edu