Symbolic Computing/Advanced Techniques/beyond Programming, 2nd edition
Authors: Brian Harvey
Venue:  (1997)

:Volume 1: Symbolic ComputingVolume 2: Advanced TechniquesVolume 3: Beyond Programming "In the world of theatre `Harvey' is a large, white rabbit who happens to be invisible. Elementary computer science's `Harvey' is more like a tiger - clever, colorful, powerful, and, thanks to this revised edition of a classic set of texts, very visible indeed." -- William Higginson, Coordinator; Mathematics, Science and Technology Education Group, Queen's University at Kingston, Canada This series is for people--adults and teenagers--who are interested in computer programming because it's fun. The three volumes use the Logo programming language as the vehicle for an exploration of computer science from the perspective of symbolic computation and artificial intelligence. Logo is a dialect of Lisp, a language used in the most advanced research projects in computer science, especially in artificial intelligence. Throughout the series, functional programming techniques (including higher order functions and recursion) are emphasized, but traditional sequential programming is also used when appropriate. In the second edition, the first two volumes have been rearranged so that illustrative case studies appear with the techniques they demonstrate. Volume 1 includes a new chapter about higher order functions, and the recursion chapters have been reorganized for greater clarity. Volume 2 includes a new tutorial chapter about macros, an exclusive capability of Berkeley Logo, and two new projects. Throughout the series, the larger program examples have been rewritten for greater readability by more extensive use of data abstraction. Volume 1Symbolic Computing, is addressed to a reader who has used computers and wants to learn the ideas behind them. Symbolic computing is the manipulation of words and sentences, in contrast both to the graphics most people associate with Logo and to the numerical computation with which more traditional languages such as Pascal and C++ are most comfortable. This volume is well known for its clear and thorough presentation of recursion, a key idea in computer science that other texts treat as arcane and difficult. Volume 2Advanced Techniques, is addressed to the reader with some experience with symbolic Logo programming. It combines additional tutorial chapters about advanced Logo features with case studies in which those techniques are used in programming projects. The projects range from games (a solitaire program) through utilities (finding the differences between two versions of a file) to a computer that translates BASIC programs into Logo. This volume also includes the Berkeley Logo Reference Manual as an appendix. In Volume 3Beyond Programming, the reader learns that computer science includes not just programming computers, but also more formal ways to think about computing, such as automata theory and discrete mathematics. In contrast to most books on those subjects, this volume presents the ideas in the form of concrete, usable computer programs rather than as abstract proofs. Examples include a program to translate from the declarative Regular Expression formalism into the executable Finite State Machine notation, and a Pascal compiler written in Logo. The Logo programs in these books and the author's free Berkeley Logo interpreter are available via the Internet or on diskette.