Skip to navigation | Skip to main content | Skip to footer

COMP31311 Giving Meaning to Programs syllabus 2021-2022

COMP31311 Giving Meaning to Programs

Level 3
Credits: 10
Enrolled students: pending

Course leader: Andrea Schalk

Additional staff: view all staff


  • Pre-Requisite (Compulsory): MATH10111
  • Pre-Requisite (Compulsory): COMP11120

Assessment methods

  • 0%


Programming languages provide abstractions such as `functions’ which are supposed to allow us to reason about the code at a high level---without running it in our heads. However, these abstractions don’t necessarily behave in the way their names suggest.

In this unit we show that a mathematical theory of program meanings can be developed which encompasses the counter-intuitive behaviour of computations, but preserves our ability to reason abstractly. The machinery required is significant, and delicate at times, and the unit will introduce the fundamental technical tools which help us cope with these complications.


The unit is based on the idea that programs can be assigned a formal meaning. This allows one to reason about them rigorously in an abstract manner. Standard technical tools used in this area are also introduced.

Study hours

  • Lectures (11 hours)

Reading list

No reading list found for COMP31311.