BOOK Structure and Interpretation of Computer Programs

This book is one of a small handful commonly referenced when someone asks for a Scheme reference book. Beyond that it is a very good introduction into computational concepts in general.

 Abelson, Harold 
    Structure and interpretation of computer programs / Harold Abelson 
    and Gerald Jay Sussman, with Julie Sussman. -- 2nd ed. 
    p. cm. -- (Electrical engineering and computer science series) 
    Includes bibliographical references and index. 
    ISBN 0-262-01153-0 (MIT Press hardcover) 
    ISBN 0-262-51087-1 (MIT Press paperback) 
    ISBN 0-07-000484-6 (McGraw-Hill hardcover) 
    1. Electronic digital computers -- Programming. 2. LISP (Computer program language) I. Sussman, Gerald Jay. II. Sussman, Julie. III. Title. IV. Series: MIT electrical engineering and computer science series. 
 QA76.6.A255         1996 
 005.13'3 -- dc20              96-17756 
 Fourth printing, 1999

Full text at http://mitpress.mit.edu/sicp/full-text/book/book.html

Lecture videos: http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/ or https://archive.org/download/MIT_Structure_of_Computer_Programs_1986/

It's also a classic of language theory, quite apparent from its use of Scheme for exposition; in fact, CL hears more recommendations of it as a tutorial on programming principles than for Scheme. For the latter role, the usual candidates are The Little Schemer, ...


In Serial summing, some SICP examples are translated to Tcl, from summing an integer sequence to integral and derivative.

See also