Date |
Topic |
Grade |
08/25 |
Introduction to Programming Languages: History, Lambda-Calculus,
Syntax, Semantics |
|
08/28 |
Scheme |
|
09/04 |
Inductive Data, Recursive Procedures, Scope of Variables (1.1-1.2) |
|
09/08 |
Static Properties of Variables (1.3) |
|
09/11 |
Abstract Data Types: Interfaces, Records, Variant Records (2.1-2.2.1)
-- WebCT Quiz 09/12 |
5% |
09/15 |
Abstract Syntax Trees, Parsing (2.2.2-2.3.2) |
|
09/18 |
Representation Strategies for Data Types (2.3.3-2.4) |
|
09/22 |
Semantics via Interpreters: Simple Language, Front-End (3.1-3.2) |
|
09/25 |
Conditional Evaluation, Local Binding (3.2-3.4) -- WebCT Quiz 09/26 |
5% |
09/29 |
Procedures (3.5) |
|
10/02 |
Recursion (3.6) |
|
10/06 |
Variable Assignment (3.7) |
|
10/09 |
Parameter-Passing Variations, Statements (3.8-3.9) |
|
10/14 |
Partial Exam |
20% |
10/16 |
Types (4.1) |
|
10/20 |
Type Checking (4.2, 4.3)-- Programming Assignment 1 Due 10/21 |
10% |
10/23 |
Type Inference (4.4) |
|
10/27 |
Object-Oriented Programming: Objects and Classes, Inheritance
(5.1-5.2) |
|
10/30 |
Language and Implementations (5.3-5.4) |
|
11/03 |
Objects and Types (6.1-6.2) -- Programming Assignment 2 Due 11/04 |
10% |
11/06 |
Continuation-Passing Style (CPS), Tail Form, Imperative Form
(7.1, 8.1-8.3) |
|
11/10 |
Logic Programming: Predicate Calculus (PLP 11.3) |
|
11/13 |
Prolog: Resolution, Unification, Lists, Arithmetic (PLP 11.3) |
|
11/17 |
Prolog: Search and Execution Order, Backtracking (PLP 11.3) --
Programming Assignment 3 Due 11/18 |
10% |
11/20 |
Concurrent Programming: Pi-Calculus, Actors (Papers 1 and
2) |
|
11/24 |
SALSA: Actor Creation, Message Passing, Internal State Change
(Papers 2 and 3) |
|
12/01 |
SALSA: Token-Passing Continuations, Join Continuations,
First-Class Continuations (Paper 3)-- Programming Assignment 4 Due
12/02 |
10% |
12/04 |
Distributed Programming: Universal Naming, Remote Communication,
Actor Migration (Paper 3) |
|
|
Class Participation |
5% |
|
Final Exam |
25% |