Semantic Models for Programming Languages (Com S 641)
This page gives access to information about the course offerings of ``Semantics
of Programming Languages'' as taught by Gary
T. Leavens for the
of Computer Science at
This course has had many offerings, which differ in the material covered
each year. The following describes the various offerings.
We used notes from Carl Gunter that later became his
book Semantics of Programming Languages
and also studied type theory.
- We used Friedman, Wand, and Haynes's
(then new) book Essentials of Programming Languages (MIT
Press, 1992), and also studied type theory and lambda Prolog.
We used a monograph by Wim H. Hesselink,
Programs, Recursion, and Unbounded Choice
(Cambridge, 1992) to study axiomatic (or predicate transformer) semantics.
We used David Schmidt's book
The Structure of Typed Programming Languages (MIT Press, 1994);
and studied the design of languages and type systems
for them, using denotational semantics to help validate
the soundness of the type systems.
We used Abadi and Cardelli's
A Theory of Objects (Springer-Verlag, 1996)
to study operational semantics
and type theory for object-oriented programming.
We used Back and von Wright's
Refinement Calculus: A Systematic Introduction
to study axiomatic (i.e., predicate transformer) semantics and laws of
The course was taught by Markus Lumpe,
who used several books on pi-calculus,
including Robin Milner's Communicating and Mobile Systems: The pi-Calculus
and Davide Sangiorgi and David Walker's The pi-calculus: a Theory of Mobile Processes.
We will use Flemming Nielson, Hanne Riis Nielson, and Chris Hankin's
book Principles of Program Analysis (Springer-Verlag,
1999) to study program analysis, including data flow analysis,
constraint-based analysis, abstract interpretation, and type and
effect systems. This book emphasizes the commonality between the
different kinds of analysis.
Last update $Date: 2007/08/10 23:10:51 $
Gary T. Leavens
229 Atanasoff Hall
Department of Computer Science, Iowa State University
Ames, Iowa 50011-1040 USA