Calculations

This paper describes a new approach, called calculations, that seeks to characterize the concept of what a program does without being prescriptive about how the desired behaviour is achieved. By providing a way of abstractly capturing program behaviour, calculations offer: an approach to program analysis, an approach to designing programs based on the desired behaviour, and a new approach to teaching about programming. This paper argues that calculations are a missing concept in the study and teaching of Computing. The paper defines the construction of calculations as a special type of graph and uses examples to show how calculations can be used to represent behavioural properties of programs.