Two Minicourses for Spring 2001
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