Walls And Mirrors is a computer science textbook, for undergraduates taking a second computer science course (typically on the subject of data structures and algorithms), originally written by Paul Helman and Robert Veroff. The book attempts to strike a balance between being too mathematically rigorous and formal, and being so informal, practical, and hands-on that computer science theory is not taught.

Walls and Mirrors
Walls And Mirrors, Modula-2 Edition, 1988.
AuthorPaul Helman and Robert Veroff
SubjectComputer science
Published1986
Media typePrint
ISBN0-8053-8940-7 1st edition
001.642
LC ClassQA76.6

The "walls" of the title refer to the abstract data type (ADT) which has a wall between its public interface and private implementation. Early languages like Pascal did not build this wall very high; later languages like Modula-2 did create a much stronger wall between the two; and object-oriented languages such as C++ and Java implement walls using the class concept.

The "mirrors" of the title refer to recursion. The idea is of looking at a reflection in two mirrors placed in opposition to one another, so a repeated image is reflected smaller and smaller in them.

Editions

edit

The first edition, which used the language Pascal, was published in 1986.

An edition that used Modula-2 was published in 1988. Modula-2 had much better support for the sort of ADT the book taught than Pascal.

Later editions from the mid-1990s and the 2000s used C++ and Java, reflecting a fundamental shift in how computer science was taught. The original authors' names have been removed from the most recent editions of the book.

Publication history

edit