
One of the course requirements is for you to participate in a project. The project takes the form of a group language design project. The requirements for the group project are given in the Project Description. Here are some issues which you may wish to consider when designing your concern lexical,syntactic,semantic, and run-time matters.
| Class Participation | 10% |
| Homeworks (Best 7 0f 10) | 35% |
| Exams | 30% |
| Project | 25% |
| Date | Subjects | Readings | Assignments |
| 8/21 | Introduction | |
|
| 8/23 | Algol 60 (PDF) | Naur
(Sections 1; 4.1; 4.7; Examples of Procedure Declarations; Suggestions on the Algol 60 (Rome) Issues) |
Project |
| 8/28 | Syntax and Parsing (PDF) | BNF (solution) | |
| 8/30 |
Algol68 (PDF) | Branquart | Project Proposals due |
| 9/4 | Attribute Grammars (PDF) |
Paakki (Intro., Section 1) | BNF due Attribute Grammars (solution) |
| 9/6 | Data Structures (PDF) Metaprogramming (PDF) |
||
| 9/11 | Ada (PDF) | Ada (solution) Attribute Grammars due |
|
| 9/13 | Packages (PDF) Ada |
||
| 9/18 | Ada QSort (PDF) Ada Examples (PDF) |
||
| 9/20 | Axiomatic Semantics (PDF) | Slonneger
and Kurtz, Chapter 11 (skip exercises and 11.5-6) |
Ada due Axiomatic Semantics (solution) |
| 9/25 | Lisp (PDF) | McCarthy | Lisp (solution) |
| 9/27 | Lisp |
Axiomatic Semantics due |
|
| 10/2 | Mid-term Exam | |
|
| 10/4 | FP (PDF) | Backus (Sections 1-11, 15, 16; skim 12-14) | |
| 10/9 | Mid-term break - no class | Lisp due | |
| 10/11 | Lambda Calculus (PDF) |
Lambda calculus (solution) |
|
| 10/16 | Lambda Calculus |
||
| 10/18 | Haskell (PDF) |
Haskell (solution) Lambda Calculus due |
|
| 10/23 | SML (PDF) | ||
| 10/25 | SML | ||
| 10/30 | Denotational Semantics (PDF) |
Tennent | Denotational Semantics
(solution); Haskell due |
| 11/1 | Denotational Semantics | ||
| 11/6 | Prolog (PDF) |
Prolog (solution) Denotational Semantics due |
|
| 11/8 | Prolog Datalog (PDF) |
||
| 11/13 | Object Orientation (PDF) | Wegner | OO (solution); Prolog due |
| 11/15 | Type Systems (PDF) | Cardelli
and Wegner |
|
| 11/20 | C/ANSI C/C++/Java Evolution (PDF); |
HW Bonus opportunity |
|
| 11/22 | Thanksgiving - no class | ||
| 11/27 | C++ (PDF) Ada-95 (PDF) Smalltalk (PDF) |
OO due (Java solution; Smalltalk solution; C++ solution) |
|
| 11/29 | Java (PDF) Java 5 (PDF) Generics (PDF) |
Garcia et al. |
|
| 12/4 | Concurrent Languages: CSP/Linda (PDF) Ada Tasking (PDF) |
Carriero; Hoare; Andrews&Schneider | Project Report |
| 12/6 | Project Presentations |