Contains explanations of what abstract data types are and how to specify them, and of the connection between abstract data types and program components. The book does assume a knowledge of Modula-2, although some of the difficulties of using opaque types are discussed before they are used.
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.
This book is the third and final volume in a series entitled "The Modula-2 Software Component Library." C. Lins' collection of reusable standard software components could be the basis for every programmer's software project in Modula-2. Components that are implementations of commonly used data structures are presented, along with a description of their functionality and efficiency. Moreover, the books provide the background necessary to tailor these components to the specific needs of any Modula-2 environment. For Modula-2 programmers, this series of books could prove as useful and indispensible as the original language reference by Niklaus Wirth. This third volume discusses the concepts of trees and graphs, shows their specifications, and provides implementations for various forms of trees and graphs.
Since 1985 Nell Dale's texts have helped shape the way computer science is taught. Now she and Henry Walker, an accomplished instructor and author in his own right, are proposing a new focus for the junior/senior level data structures course. A timely response to the prevalence of object-oriented programming, this new text expands the focus of the advanced data structures course to examine not only the structure of a data object but also its type. This new focus gives students the opportunity to look at data objects from the point of view of both user and implementer.
Intended as a second course on programming with data structures, this book is based on the notion of an abstract data type which is defined as an abstract mathematical model with a defined set of operations.
"All aspects pertaining to algorithm design and algorithm analysis have been discussed over the chapters in this book-- Design and Analysis of Algorithms"--Resource description page.
This book describes the programming language Modula-2. It is written for people who know the Pascal language and who wish to learn Modula-2 in terms of their knowledge of Pascal. The text is divided into three parts. Part 1 introduces concepts unique to Modula-2 and thus new to Pascal programmers. Part 2 describes differences from Pascal. Part 3 defines modules which provide basic programming facilities. The appendices include a glossary and syntax diagrams. Please note that this book does not offer a complete description of the Modula-2 language; it is intended to complement Niklaus Wirth's definitive book Programming in Modula-2 (Springer-Verlag, 1983). Some readers will recognize this book as being based upon the Volition Systems Modula-2 User's Manual. Enough has changed to merit its reappearance in this more dignified form: existing material has been reorganized to improve clarity; new material has been added to improve content. This book was written with the ASE text editor. The text was produced in camera-ready form on the Scenic LaserTezt composition system. I wish to thank the following people and organizations for their contributions to the development of this book: Volition Systems, for giving me the opportunity to write about Modula-2; Jim Merritt, for reviewing an early draft; the Institut far Informatik, ETH Zarich, for publishing a series of informative technical papers on Modula-2; and finally, all the pioneer users of Volition Systems Modula-2, for their patience and foresight and support.
A formal, accessible approach to abstract data types, employing the Modula-2 computer language. Chapters follow a common format--the need for a particular abstract data type is considered, followed by the type's properties, the access procedure to manipulate it, the axioms which govern its behavior, and implementations. A wide variety of abstract data types are covered, supported by numerous Modula-2 algorithms. Code is written in a functional, recursive style.
This student text explores large-scale program design in the object-oriented paradigm, with an emphasis on data abstraction. It assumes knowledge of an imperative language such as PASCAL and provides examples in C++ and ADA.