INF220 - Program Specification

INF220 - Programspesifikasjon

Autumn 2012

Contents on this web page

Course outline and curriculum

The course this semester has a pragmatic approach to specification, i.e., the theory is tightly coupled to programming. The course will cover the following topics (as time permits).
  1. Assertions as a means of understanding algorithms.
  2. Pre-/post-conditions as a means of understanding methods.
  3. Data invariants and congruences as a means of understanding data abstraction.
  4. Algebraic specifications as a means of defining API contracts.
  5. Institutions as a means of understanding modularisation, reuse and testing.

Reading Material

There is no specific text book, and the curriculum consists of all lectures, notes, handouts, exercises, and related course material. The following is a start on the reading list for the course.

Additional Reading Material

For those especially interested in reading up on the background material, the following (classical) books are recommended.


Lecturer and course responsible: Magne Haveraaen
Teaching assistant: TBD

The participants are adviced to organise study groups for discussing the topics of the course and assist each other in solving the exercises.

Schedule for lectures and seminar groups

Teaching starts Monday August 20 2012 (week 34), Teaching will be in the form of lectures, exercises and time off for self studies.

Semester plan

The teaching is planned to cover the following topics, tentatively listed by week no.
  1. Introduction, assertions for a sorting algorithm.
  2. Assertions
  3. Pre-/post conditions
  4. Pre-/post conditions and data invariants
  5. Pre-/post conditions, data invariants and congruences
  6. Data abstraction
  7. Algebraic specifications
  8. Algebraic specifications
  9. Algebraic specifications
  10. Algebraic specifications
  11. Institutions
The exam is planned for the end of November/beginning of December.


The exercises will be provided as the course evolves.


The course will be evaluated by an oral exam.
Sist oppdatert 2013-06-11 by Magne Haveraaen