Publication Date



These notes introduce a method of program derivation. We start by inventing a skeleton structure of the program and by writing down a statement of what conditions should program variables satisfy upon termination of the program. We then derive the rest of the program by algebraic techniques and logical reasoning. We use the methods of Dijkstra and Gries but introduce only a minimum of formalism and theory. Emphasis is on practical application of these methods to classes of problems where success is most likely. The theoretical basis for the methods can be established in later courses.