or
Sign in to turn on 1-Click ordering.
Express Checkout with PayPhrase
What's this? | Create PayPhrase
More Buying Choices
Have one to sell? Sell yours here
or
Get a $4.50 Amazon.com Gift Card
Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science)
 
See larger image
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) [Import] [Paperback]

Harold Abelson (Author), Gerald Jay Sussman (Author)
3.5 out of 5 stars  See all reviews (164 customer reviews)

List Price: $46.00
Price: $37.31 & this item ships for FREE with Super Saver Shipping. Details
You Save: $8.69 (19%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Usually ships within 2 to 3 weeks.
Ships from and sold by Amazon.com. Gift-wrap available.
12 new from $37.28 10 used from $59.95
Textbook StudentJoin Amazon Student and get FREE Two-Day Shipping for one year with Amazon Prime shipping benefits.

Formats

Amazon Price New from Used from
Hardcover $67.94  
Paperback, Import $37.31  

Special Offers and Product Promotions


Frequently Bought Together

Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) + Simply Scheme - 2nd Edition: Introducing Computer Science + Instructor's Manual t/a Structure and Interpretation of Computer Programs - 2nd Edition
Price For All Three: $122.23

Some of these items ship sooner than the others. Show details

Buy the selected items together
  • Usually ships within 2 to 3 weeks.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Simply Scheme - 2nd Edition: Introducing Computer Science$60.98

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Instructor's Manual t/a Structure and Interpretation of Computer Programs - 2nd Edition$23.94

    In Stock.
    Ships from and sold by Amazon.com.
    Eligible for FREE Super Saver Shipping on orders over $25. Details


Customers Who Bought This Item Also Bought


Editorial Reviews

Amazon.com Review

Abelson and Sussman's classic Structure and Interpretation of Computer Programs teaches readers how to program by employing the tools of abstraction and modularity. The authors' central philosophy is that programming is the task of breaking large problems into small ones. The book spends a great deal of time considering both this decomposition and the process of knitting the smaller pieces back together.

The authors employ this philosophy in their writing technique. The text asks the broad question "What is programming?" Having come to the conclusion that programming consists of procedures and data, the authors set off to explore the related questions of "What is data?" and "What is a procedure?"

The authors build up the simple notion of a procedure to dizzying complexity. The discussion culminates in the description of the code behind the programming language Scheme. The authors finish with examples of how to implement some of the book's concepts on a register machine. Through this journey, the reader not only learns how to program, but also how to think about programming. --This text refers to the Hardcover edition.

Review

"A truly modern introductory text which allows students to discuss the major interesting questions of today. It is a tribute to Professors Abelson and Sussman that they were willing to spend their valued research time to produce such a magnificent text. Controlling complexity, the major theme of the book, is a major concern of programming language designers and software engineers. Imperative, applicative, object-oriented, and logic-based are four trends of programming languages. Scheme allows examples of each.... This book is a rare achievement."
Daniel P. Friedman, Indiana University --This text refers to the Hardcover edition.

Product Details

  • Paperback: 683 pages
  • Publisher: The MIT Press; 2 edition (September 1, 1996)
  • Language: English
  • ISBN-10: 0262510871
  • ISBN-13: 978-0262510875
  • Product Dimensions: 8.7 x 5.9 x 1.3 inches
  • Shipping Weight: 2 pounds (View shipping rates and policies)
  • Average Customer Review: 3.5 out of 5 stars  See all reviews (164 customer reviews)
  • Amazon Bestsellers Rank: #68,514 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

