This textbook is an introduction to the design and writing of computer programs. It leads the reader through all the stages of program construction from the original specifications through to the final program. The formal verification of intermediate versions of the program is studied in considerable detail. The authors show how, given the formal specification of a program, data structure and program structure diagrams are drawn and then converted...