Course Info


  Staff and Hours


Course Work

  Class Logs









Course Readings


[Win] The Formal Semantics of Programming Languages -- An Introduction, by Glynn Winskel. The MIT Press, 1993 (Second printing: 1994).

[Bru] Foundations of Object-Oriented Languages. by Kim B. Bruce. MIT Press, 2002.
(Available on-line to UI students)
[Har] Practical Foundations for Programming Languages, by Robert Harper. Working draft, 2006.
[Pie] Types and Programming Languages. by Benjamin Pierce. MIT Press, 2002.
(Available on-line to UI students)

Additional Readings

Articles and Class Notes

[Car95] Type Systems, by Luca Cardelli, The Computer Science and Engineering Handbook. CRC Press, 1997. (Preprint)
[Nec05] Introduction to Axiomatic Semantics, by George Necula, University of California at Berkeley.
[Pie95] Foundational Calculi for Programming Languages, by Benjamin Pierce, The Computer Science and Engineering Handbook. CRC Press, 1997. (Preprint)


Recommended References

[Aab] Introduction to Programming Languages, by Anthony A. Aaby, Walla Walla College.
Nice (if unfinished) overview of programming languages and programming paradigms.
[And] Misprints and errors in Glynn Winskel: The Formal Semantics of Programming Languages, by Nils Andersen, DIKU.
Check them out as you go.
[Lea] Introduction to the literature on semantics, by Gary Leavens, ISU, 1994.
Good, if a bit dated, overview and bibliography of the literature on programming language semantics.

Complementary Textbooks

[Fra] Introduction to proofs in mathematics, by James Franklin and Albert Oaoud. Prentice-Hall, 1988.
(On reserve in the Math Library)
An introductory text on how to develop and write mathematical proofs.
[Gor] The denotational description of programming languages : an introduction, by Michael Gordon. Springer-Verlag, 1979.
Informal introduction to the main concepts of denotational semantics.
[Gun] Semantics of programming languages : structures and techniques by Carl Gunter. MIT Press, 1992.
(On reserve in the Math Library)
[Hen] The semantics of programming languages, by Matthew Hennessy. Wiley, 1990.
Operational and denotational semantics. Part of the book is available online in ps format.
[Mey] Introduction to the theory of programming languages, by Bertrand Meyer. Prentice Hall, 1990.
[Nis] Introductory Logic & Sets for Computer Scientists by Nimal Nissanke. Addison-Wesley, 1999.
(On reserve in the Math Library)
[Slo] Formal syntax and semantics of programming languages: a laboratory based approach, by Kenneth Slonneger and Bayy Kurtz. Addison-Wesley Pub. Co., 1995.
Operational, denotational, axiomatic and algebraic approaches.
[Ten] Semantics of programming languages, by R. D. Tennent. Prentice Hall, 1991.
Operational, denotational and axiomatic approaches.


Last Updated: Nov 2, 2006