CIS505 Lecture Notes: Introduction to Programming-Language Paradigms

Here is a set of lecture notes meant to serve as a Programming Language Principles text. There are some rough edges here, but remember that I am saving you $100 that you would otherwise be spending for a textbook....

Week 1

Chapter 0: Introduction to language paradigms
Chapter 1: Grammars, trees, and interpreters

Week 2

Chapter 2: Two interpreter architectures for imperative languages
Chapter 5: Component extension by abstraction, parameterization, and qualification

Weeks 3-5

Chapter 6: The imperative paradigm: From an assignment core to Java

Week 6

Chapter 7: The functional paradigm: From an arithmetic core to ML

Weeks 7-8

example SML functions shown in class
SML datatype of integer tree
David Toman's SML tutorial

Weeks 9-10

Chapter 8: The logical paradigm: From a boolean core to Prolog
example Prolog programs | zipped folder of examples

Week 11

Survey on computability and computational complexity

Week 12

Chapter 9: Domain-specific languages

To come (subject to change):

Chapter 3: The core language and its characteristic domains
Chapter 4: Control and data-structure extensions


David Schmidt   das at ksu.edu

Creative Commons License This work is licensed under a Creative Commons License.