What Do Customers Ultimately Buy After Viewing This Item?

Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science)
91% buy the item featured on this page:
Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) 3.5 out of 5 stars (164)
$37.31
The Little Schemer - 4th Edition
4% buy
The Little Schemer - 4th Edition 4.0 out of 5 stars (40)
$22.91
Code Complete: A Practical Handbook of Software Construction
2% buy
Code Complete: A Practical Handbook of Software Construction 4.7 out of 5 stars (121)
$31.49
Practical Clojure (Expert's Voice in Open Source)
2% buy
Practical Clojure (Expert's Voice in Open Source) 4.2 out of 5 stars (9)
$31.49

Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

164 Reviews
5 star:
 (90)
4 star:
 (10)
3 star:
 (8)
2 star:
 (3)
1 star:
 (53)
 
 
 
 
 
Average Customer Review
3.5 out of 5 stars (164 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
689 of 697 people found the following review helpful:
5.0 out of 5 stars Its the Best! Its the Worst! Why the split?, May 8, 2000
By Peter Norvig (Palo Alto, CA USA) - See all my reviews
(REAL NAME)   
I think its fascinating that there is such a split between those who love and hate this book. Most reviews give a bell-shaped curve of star ratings; this one has a peak at 1, a peak at 5, and very little in between. How could this be? I think it is because SICP is a very personal message that works only if the reader is a computer scientist (or willing to become one). So I agree that the book's odds of success are better if you read it after having some experience.

To use an analogy, if SICP were about automobiles, it would be for the person who wants to know how cars work, how they are built, and how one might design fuel-efficient, safe, reliable vehicles for the 21st century. The people who hate SICP are the ones who just want to know how to drive their car on the highway, just like everyone else.

Those who hate SICP think it doesn't deliver enough tips and tricks for the amount of time it takes to read. But if you're like me, you're not looking for one more trick, rather you're looking for a way of synthesizing what you already know, and building a rich framework onto which you can add new learning over a career. That's what SICP has done for me. I read a draft version of the book around 1982 and it changed the way I think about my profession. If you're a thoughtful computer scientist (or want to be one), it will change your life too.

Some of the reviewers complain that SICP doesn't teach the basics of OO design, and so on. In a sense they are right. The book doesn't directly tell you how to design and write an object-oriented program using the subset of object-oriented principles that show up in the syntax of Java or C++. Rather, the book tells you what those principles are, how they came to be selected as worthwhile, how they can be implemented from the ground up, and how a different combination of principles might be more appropriate for a particular problem. This approach requires you to understand the range of possibilities, and to think about trade-offs as you go through the design process. Programming is a craft that is subject to frequent failure: many projects are started and abandoned because the designers do not have the flexibility, experience and understanding to come up with a suitable design and implementation. SICP gives you an approach that will succeed, but it is an approach based on principles and wisdom, not on a checklist. If you don't understand the principles, or if you are the kind of person who wants to be given a cookbook of what to do rather than to think creatively, or if you only want to work on problems that are pretty much like the problem you worked on last time, then this approach will not work for you. There are other approaches that will be more reproducible for a limited range of simple problems, but there is no better way than SICP to learn how to address the truly hard problems.

Donald Knuth says he wrote his books for "the one person in 50 who has this strange way of thinking that makes a programmer". I think the most amazing thing about SICP is that there are so FEW people who hate it: if Knuth were right, then only 1 out of 50 people would be giving this 5 stars, instead of about 25 out of 50. Now, a big part of the explanation is that the audience is self-selected, and is not a representative sample. But I think part of it is because Sussman and Abelson have succeeded grandly in communicating "this strange way of thinking" to (some but not all) people who otherwise would never get there.

Help other customers find the most helpful reviews  
Was this review helpful to you? Yes No


 
296 of 306 people found the following review helpful:
5.0 out of 5 stars The Classic, May 20, 2000
By paul graham (Cambridge, MA United States) - See all my reviews
This is one of the great classics of computer science. I bought my first copy 15 years ago, and I still don't feel I have learned everything the book has to teach.

I have learned enough to write a couple books on Lisp that (currently) have four to five stars. Yet SICP, which is pretty much the bible of our world, has only three? How can this be?

Reading the reviews made it clear what happened. An optimistic professor somewhere has been feeding SICP to undergrads who are not ready for it. But it is encouraging to see how many thoughtful people have come forward to defend the book.

Let's see if we can put this in terms that the undergrads will understand -- a problem set:

1. Kenneth Clark said that if a lot of smart people have liked something that you don't, you should try and figure out what they saw in it. List 10 qualities that SICP's defenders have claimed for it.

2. How is the intention of SICP different from that of Knuth? Kernighan & Ritchie? An algorithms textbook?

3. Does any other book fulfill this purpose better?

4. What other programming books first published in the mid 1980s are still relevant today?

5. Could the concepts in this book have been presented any better in a language other than Scheme?

6. Who is al? Why is his name in lowercase?

Help other customers find the most helpful reviews  
Was this review helpful to you? Yes No


 
73 of 74 people found the following review helpful:
5.0 out of 5 stars Outstanding, June 16, 1999
By Red (SF Bay) - See all my reviews
The negative reviewers entirely missed the point of this book. The issues are not c++ versus scheme, nor the gap between the book's examples and real-world programs, nor that recursion is less intuitive than looping.

The real point is to teach some very core foundations of computer science that show up everywhere. For example, supposedly revolutionary XML looks a heck of a lot like a nested scheme list, first described in 1960. And processing an active server page (or Java server page) is very much like the textbook's specialized language evaluator. Finally, c++ polymorphism through vtables and part of Microsoft's COM mechanics are the exact same thing as the book's data-directed programming section.

This is very deep material for a programming newbie to learn outside a course, but for an experienced nerd who's looking for a systematic framework, it's absolutely terrific. I had done lots of lisp and compiler work before reading the book, so many of the concepts were not new. But it's with this framework in mind that I learn new technologies, and this approach greatly speeds up how long it takes to understand each week's "new" hot product/language/tool/mindset. Put another way: why do so many popular computer books take 1000 pages to describe a few trivial concepts?

Help other customers find the most helpful reviews  
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

4.0 out of 5 stars Awesome text, but not for beginners
Having first watched the authors' excellent video lectures that were built upon the first edition of this textbook I naturally had very high expectations when I set my hands on... Read more
Published 2 months ago by Petar Marendic

4.0 out of 5 stars Have You Read Your SICP Today?
Everyday, my friends would talk about this book and remind each other to read their fare share of SICP for the day. Read more
Published 3 months ago by RoblanOwnz

5.0 out of 5 stars Great Book, Expensive Press...
As others have gone into, this is a great programming book for many reasons, and is a must-read for anyone who is interested in software design. Read more
Published 6 months ago by JR

5.0 out of 5 stars Will change the way you think about computing
The authors have an ambitious goal - to fundamentally change the way you think about computing. Scheme is used as a vehicle to illustrate how large, complex systems can be... Read more
Published 10 months ago by Gaurav Marballi

5.0 out of 5 stars Computer Science...Art?
You need it, too. I won't pretend to have more useful insight into the art and craft of programming, or into SICP's relationship to it, than Paul Graham or Peter Norvig- if you... Read more
Published 19 months ago by B. Dean

5.0 out of 5 stars Fantastic Textbook
I used this book to teach myself Scheme. It used to be offered at MIT as 6.001 but unfortunately they removed it in favor of 6.01 Python. Read more
Published 21 months ago by Ken Haggerty

5.0 out of 5 stars Have you read your SICP today?
I read this book because it was assigned for a course in school and I feel that working through the book greatly increased my ability. Read more
Published on July 7, 2008 by Xarn Cairnarvon

5.0 out of 5 stars go back to skool!
i bought this after wanting to brush up on theory, algorithms, programming concepts and all the other Compsci stuff but didn't want to go back to skool. Read more
Published on May 20, 2008 by A. Christen

5.0 out of 5 stars The one book *every* programmer must read
My first encounter with SICP was in the second year of university, where I took a course named "SICP 1. Read more
Published on April 18, 2008 by Eli Bendersky

5.0 out of 5 stars Single most important CS book
If you disagree, hopefully you're thinking Knuth. But consider this: Knuth is a wonderful bestiary of important programs and proofs; SICP is about the very nature of programming... Read more
Published on April 5, 2008 by Stephane

Only search this product's reviews



Customer Discussions

This product's forum
See all 3 discussions...  
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
   



So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.