Join Amazon Prime and ship Two-Day for free and Overnight for $3.99. Already a member? Sign in.

 

or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
36 used & new from $49.98

Have one to sell? Sell yours here
 
   
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 yours here.
 
  

Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) (Hardcover)

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

List Price: $86.00
Price: $68.80 & this item ships for FREE with Super Saver Shipping. Details
You Save: $17.20 (20%)
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
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Want it delivered Monday, July 20? Choose One-Day Shipping at checkout. Details
15 new from $64.08 21 used from $49.98
Also Available in: List Price: Our Price: Other Offers:
Hardcover (2) $146.50 $114.27 51 used & new from $43.26
Paperback (2) 17 used & new from $49.96

Frequently Bought Together

Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) + Instructor's Manual t/a Structure and Interpretation of Computer Programs - 2nd Edition + The Little Schemer - 4th Edition
Price For All Three: $118.30

Show availability and shipping details


Customers Who Bought This Item Also Bought

The Little Schemer - 4th Edition

The Little Schemer - 4th Edition

by Daniel P. Friedman
3.9 out of 5 stars (35)  $25.20
How to Design Programs: An Introduction to Programming and Computing

How to Design Programs: An Introduction to Programming and Computing

by Matthias Felleisen
4.7 out of 5 stars (11)  $56.80
Introduction to Algorithms, Second Edition

Introduction to Algorithms, Second Edition

by Thomas H. Cormen
4.1 out of 5 stars (171)  $68.12
Simply Scheme - 2nd Edition: Introducing Computer Science

Simply Scheme - 2nd Edition: Introducing Computer Science

by Brian Harvey
3.6 out of 5 stars (7)  $60.00
The Seasoned Schemer

The Seasoned Schemer

by Daniel P. Friedman
4.3 out of 5 stars (3)  $24.30
Explore similar items

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.

Product Description
Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard. Visit the SICP2 web site!

See all Editorial Reviews


Product Details



What Do Customers Ultimately Buy After Viewing This Item?

Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science)
83% 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 (160)
$68.80
The Little Schemer - 4th Edition
6% buy
The Little Schemer - 4th Edition 3.9 out of 5 stars (35)
$25.20
How to Design Programs: An Introduction to Programming and Computing
4% buy
How to Design Programs: An Introduction to Programming and Computing 4.7 out of 5 stars (11)
$56.80
What Is Mathematics? An Elementary Approach to Ideas and Methods
4% buy
What Is Mathematics? An Elementary Approach to Ideas and Methods 4.8 out of 5 stars (32)
$16.47

Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
Check the boxes next to the tags you consider relevant or enter your own tags in the field below.
(16)
(15)
(6)

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
No one has tagged this product for Amazon search yet. Why not be the first to suggest a search for which it should appear?

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

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

 
594 of 601 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.

Comment Comments (2) | Permalink | Was this review helpful to you? Yes No (Report this)



 
260 of 269 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?

Comment Comments (2) | Permalink | Was this review helpful to you? Yes No (Report this)



 
64 of 65 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?

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


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

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 5 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 8 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 12 months ago 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 14 months ago 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 15 months ago 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 15 months ago by Stephane

5.0 out of 5 stars this book saved my life
So there I was, 18 years old, having been raised on a toxic stew of MS-BASIC, Apple II assembly and some MPW Pascal. My mind was poisoned. Read more
Published 19 months ago by Peter Gamache

5.0 out of 5 stars Mind-changing
This is the best book on programming I have ever met in my life and, most probably, will ever meet.
It not only surprised me and made me think "Oh my god, how come I didn't... Read more
Published on July 15, 2007 by Evgeny Kirpichov

2.0 out of 5 stars from a student who use the book for a course
I'm an undergrad who is currently taking an introductory class in C.S using the book as the primary textbook (actually, the only textbook). Read more
Published on May 3, 2007 by Pham Duc Tri

5.0 out of 5 stars A Computer Science grand tour
I discovered this text, I believe, while browsing The Aerospace Corp Library in '90. I was immediately taken with it, wishing my own undergraduate program in CS had incorporated... Read more
Published on March 16, 2007 by L. M. Jordan

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (3 discussions)
See all 3 discussions...  
Start a new discussion
Topic:
First post:
Prompts for sign-in
  [Cancel]


Active discussions in related forums
   


Product Information from the Amapedia Community

Beta (What's this?)

Help us improve this fledgling article by editing it on Amapedia.com opens new browser window




Look for Similar Items by Category


Perfect Programming

Shop for programmable thermostats

Install a programmable thermostat to help reduce heating costs by ensuring your home is heated optimally. Shop for name-brand thermostats, including Honeywell and Lux, in Home Improvement.

Shop all programmable thermostats

 

Big Savings in Books

Bargain Books
Find great titles at fantastic prices in our Bargain Books Store.
 

On the Bright Side

Shop the Lighting & Electrical Store
Not only does good lighting make your home safer, it also enhances the look and feel of your home. Browse the Lighting & Electrical Store now.

Shop Lighting & Electrical

 

Best Books

Best of the Month
See our editors' picks and more of the best new books on our Best of the Month page.
 
Ad

 

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.


Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

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

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers
Free
Free by Chris Anderson
Paranoia
Paranoia by Joseph Finder
My Soul to Lose
My Soul to Lose by Rachel Vincent
Glenn Beck's Common Sense

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates