Skip to main content
main-content

Über dieses Buch

This book is intended for the novice as well as for the experienced programmer who wants to learn Modula-2. We do not limit ourselves to just a description of Modula-2. Instead, we seek to familiarize the reader with the concept of algorithms and to show him/her how to implement algorithms in Modula-2. The programming language Modula-2 was developed by Niklaus Wirth (also the father of world-famous Pascal) and made public in 1978. Compared to other programming languages such as Ada, COBOL or PL/!, Modula-2 is a compact language, which makes it easy to learn. Nevertheless, Modula-2 contains all important language elements necessary for formulating complicated algorithms and for implementing the modern concepts of software engineering. Modula-2 is distinguished by a systematic structure that makes it possible to write easily readable programs. The language supports many of the principles of modern software engineering. All this makes Modula-2 a useful instrument for an introduction to the basics of programming. This textbook strives to establish a solid foundation in the techniques of programming with up-to-date methods of program development. Use of the programming language Modula-2 is reinforced with numerous hands-on exercises. This book does not presuppose any knowledge of programming, but it does require a certain ability in the realm of abstract thinking, some pleasure in problem solving, and a desire to come to terms with complex interrelationships.

Inhaltsverzeichnis

Frontmatter

1. Algorithms

Abstract
The goal of this book is to convey the knowledge needed to make effective use of the programming language Modula-2. Before learning how to use a programming language, a student first needs to know what a program is and how programs are designed. Therefore, this chapter introduces some of the most important basics of programming. Since these are fundamentals, we cannot simply define them with the help of other concepts. Instead, we will describe them on the basis of examples.
Günther Blaschek, Gustav Pomberger

2. Principles of Program Development

Abstract
The concepts algorithm and program were introduced in the first chapter. In additon, solutions to simple algorithms were given. More complex problems raise the question: How can we master the complexity and systematically move from the task description to the solution? Unfortunately, there is no algorithm for the design of algorithms. Rather, problem solving is a creative process that demands a broad knowledge of the task at hand and lots of intuition. We can, however, present useful guidelines for the systematic approach to the design of algorithms.
Günther Blaschek, Gustav Pomberger

3. The Programming Language Modula-2

Abstract
The first two chapters introduced the term algorithm and explained how solutions can be described by means of algorithms. This chapter describes the programming language Modula-2 and gives guidelines for formulating algorithms as Modula-2 programs (the last step in program development by stepwise refinement).
Günther Blaschek, Gustav Pomberger

4. Writing Modula-2 Programs

Abstract
Chapters 1 to 3 covered the rules that need to be taken into consideration when designing algorithms and formulating Modula-2 programs. This chapter seeks to round out the rough edges and go into certain particulars that tend to create difficulties for beginning programmers.
Günther Blaschek, Gustav Pomberger

5. Programming Style and Program Testing

Abstract
In Chapter 2 we showed how to reduce a task by stepwise refinement until the resulting subtasks are so simple that they can be formulated with elementary actions. In Chapter 3 we introduced the programming language Modula-2, and in Chapter 4 we handled specialized problems that can arise in the course of programming in Modula-2. This chapter shares with the reader some rules for programming that have proved themselves in the field. In the first section, we discuss what we consider good programming style; in the second section, we treat the problem of program testing and debugging.
Günther Blaschek, Gustav Pomberger

6. Software Engineering with Modula-2

Abstract
Stated simply, software engineering is a collective term for all methods of economical production of reliable and efficient software products, including methods for their specification, design, implementation, testing, documentation and maintenance.
Günther Blaschek, Gustav Pomberger

Backmatter

Weitere Informationen