Simply Scheme: Introducing Computer Science
By Brian Harvey, Matthew Wright
Publisher: Mit Pr | 616 pages | 1994-02 | ISBN: 0262082268 | English | PDF | 16.28 MB
By Brian Harvey, Matthew Wright
Publisher: Mit Pr | 616 pages | 1994-02 | ISBN: 0262082268 | English | PDF | 16.28 MB
Product Description:
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
Amazon.com Review:
For anyone learning the Scheme programming language, the second edition of Simply Scheme: Introducing Computer Science provides a very digestible textbook-style introductory tutorial to this powerful and elegant language.
In the words of the authors, Simply Scheme is designed to be a "prequel" to another book, Structure and Interpretation of Computer Programs. This latter title has been a staple of introductory computer science courses for years, but it assumes a certain background.
Simply Scheme works hard to make the somewhat tricky ideas of Scheme accessible. This tutorial stresses small sections on key language features, from basic functions, variables, and onward to recursion and other functional programming concepts. While languages like C++ and Java use objects to model data, Scheme programmers break a problem down into functions. The art–and elegance–of problem solving in Scheme comes from applying recursion and other design concepts.
Longer code samples in the book include a tic-tac-toe game, examples that work with poker and bridge, and a working spreadsheet demo. Throughout, the book employs a friendly and jargon-free approach to programming. This book is as much about thinking like Scheme as it is about the basic nuts and bolts of the language. Sections on using software patterns in Scheme help bring this new edition up to date.
Though not often used in business, Scheme and its cousin Common Lisp (which the book describes in an appendix) are still favored by computer scientists, for example, in artificial intelligence research. Simple Scheme succeeds in making a difficult programming language both approachable and accessible. It's a valuable resource to any computer science student who is taking Scheme on for the first time. –Richard Dragan
Topics covered: Scheme language fundamentals, functions and higher-order functions, variables, lambda basics, recursion, abstraction, software patterns in Scheme, lists, trees, sequential programming, working with files, vectors, Common Lisp.