IMC011 Semantics and Domain Theory Spring 2014

Teacher

Herman Geuvers: home page

Introduction

Denotational Semantics is about assigning a mathematical meaning to syntax (in particular, that of programming languages) which is, in some sense, independent of how the syntax is presented, or what computational rules it may obey (which are properly the subject matter of Operational Semantics).

Domain Theory is the mathematics of the objects, sets-with-structure, and mappings between them, which serve as a vehicle for denotational semantics.

Material

  1. Lecture Notes on Denotational Semantics by Andy Pitts and Glynn Winskel, abbreviated to DENS for now. (Available via internet: PDF file)
  2. Grondslagen van de Informatica 2 course notes by Erik Barendsen, August 1988, abbreviated to GI2 for now
  3. Selected sections from From computation to foundations via functions and application: The lambda-calculus and its webbed models by Chantal Berline, Theoretical Computer Science 249 (2000) pp. 81-161.

For those who haven't followed Semantiek en Correctheid: background material, notably on operational semantics can be found in Hanne Riis Nielson en Flemming Nielson: Semantics with applications, Wiley 1999 (freely available).

Background material for further reading:

  1. Ch. 3.1 and 3.2 of Domains and Lambda Calculi by Roberto Amadio and Pierre-Louis Curien, Cambridge University Press, 1998, pp: 484
  2. Ch. 13 of Formal Semantics of Programming Languages by Glynn Winskel, MIT Press, Cambridge, Massachusetts, 1993.
  3. Ch. 2 and Ch. 8 until page 260 of Semantics of Programming Languages: Structures and Techniques, by Carl Gunter, MIT Press, Cambridge, Massachusetts, 1992.

Structure

The course is divided roughly into 3 parts:

Set up

The course consists of 2 hours hoorcollege" Wednesday, 8:45--10:30 in HG 02.028, unless indicated otherwise below, plus "self study" and a "werkcollege" (exercise class) on Tuesday, 12.30-13.30 (lunch break) in HG 01.029.

Look below for updated information on the weekly schedule!

The course by week

The following is the weekly schedule.
  1. February 5: Chapter 1 of DENS: notes and exercises, exercise class on Friday 12.30--13.30 (lunch break).
  2. February 12: Chapter 1 of DENS, exercises, exercise class on Friday 12.30--13.30 (lunch break), HG 02.032.
  3. February 18: 12.30--13.30 (lunch break), HG 01.029, exercise class.
  4. February 19: Section 2.1 of DENS, exercises.
  5. February 25: 12.30--13.30 (lunch break), HG 01.029, exercise class.
  6. February 26: Chapter 2-3 of DENS until Proposition 3.1.1, page 21, exercises
  7. March 4 no exercise class.
  8. March 5: no lecture
  9. March 11: 12.30--13.30 (lunch break), HG 01.029, exercise class.
  10. March 12: Chapter 4 of DENS until slide 21, exercises.
  11. March 18: 12.30--13.30 (lunch break), HG 01.029, exercise class.
  12. March 19: Chapter 4 of DENS until page 36, exercises
  13. March 25: 12.30--13.30 (lunch break), HG 01.029, exercise class.
  14. March 26: Chapter 5 of DENS, until page 45 exercises.
  15. April 1: 12.30--13.30 (lunch break), HG 01.029, exercise class.
  16. April 2: HG 01.057 rest of Chapter 5 + Chapter 6 of DENS until page 58, exercises.
  17. April 8: 12.30--13.30 (lunch break), HG 01.029, exercise class.
  18. April 9: rest of Chapter 6 + Sections 7.1, 7.2 of DENS exercises.
  19. April 15: 12.30--13.30 (lunch break), HG 01.029, exercise class.
  20. April 16: Section 7.3 + Chapter 8 of DENS exercises,
  21. April 22: 12.30--13.30 (lunch break), HG 01.029, exercise class.
  22. April 23: Stable models, see notes and exercises.
  23. April 30, May 7, May 14: no lecture
  24. May 20: 12.30--13.30 (lunch break), HG 01.029, exercise class.
  25. May 21: The notes of Berline, exercises.
  26. May 27: 12.30--13.30 (lunch break), HG 01.029, exercise class.
  27. May 28: Sections 3.1, 3.2 and 3.3 of GI2, exercises.
  28. June 3: 12.30--13.30 (lunch break), HG 01.029, exercise class.
  29. June 4: Chapter 4 of GI2, and hand out of test exam, exercises.
  30. June 10-11: no lectures
  31. June 17: 12.30--13.30 (lunch break), HG 01.029, exercise class.
  32. June 18: Recap of part 2, answers of exercises and answers to test exam.

Exam

Wednesday July 2, 8.30-11.30, HG00.068, written exam.
(Second chance: Wednesday August 20, 8.30-11.30, HG01.139.)

The written exam is "open book", so you can take the course notes and your own notes to the exam.


herman at cs dot ru dot nl