MODULA-2 is a new programming language which was created by Niklaus Wirth of the Swiss Federal Institute of Technology (ETH) in Zurich. The lan guage is derived from PASCAL: it includes all aspects of PASCAL and some times improves on them. Moreover, MODULA-2 includes the important "mod ule" concept, as well as multiprogramming capabilities and a way of implemen ting low-level software in an elegant manner. In summary, MODULA-2 may be used equally well as a general-purpose programming language and as a system implementation language. MODULA-2 provides the programmer with a good way of writing high quality software. In particular, modules are powerful tools for achieving modularity, reliability, readability, extensibility, reusability and ma chine-independence. This book presents the complete MODULA-21anguage from the beginning. Each topic is presented by means of numerous examples and each concept is justified. The syntax of the language is explained using syntactic diagrams. This book is not a reference manual for MODULA-2, but a textbook from which the student can learn the language progressively. The most important con cepts (i.e. procedures, modules and data structures) are explained in great detail and methodological aspects are also emphasized. Beginning in the first chapter, the student may execute his/her own pro grams. Program examples in this book have been executed on several machines (APPLE II, IBM PC and VAX 11/780) and they may be taken as a basis for stu dents.