CMPSCI 287 FALL 1998
Lectures

Approximate Schedule
26JAN Lecture 1: What are Programming Language Paradigms?
28JAN Lecture 2: Introduction to the Scheme Language
FEB Lecture 3: Conditionals, Recursion and Lists
FEB Lecture 4: Making Lists, Printing, The let construct
24SEP Lecture 5: Functions on Lists; Higher Order Functions
29SEP Lecture 6: Procedural and Data Abstraction
6OCT Lecture 7: Parsing Sentences in a Language
24SEP Lecture 8: Writing functions that create parsers
8OCT Lecture 9: Deep Lists and Deep Recursion
13OCT Lecture 10: Processes and Proofs
Lecture 11: State and the Imperative Paradigm
Lecture 11a: Implementing Object Orientation in Scheme
Lecture 12: Scheme & The Real Machine - Storage Control & Garbage Collection
Lecture 13: Memoisation; Implementation of Queues
Lecture 14: Representation of Sets
Lecture 14a: O-O Representation of Sets
Lecture 15: Laws & Invariants for Sets
Lecture 16: The Tree Representation of Sets
Lecture 16: O-O Version of Tree Representation of Sets
Lecture 17: Implementing the Substitutional Model
Lecture 18: The Environment Model of Interpretation avoids Massive Substitution.
Lecture 19: An Introduction to the Logic Paradigm.
Lecture 20: Unification: A Key Algorithm
ALSO A literate-scheme version of lecture 20
Lecture 21: Data Structures in the Logic Paradigm
Type Checking
Lecture 22: Introduction to Object Orientation

Lecture 24 Implementing Message Passing