- Series: MIT Electrical Engineering and Computer Science
- Hardcover: 657 pages
- Publisher: The MIT Press; 2 edition (July 25, 1996)
- Language: English
- ISBN-10: 0262011530
- ISBN-13: 978-0262011532
- Product Dimensions: 9.1 x 6.2 x 1.4 inches
- Shipping Weight: 2.3 pounds
- Average Customer Review: 4.5 out of 5 stars See all reviews (229 customer reviews)
- Amazon Best Sellers Rank: #270,480 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
This month's Book With Buzz: "The Lying Game" by Ruth Ware
From the instant New York Times bestselling author of blockbuster thrillers "In a Dark, Dark Wood" and "The Woman in Cabin 10" comes Ruth Ware’s chilling new novel, "The Lying Game." See more
Customers who bought this item also bought
Customers who viewed this item also viewed
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.
About the Author
Hal Abelson is Class of 1922 Professor of Computer Science and Engineering at Massachusetts Institute of Technology and a fellow of the IEEE. He is a founding director of Creative Commons, Public Knowledge, and the Free Software Foundation. Additionally, he serves as co-chair for the MIT Council on Educational Technology.
Gerald Jay Sussman is the Matsushita Professor of Electrical Engineering in the Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology. He is also the coauthor of Structure and Interpretation of Computer Programs (MIT Press, second edition, 1996).
Browse award-winning titles. See more
If you are a seller for this product, would you like to suggest updates through seller support?
Top customer reviews
It had a massive impact on me. It consumed me, to the point where I had difficulty finishing assignments for my classes (I did not study CS as an undergrad). What the book does is give you a vocabulary and knowledge about programming that is hard to find anywhere else.
The text, the examples and exercises, have a mathematical flavor, and that may turn off many potential readers, who would rather gadget around than find elegant solutions for the 8-queens puzzle or efficient algorithms to compute Fibonacci numbers.
I've lent this book to several friends who were interested in learning to program, and in all cases they have returned it to me, saying it went over their heads.
There seem to be two camps in computer programming:
- the gadgeteers, who want to hook devices together and make them do fun things
- the scientists, who appreciate computing as a medium in itself
This book is for the second type.
The discussion in the reviews usually concludes that this is the book that separates the computer scientists from the mere programmers. There is a definite logic to this. If you want a book that will have you churning out code that does something helpful in half an hour(because you don't think the several ways to calculate the Fibonacci Sequence are helpful), by all means, pick up Learning Perl or just read the Python documentation. They are great tools. If, however, you want to tool up on problem-solving technique a whole level or three higher up, SICP is for you. The Wizard Book is about learning to think better.
Here is where I diverge from the idea that this book is for only computer scientists, though. I am an artist, graduated from college with a BA in art, going to graduate school for an MFA. SICP is one of the books that changed how I work and think. It will make you a better programmer if you read (and reread (and reread)) it in the same way that learning Latin will make you understand language itself in a whole new way. I use ideas from SICP constantly, to design software, but also to design staircases. The book is slow-going, no doubt about it, but you'll have a whole new mental toolset at the end.
One caveat- this book is freely distributed in its entirety on MIT's website. I still bought a copy, though: who knows how long this internet thing will last, but SICP is going to be relevant forever.
To get a flavor of this book, search for "SICP Lecture 1a" in Google Video. It's the first of 20 lectures delivered by the authors of the book in 1986. If you decide to purchase the book, use it in conjunction with these lectures to get the complete SICP experience. You will come out of a smarter, wiser software engineer.
Also, how often do you see visionary computer scientists like Peter Norvig and Paul Graham give 5 stars to a book?
Most recent customer reviews
Lisp is not a functional programming language. It was never designed to be a "functional programming" language.Read more
There are numerous reviews here that discuss the merits of this book.Read more