Two Minicourses for Spring 2001

15-819A3 Reasoning about Low-Level Programming Languages (six units)

Type systems and program correctness for low-level programming languages, including languages that permit shared mutable data structures (structures where many pointers can address the same location, which can be updated in-place by the program) and embedded code (pointers from data structures to machine code).

15-819A4 Game Semantics (six units)

In game semantics, the semantics of a programming language is described by a game (or conversation) between the computer and its environment; a type (or protocol) determines the rules of a game, while a program is a strategy for playing the game. This approach has provided more abstract models than conventional denotational semantics for languages as varied as PCF and Idealized Algol. It also suggests the design of novel languages in which a game-like interaction between the computer and its environment is the central paradigm.

There will be no textbook. The course will be based on Samson Abramsky's Marktoberdorf Lecture Notes on Game Semantics (in gzip-encoded postscript), plus selected research papers.

last updated December 5, 2001