Simply Scheme

by Brian Harvey and Matthew Wright

Published 1 December 1993
An introductory level text for students who are not majoring in computer science, as well as for computer science majors with no prior programming experience. This text teaches computer science from a functional and symbolic point of view. It provides a solid platform from which students can go on to study the seminal work "Structure and Interpretation of Computer Programs". Beginners will find the authors' approach sophisticated yet conversational and unintimidating. Using Scheme, a modern dialect of Lisp, they teach fundamental ideas and concepts of computer science composition of functions, function as object, recursion, abstraction (data abstraction and procedural abstraction), and sequential (non-functional) techniques - in a way that avoids confusing technical pitfalls. Interesting non-mathematical programming examples use words and sentences as data; practical examples are represented by miniature spreadsheet and database programs. "Simply Scheme" devotes five chapters to recursion, presenting distinct ways for readers to think about this watershed idea.
There is also a chapter on file input/output, and students are able to work on substantial, realistic programming projects in the first semester. Compared to Pascal- or C-based texts, "Simply Scheme" has many advantages in its use of the Scheme programming language. Scheme is interactive and allows for ease of program development and debugging; its functions and automatic storage allocation provide a high level of abstraction so that programmers can concentrate on the desired goal instead of on the computer; its simple, uniform syntax doesn't take up months of class time.