Short works

Books : reviews

Niklaus Wirth.
Systematic Programming: An Introduction.
Prentice-Hall. 1973

This book introduces programming as the art or technique of constructing and formulating algorithms in a systematic manner, as a discipline in its own right. Algorithms are recipes for classes of data processing and control processes in the most general sense. They must be conceived as structures consisting of logically, reliably, and suitably designed building blocks.

No specific area of application is emphasized as an end in itself; exercises and examples are selected according to their suitability to demonstrate more generally valid problems and methods of solution. In the same vein, fundamental algorithmic structures are emphasized rather than particulars of notation and if programming language.

This book is tailored to the needs of people who view a course on systematic construction of algorithms as part of their basic mathematical training, rather than to the immediate needs of those who wish to be able to occasionally encode a problem and hand it over to their computer for instant solution.

Niklaus Wirth.
Algorithms + Data Structures = Programs.
Prentice-Hall. 1976

Algorithms + Data Structures = Programs presents a very systematic and scientific approach to the fundamental techniques associated with data composition and program development. The basic principles covered here are applicable to many scientific and engineering endeavors.

Contents include chapters devoted to fundamental data structures, internal and external sorting, recursive algorithms, dynamic data structures (recursive data types, pointers, list structures, tree structures, optimal search trees, multiway trees, and key transformations), and language structures and compiling (language definition and analysis, syntax graphs, parser and translator construction).

Among the Features

• Covers important basic techniques of program and data structuring and demonstrates their suitability to a wide variety of practical applications.
• Develops programs in step-wise fashion, and expresses them in a well-structured, detailed, and unambiguous presentation.
• Stresses the importance of performance analysis and demonstrates how algorithm selection and refinement are used most effectively in program design.
• Presents illustrative programs that were run and thoroughly tested before their inclusion here.
• Practically oriented, employs the minimum required mathematical formalism.

Kathleen Jensen, Niklaus Wirth.
Pascal: User Manual and Report: 2nd edn.
Springer. 1978

Niklaus Wirth.
Programming in Modula-2: 2nd edn.
Springer. 1983

This is the 2nd printing of a successful book which first appeared in 1982. It is an introduction to programming in general as well as a manual for programming with the language Moduia-2 in particular. It is oriented primarily towards people who have already acquired some basic knowledge of programming and would like to deepen their understanding in a more structured way. Nevertheless, an introductory chapter is included for the benefit of the beginner, displaying in a concise form some of the fundamental concepts of computers and their programming. The text is therefore also suitable as a self-contained tutorial. The notation used is Modula-2, which lends itself well for a structured approach and leads the student to a working style that has generally become known under the title of structured programming. Modula-2 is a descendant of Pascal, and is particularly suited for programming larger and more complex systems in a structured way.