Cover of Modula-2 text

Key features of the book:

This book provides an introduction to programming for readers with little or no experience of imperative programming. It uses pre-ISO Modula-2, the original form of the programming language designed by Niklaus Wirth as a successor to Pascal. Modula-2 was designed both as a systems programming language, and as one with high-level abstraction features for dealing with complex systems. While the system programming language features lie beyond the scope of the book, the abstraction features have enabled a vital approach to programming to be adopted, one which continually stresses the importance of data abstraction when solving problems. The text is supplemented with a wealth of examples and exercises, making it an ideal course book for first year students.

Table of Contents:

1 Introduction
2 Simple algorithm design
3 Towards computer coding
4 Simple Modula-2 coding
5 Flow of control in Modula-2
6 Compilation, execution and testing
7 Structured programs - Procedures
8 Structured programs - Modules
9 Structured data - the Array
10 Modula-2 structured types - Arrays
11 Non-numerical scalar types
12 Modula-2 semi-structured types - Sets
13 Modula-2 types - Characters and Strings
14 Modula-2 structured types - Records
15 Modula-2 types - Dynamic data structures
16 More about Procedures
17 More about Modules
18 Generic types and the SYSTEM module
19 Large volumes of data - Files.

Visit the "Resource Kit" for the book - a web site that contains the text of the final draft, additional material that does not appear in the published book, the source code for all the case studies, and instructions for downloading and installing the components of the Resource Kit on a reader's own computer.