Introductions to Scheme: The following four books from MIT Press are listed in order of increasing difficulty. The first is good for the complete novice, the second for students with little or no previous exposure to programming, and the third and fourth for more advanced students. The third and fourth may also be used to learn a variety of powerful programming language concepts. One of these books will suit your needs. 1. Daniel P. Friedman and M. Felleisen. "The Little LISPer" MIT Press (Cambridge, MA), 3rd printing, 1989. ISBN 0-262-56038-0. Science Research Associates (Chicago), 3rd ed, 1989. 206 pages. Good for a quick introduction. Uses Scheme instead of Common Lisp. (The book uses a dialect of Scheme with footnotes about translating to Scheme or Common Lisp. The footnotes won't allow a non-expert to use Common Lisp for the advanced chapters because of the complexity.) 2. Brian Harvey and Matthew Wright "Simply Scheme: Introducing Computer Science" MIT Press, Cambridge, MA, 1994. 583 pages. ISBN 0-262-08226-8. $49.95. This book is ideal for students with little or no previous exposure to programming. The book is designed to be used before SICP (the authors call it a SICP "prequel"), and makes Scheme fun by sheltering the students from potentially confusing technical details. Unlike Pascal or C, the emphasis is on ideas, not obscure matters of syntax and arbitrary rules of style. High schools who have shied away from using Scheme because they found SICP to be too challenging should consider using this book instead. The text gradually and gently introduces students to some of the key concepts of programming in Scheme. It starts off with functions and function composition and continues with the notion of functions as data (first-class functions) and programs that write programs (higher-order functions). Since the complexity of the language is hidden, students can get involved in some of the more interesting and fun aspects of the language earlier than in other texts. Then the book progresses through the more complicated concepts of lambda, recursion, data abstraction and procedural abstraction, and concludes with sequential techniques, but with careful attention to topics students often find difficult. There are five chapters on recursion alone! There's also a pitfalls section at the end of most chapters to help students recognize and avoid common errors. The book uses several programs as examples, including a tic-tac-toe program, a pattern matcher, a miniature spreadsheet, and a simple database program. Source code for the programs is available by anonymous ftp from anarres.cs.berkeley.edu:/pub/scheme/, or for $10 on IBM or Macintosh diskettes from the publisher. 3. Harold Abelson and Gerald Jay Sussman, with Julie Sussman. "Structure and Interpretation of Computer Programs" MIT Press (Cambridge, MA) and McGraw-Hill (New York), 1985. 542 pages. ISBN 0-262-01077-1, $55. The teacher's manual, which is also available from MIT Press (ISBN 0-262-51046-4 $20), does NOT contain solutions to the exercises, but does contain hints on teaching with the book. Starts off introductory, but rapidly gets into powerful Lisp-particular constructs, such as using closures, building interpreters, compilers and object-oriented systems. Often referred to by its acronym, SICP, which is pronounced "Sick-Pee". This is the classical text for teaching program design using Scheme, and everybody should read it at least once. MIT problem sets are available from the repositories, and materials from Gustavus Adolphus College are available from ftp.gac.edu:/pub/SICP/. 4. George Springer and Daniel P. Friedman "Scheme and the Art of Programming" MIT Press and McGraw Hill, 1990, 596 pages. ISBN 0-262-19288-8, $50. Introduces basic concepts of programming in Scheme. Also deals with object oriented programming, co-routining, continuations. Gives numerous examples. Has more of an emphasis on teaching Scheme than SICP, and can be seen as an alternative to SICP. Source code from the chapters is available from ftp.cs.indiana.edu:/pub/scheme-repository/doc/lit/sap/ 5. Iain Ferguson, Edward Martin and Burt Kaufman. Foreword by Daniel Friedman. "The Schemer's Guide: Second Edition" Schemers Inc., Ft. Lauderdale, FL, 1995. (see EdScheme entry in [2-2]) 330 pages, ISBN 0-9628745-2-3, $35.95. This book assumes no previous programming experience and is ideal for high school or college students. The book presents the elements of modern computer programming in an easy-to-follow and entertaining manner. It gently introduces students to the Scheme programming language, guiding them through such concepts as functional programming, recursion, data structures, higher order functions, delayed evaluation, and object-oriented programming. The text concludes with a significant game-playing project involving artificial intelligence. The book strikes a good balance between theory and practice, while nurturing good programming practices. The Schemer's Guide has a proven track record of several years use in teaching the art of Scheme programming to high school students and college undergraduates. A comprehensive teacher's guide and an additional set of resource materials including worksheets, quizzes, projects, and exams are available to instructors using this text. (A Spanish translation will be available by August 1995.) Older Introductions to Scheme: 1. Smith, Jerry D. "Introduction to Scheme" Prentice Hall (Englewood Cliffs, NJ), 1988, 324 pages. Focuses on PC Scheme. 2. Michael Eisenberg "Programming in Scheme" Scientific Press (Redwood City, CA), 1988. 304 pages. 3. Two articles in BYTE Magazine, February 1988, by Abelson and Sussman, and Clinger. Online Introductions to Scheme: 1. The Ken Dickey article, "The Scheme Programming Language", in COMPUTER LANGUAGES magazine, June 1992, is available from the Scheme Repository at ftp.cs.indiana.edu:/pub/scheme-repository/doc/pubs/intro.txt The Revised^4 Report on the Algorithmic Language Scheme is also available from the Scheme Repository. 2. The Info files from the MIT Scheme implementation. ftp.cs.indiana.edu:/pub/scheme-repository/imp/MIT-Scheme-7.3/doc 3. "Introductory Scheme" by Joseph W. Lavinus and James D. Arthur, <lavinus@virginia.edu>. Available from the Lisp Utilities Repository as ftp.cs.cmu.edu:/user/ai/lang/scheme/doc/intro/ as scmintro.tgz. Scheme and Artificial Intelligence: 1. Wolfgang Kreutzer and Bruce McKenzie "Programming for Artificial Intelligence: Methods, Tools and Applications" Addison-Wesley (Reading, MA), 1990. 682 pages. ISBN 0-201-41621-2. Discusses Scheme, Prolog, and Smalltalk, gives an overview of the history and philosophy of AI, surveys three major programming paradigms (procedural, declarative, and object-oriented), and metaphors to AI programming. Source code from the chapters is available from ftp.cs.indiana.edu:/pub/scheme-repository/lit/ as aibook.tar.Z. Some of the programs will only run under MacScheme. Scheme-based Computer Science Texts: 1. Vincent Manis and James Little "The Schematics of Computation" Prentice-Hall, Inc., 1995. 848 pages ISBN 0-13-834284-9 (North America), $41 ISBN 0-13-433772-7 (International). For a copy of the publication announcement, see ftp.cs.cmu.edu:/user/ai/pubs/books/announce/manis95 General Scheme reference books include: 1. K. Dybvig "The Scheme programming language" Prentice Hall, 1987. Good reference for Scheme. Scheme-related periodicals include: 1. LISP Pointers. Published by ACM SIGPLAN six times a year. Volume 1, Number 1 was April-May 1987. Subscriptions: ACM Members $12; ACM Student Members $7; Non-ACM members $25. Mail checks payable to the ACM to ACM Inc., PO Box 12115, Church Street Station, New York, NY 10249. 2. LISP and Symbolic Computation, Kluwer Academic Press. Volume 1 was published in 1989. (jlz@lucid.com is the editor). ISSN 0892-4635. Subscriptions: Institutions $169; Individuals $80. Add $8 for air mail. Kluwer Academic Publishers, PO Box 322, 3300 AH Dordrecht, The Netherlands, or Kluwer Academic Publishers, PO Box 358, Accord Station, Hingham, MA 02018-0358. 3. Proceedings of the biannual ACM Lisp and Functional Programming Conference. (First one was in 1980.) 4. Proceedings of the annual Lisp Users and Vendors Conference. See also the Scheme Bibliography from the Scheme Repository (ftp.cs.indiana.edu:/pub/scheme-repository/) for additional readings. A large number of technical reports on Scheme are now available in the text section (ftp.cs.indiana.edu:/pub/scheme-repository/txt/).Go Back Up