- Amazon Business: Make the most of your Amazon Business account with exclusive tools and savings. Login now
- Amazon Business : For business-only pricing, quantity discounts and FREE Shipping. Register a free business account
Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) 2nd Edition
|
Harold Abelson
(Author)
Find all the books, read about the author, and more.
See search results for this author
Are you an author?
Learn about Author Central
|
|
Gerald Jay Sussman
(Author)
Find all the books, read about the author, and more.
See search results for this author
Are you an author?
Learn about Author Central
|
Use the Amazon App to scan ISBNs and compare prices.
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.
-
Apple
-
Android
-
Windows Phone
-
Android
|
Download to your computer
|
Kindle Cloud Reader
|
Customers who viewed this item also viewed
Software Design for Flexibility: How to Avoid Programming Yourself into a CornerChris HansonHardcover
Instructor's Manual t/a Structure and Interpretation of Computer Programs - 2nd EditionPaperback
How to Design Programs: An Introduction to Programming and Computing (The MIT Press)Paperback
The Little Schemer - 4th EditionPaperback
Computer Systems: A Programmer's Perspective, 3 EditionDavid R. O'Hallaron Randal E. BryantPaperback
Code: The Hidden Language of Computer Hardware and SoftwarePaperback
Customers who bought this item also bought
Software Design for Flexibility: How to Avoid Programming Yourself into a CornerChris HansonHardcover
Design Patterns: Elements of Reusable Object-Oriented SoftwareHardcover
Instructor's Manual t/a Structure and Interpretation of Computer Programs - 2nd EditionPaperback
Introduction to Algorithms, 3rd Edition (The MIT Press)Hardcover
The Art of Computer Programming, Volumes 1-4A Boxed SetDonald KnuthHardcover
The Little Schemer - 4th EditionPaperback
What other items do customers buy after viewing this item?
Software Design for Flexibility: How to Avoid Programming Yourself into a CornerChris HansonHardcover
The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition (2nd Edition)David ThomasHardcover
Operating Systems: Three Easy PiecesRemzi H Arpaci-DusseauPaperback
Introduction to Algorithms, 3rd Edition (The MIT Press)Hardcover
Instructor's Manual t/a Structure and Interpretation of Computer Programs - 2nd EditionPaperback
Design Patterns: Elements of Reusable Object-Oriented SoftwareHardcover
Special offers and product promotions
Editorial Reviews
Amazon.com Review
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
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.
Product details
- Publisher : The MIT Press; 2nd edition (July 25, 1996)
- Language : English
- Hardcover : 657 pages
- ISBN-10 : 0262011530
- ISBN-13 : 978-0262011532
- Item Weight : 2.3 pounds
- Dimensions : 6.25 x 1.5 x 9.25 inches
-
Best Sellers Rank:
#237,393 in Books (See Top 100 in Books)
- #13 in Lisp Programming
- #143 in Software Design & Engineering
- #407 in Computer Programming Languages
- Customer Reviews:
Customer reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
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.
But it's worth the effort: By the time you are done you will know about imperative programming, functional programming, meta programming, lazy data structures and everything in between.
This is one book that should be on every programmer's list.
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?
Top reviews from other countries
2) Exercises: For me the exercises were so intrinsic to learning from this book. It is not a book meant to be read like fiction. The exercises while not begin way above the level taught in the text are just slightly tougher to enable you to reinforce your learning. Many times the exercises would contain a great algorithm and ask you to fill in a small bit. The exercises therefore are not supplementary to the text but an intrinsic part of it and contribute to what makes this book so good.
3) Built from the base: The book takes us on a journey from primitives (functions provided in most assembly languages) to writing programs. This is one benefit of writing with the functional programming language Lisp. One revelation for me was his much of programming could be done without for loops but just with recursive calls. Many times in between functional programming language topics are touched upon. The final chapter competes the story of registers to programs. Good amount of ground covered for a thin book.
4) Who should attempt this: irrespective of what others might say, this book is definitely not for beginners. I would suggest attempting this book only after atleast a thorough course in algorithms, and atleast a few months experience in coding. A good path to learning before this course for beginners to CS might be 1) 6.001 MiT watch. full course online, dont necessarily have to solve all the problems. 2) Take the coursera course in algorithms to strengthen learning. Do all the problems here in language of choice 3) attempt edx IIT bombay 'introduction to programing : Algorithms'. Thus particular course (as taught by Ajit Diwan and Pathak) creates a good foundation to recursive thinking. One that you will appreciate and strengthen when you learn SICP.
5) Lisp is not a constraint : The book is written in a language called lisp. You dont need to know lisp to understand the book. The language is easy enough to pick up as you read the book. Further at the end of the book you can claim to understand a new language.
6) How long does it take to read: A book this size to read from cover to cover might take a day. But to make the most of this book you may have to stick with it for a fortnight (at least) of learning. Even legendary coders like John Cormack have found the book challenging.
7) Is this book for you: This is one of those where you do not choose the book, the book chooses you. Are you excited about coding or is coding a means to get the job done. Do you find yourself thinking about problems or do you immediately look up the answer on stackoverflow. Are you willing to invest time in becoming a better programmer or would you rather earn a new skill /language in that time. If the answer to any or most of these is the former, then what are you waiting for? Get the book, download scheme or Dr. Racket (Lisp IDE) and get started!
Deals related to this item
Sony WH-1000XM4 Wireless Industry Leading Noise Canceling Overhead Headphones with Mic for Phone-Call and Alexa Voice Control, Black
Bose QuietComfort 35 II Wireless Bluetooth Headphones, Noise-Cancelling, with Alexa Voice Control - Black
Sennheiser HD 350BT Bluetooth 5.0 Wireless Headphone - 30-Hour Battery Life, USB-C Fast Charging, Virtual Assistant Button, Foldable - Black
Stonemaier Games Scythe Board Game - An Engine-Building, Area Control for 1-5 Players, Ages 14+
Smart Table Lamp, HugoAi Dimmable RGBW Bedside Lamps for Bedrooms, Works with Alexa and Google Home, LED Nightstand Lamp, No Hub Required, White【2021 Updated Version】
Bose Noise Cancelling Headphones 700 — Over Ear, Wireless Bluetooth Headphones with Built-In Microphone for Clear Calls & Alexa Voice Control, Black






