Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z
faqs.org - Internet FAQ Archives

FAQ: Scheme Frequently Asked Questions 1/2 [Monthly posting]
Section - [1-3] Scheme books, introductions, documentation, periodicals, journals, and conference proceedings.

( Part1 - Part2 - Single Page )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Neighborhoods ]


Top Document: FAQ: Scheme Frequently Asked Questions 1/2 [Monthly posting]
Previous Document: [1-2] What is the difference between Scheme and Common Lisp?
Next Document: [1-4] Where can I learn about implementing Scheme interpreters and compilers?
See reader questions & answers on this topic! - Help others by sharing your knowledge

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 ftp://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://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://ftp.cs.indiana.edu/pub/scheme-repository/doc/pubs/
      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://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://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://ftp.cs.cmu.edu/user/ai/pubs/books/announce/

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://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://ftp.cs.indiana.edu/pub/scheme-repository/txt/).

User Contributions:

Comment about this article, ask questions, or add new information about this topic: