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