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, Simply Scheme teaches computer science from a functional/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 nonmathematical 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 first-class 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. Simply Scheme differs from other Scheme-based books in its detailed and thorough exploration of the beginning steps in computer science. In addition to its emphasis on recursion, it also explores higher-order procedures and trees in depth, leaving object-oriented programming and the more difficult environment model for a later course. Simply Scheme extends the standard Scheme language with word and sentence data types to make symbolic programming easier for beginners. It also features a series of large sample programs and a series of suggested large programming projects. Download the program files for use with the book
Author(s): Brian Harvey, Matthew Wright, Harold Abelson
Publisher: MIT
Year: 1994
Language: English
Pages: 610