Modula-2: Constructive Programme Development by P.A. Messer
An introduction to high-level computer programming in Modula-2, the aim of this book is to teach the language in such a way that the major constructs of the language are introduced as early as possible and are reinforced throughout the remainder of the book. Procedures and Modules are introduced at an early stage and are expanded upon as other constructs are introduced. Each chapter includes a set of technical exercises and answers to test the reader's understanding, and a set of programming exercises. The book's major theme is that intelligent use of Modules and Procedures makes program development easier and renders programs more readable.