Structure and Interpretation of Computer Programs: Difference between revisions

Content deleted Content added
Tags: Mobile edit Mobile web edit
Style and grammar
Line 24:
'''''Structure and Interpretation of Computer Programs''''' ('''''SICP'''''), also known as the '''wizard book''',<ref>{{Citation | contribution = Wizard Book | title = The New Hacker's Dictionary | edition = 2nd | year = 1993 | contribution-url = http://mitpress.mit.edu/sicp/}}.</ref> is a [[computer science]] textbook. It teaches fundamental principles of [[computer programming]], including [[recursion]], [[abstraction (computer science)|abstraction]], [[modular programming|modularity]], and [[programming language]] [[metalinguistic abstraction|design]] and [[interpreter (computing)|implementation]]. It is widely considered a classic in [[hacker culture]].<ref>{{citation | url = http://grokcode.com/11/the-top-9-in-a-hackers-bookshelf/ |title= Grok code | contribution = The Top 9{{frac |1|2}} Books in a Hacker's Bookshelf |accessdate = 2010-10-23}}</ref>
 
It was written by [[Massachusetts Institute of Technology]] (MIT) professors [[Harold Abelson]] and [[Gerald Jay Sussman]] with Julie Sussman, and first published in 1985 by the [[MIT Press]]. The second edition was published in 1996. It was formerly used as the textbook for MIT's introductory course in [[electrical engineering]] and computer science. SICP focuses on discovering general patterns for solving specific problems, and building robust software systems that make use of those patterns.<ref>{{Citation | last = Harvey | first = B | year = 2011 | contribution-url = http://www.eecs.berkeley.edu/~bh/sicp.html | contribution = Why SICP matters? | title = The 150th anniversary of MIT | publisher = [[Boston Globe]]}}.</ref>
 
==Content==
Line 44:
 
== Coursework ==
The book was used as the textbook for MIT's former introductory programming classcourse, 6.001.<ref>{{cite web | url = http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-001Spring-2005/CourseHome/ | work = OpenCourseWare | title = Electrical Engineering and Computer Science &#124; 6.001 Structure and Interpretation of Computer Programs |date=Spring 2005 | publisher = MIT | accessdate =2011-06-28}}</ref> That classcourse was replaced by 6.0001,<ref>{{Citation|title=Catalog|url=http://student.mit.edu/catalog/search.cgi?search=6.0001|contribution=6.0001|publisher=MIT}}.</ref> which uses [[Python (programming language)|Python]].<ref>{{Citation | first = Donald | last = Guy | quote = I talked to Professor Sussman on the phone... He said that he'd actually been trying to have 6.001 replaced for the last ten years (and I read somewhere that Professor Abelson was behind the move too). Understanding the principles is not essential for an introduction to the subject matter anymore. He sees 6.001 as obsolete | url = http://www.mitadmissions.org/topics/learning/coursework/the_end_of_an_era_1.shtml | title = MIT Admissions | type = blog comment | contribution = The End of an Era | accessdate = 2008-08-05}}.</ref> Other schools also made use of the book as a course textbook.<ref>{{cite web| first = Edward C | last = Martin | url= http://www.schemers.com/schools.html | title= Schools |publisher= Schemers |date = 2009-07-20 |accessdate= 2011-06-28}}</ref> TheIt secondis editionused ({{ISBN|0-262-51087-1}})as appearedthe intextbook 1996for MIT's Large Scale Symbolic Systems class, 6.945.<ref>http://eduapps.mit.edu/textbook/books.html?Term=2016SP&Subject=6.945</ref>
It is used as the textbook for MIT's Large Scale Symbolic Systems class, 6.945.<ref>http://eduapps.mit.edu/textbook/books.html?Term=2016SP&Subject=6.945</ref>
 
==Reception==