CS536-S05: Schedule Of Classes

The following table shows the planned schedule for the classes. The table specifies the class date, the topics planned, and the material you are expected to have read before the class begins. Where possible, I have included links to on-line readings that are outside of the text. You should also check the Documents section of the course SourceForge project for the readings as well. The main text, Concepts in Programming Languages, is abbreviated as CPL in the readings. The supplementary text, Elements of ML Programming, is abbreviated as EMLP. If you have not acquired the supplementary text, you should read the specified material in the ML Tutorial, (MLT) that I have placed in the SourceForge project.

The topics listed here are what is planned. I reserve the right to make modifications as the course proceeds. I will adjust the table as I make changes.

Class # Date Topics Readings
1 17-Jan Course overview, introduction to programming languages, our approach, ML example. CPL, chapters 1 and 2 EMLP, chapter 1
MLT, Sec, 1, 2.1-2.3
2 24-Jan Functional programming, LISP. More ML CPL, chapter 3.
EMLP, chapter 2
MLT, Sec. 2.4-2.5
McCarthy paper
3 7-Feb More LISP. Parsing, compilation, grammars. CPL, Sec. 4.1-4.2
EMLP, Sec. 3.1-3.3
4 14-Feb Language Specification. Semantics, denotational semantics, functional vs. imperative languages. CPL, Sec. 4.3-4.5
EMLP, Sec. 3.4, 4.1
MLT, Sec. 2.6, 4
Backus paper in the Readings folder on SourceForge
Read the exotic programming tools article.
5 21-Feb Algol and ML. A brief look at two-level grammars. CPL Chapter 5
EMLP, Chapter 5
MLT,  Sec. 2.7-8.
Read the Lambda Calculus Tutorial
6 28-Feb Type systems CPL Chapter 6
Sections 1 and 2 of the ALGOL 68 tutorial in the SourceForge project
7 7-Mar Midterm exam
8 14-Mar Review of the midterm. Type systems, Attribute grammars (with respect to types).
9 21-Mar Storage Management, Scope and Control, abstraction in ML CPL, Chapter 7
10 28-Mar Functors, modularity, control, abstraction CPL Chapter 8
The Structure of Systems Usning Upcalls, in the Readings folder on SourceForge
11 4-Apr Program slicing and applications Read the Program Slicing paper in the SourceForge project.
Slides for this lecture are here, here, and here.
12 11-Apr Object-oriented concepts in languages. Aspect-oriented programming. CPL Chapter 9 & 10. AspectJ Programming Guide. Aspect-oriented Programming: What is it good for?
13 18-Apr Dynamic languages. Domain-specific languages. Mini-project pesentations.
14 25-Apr Mini-project presentations. Final exam

Last modified: 11-Apr-2006
Gary Pollice