CSE 130
Principles of Programming Languages
Notes on Readings

The subject of this class is principles of programming languages, rather than just some set of particular languages. Therefore we need some rather sophisticated notation that can describe the syntax and the semantics of programming languages in general. Like Sethi, we take a broad view of the role of programming languages and their study, which includes historical and cultural information, as well as some underlying mathematics, all of which every well educated computer scientist should know.

These notes are intended to supplement or correct material in the text. They assume familiarity with the readings and are intentionally brief. The chapter numbers in parentheses below refer to chapters in Sethi.


  1. Overview, introduction, history (Chapter 1).
  2. Syntax, grammar, expressions (Chapter 2).
  3. Assignment, control, invariants (Chapter 3).
  4. Data types (Chapter 4).
  5. Procedures and blocks (Chapter 5).
  6. Modules and classes (Chapter 6).
  7. Functional Programming (Chapter 8).
  8. More Functional Programming (Chapter 9).
  9. Logic programming and Prolog (Chapter 11).
  10. Notes on Internet Languages.

To CSE 130 homepage
Maintained by Joseph Goguen
© 2000 - 2006 Joseph Goguen
Last modified: Mon Jan 9 15:15:27 PST 2006