Skip navigation

Brian Harvey

Titles by This Author

Introducing Computer Science

This lively introduction to computer science and computer programming in Scheme is for non-computer science majors with a strong interest in the subject and for computer science majors who lack prior programming experience. The text allows the student to experience the computer as a tool for expressing ideas, not as a frustrating set of mathematical obstacles. This goal is supported by the use of Scheme, a modern dialect of Lisp, designed to emphasize symbolic programming.

Advanced Techniques


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 2 Advanced 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.

The Logo programs in these books and the author's free Berkeley Logo interpreter are available via the Internet or on diskette.


Beyond Programming


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.

In Volume 3 Beyond 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.