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.
......(更多)
Brian Harvey is Lecturer in the Computer Science Division, University of California, Berkeley.
......(更多)
......(更多)
It emphasizes programming as a way to express ideas, rather than just a way to get computers to perform tasks.
higher-order functions
......(更多)