Syllabus: 1358

The course will consist of roughly three parts:

  1. How to Design Programs: a review of how to design programs systematically;
  2. Principles of Programming Languages: an overview of the basics of programming languages, based on an interpretive implementation: parsing, context-sensitive checking, types, interpretation, abstract machines;
  3. Object-Oriented Languages: an exploration of the basic principles in an object-oriented setting.
The syllabus will be refined during the quarter.

Matthias Felleisen