CSCI.4430/6969 Programming Languages-- Fall 2003


Tentative Course Syllabus

 
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%

Last Updated -- September 3, 2003.