Programming Language Paradigms - CMPSCI 287
[This section was reconstructed from a badly damaged original - Stephen Leach, July 2024]
The material for this course is being adapted for use with a web-browser, so that only a small number of lectures are available in this form.
The S97 version of the course is available on-line via the UMASS Scheme system, which requires an X-Windows system to view it with full facilities.The text of the lecture notes is to be found in on the Edlab machines at:
/users/users3/fac/pop/poplocal/local/Scheme
Index to Scheme Functions and Special Forms
- Lecture 1: What are Programming Language Paradigms?
- Lecture 2: Introduction to the Scheme Language
- Lecture 3: Conditionals, Recursion and Lists
- Lecture 4: Making Lists, Printing, The
let
construct
- Lecture 5: Functions on Lists; Higher Order Functions
- Lecture 6: Procedural and Data Abstraction
- Lecture 7: Parsing Sentences in a Language
- Lecture 8: Writing functions that create parsers
- Lecture 9: Deep Lists and Deep Recursion
- Lecture 10: Processes and Proofs
- Lecture 11: Representation of Sets
- Lecture 12: Laws and Invariants for Sets
- Lecture 13: Representation of Sets - continued
- Lecture 14: State and the Imperative Paradigm
- Lecture 15: More about the Imperative Paradigm
- Lecture 16: Implementing the Substitutional Model of evaluation
- Lecture 17: The Environment Model of evaluation
- Lecture 17A Compiling Scheme
- Lecture 17B Aspects of the Imperative Paradigm
Memoisation - implementation of queues.
- Lecture 18 An Introduction to the Logic Paradigm
- Lecture 19 Unification - A key algorithm
- Lecture 20 Data Structures in the Logic Paradigm
- Lecture 21 Introduction to Object Orientation
- Lecture 22 The O-O Paradigm and X-Windows
- Lecture 23 Implementing Message Passing