{"product_id":"structure-and-interpretation-of-computer-programs-isbn-9780262543231","title":"Structure and Interpretation of Computer Programs","description":"\u003cb\u003eA new version of the classic and widely used text adapted for the JavaScript programming language.\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003eSince the publication of its first edition in 1984 and its second edition in 1996, \u003ci\u003eStructure and Interpretation of Computer Programs\u003c\/i\u003e (\u003ci\u003eSICP\u003c\/i\u003e) has influenced computer science curricula around the world. Widely adopted as a textbook, the book has its origins in a popular entry-level computer science course taught by Harold Abelson and Gerald Jay Sussman at MIT. \u003ci\u003eSICP\u003c\/i\u003e introduces the reader to central ideas of computation by establishing a series of mental models for computation. Earlier editions used the programming language Scheme in their program examples. This new version of the second edition has been adapted for JavaScript.\u003cbr\u003e \u003cbr\u003eThe first three chapters of \u003ci\u003eSICP\u003c\/i\u003e cover programming concepts that are common to all modern high-level programming languages. Chapters four and five, which used Scheme to formulate language processors for Scheme, required significant revision. Chapter four offers new material, in particular an introduction to the notion of program parsing. The evaluator and compiler in chapter five introduce a subtle stack discipline to support return statements (a prominent feature of statement-oriented languages) without sacrificing tail recursion.\u003cbr\u003e \u003cbr\u003eThe JavaScript programs included in the book run in any implementation of the language that complies with the ECMAScript 2020 specification, using the JavaScript package sicp provided by the MIT Press website.\u003cbr\u003e Foreword xiii\u003cbr\u003eForeword to Structure and Interpretation of Computer Programs, 1984 xvii\u003cbr\u003ePreface xxi\u003cbr\u003ePrefaces to Structure and Interpretation of Computer Programs, 1996 \u0026amp; 1984 xxiii\u003cbr\u003eAcknowledgments xxvii\u003cbr\u003e1 Building Abstractions with Functions 1\u003cbr\u003e2 Building Abstractions with Data 69\u003cbr\u003e3 Modularity, Objects, and State 189\u003cbr\u003e4 Metalinguistic Abstraction 317\u003cbr\u003e5 Computing with Register Machines 449\u003cbr\u003eReferences 565\u003cbr\u003eIndex 571\u003cbr\u003eList of Exercises 607“A classic, meticulously revisited and modernized with talent, pedagogy, and substance. Thank you, Martin, Tobias, and Julie!”\u003cbr\u003e—\u003cb\u003eOlivier Danvy, Yale-NUS College\u003c\/b\u003e\u003cbr\u003e \u003cbr\u003e “When I am asked ‘How can I become a better programmer?,’ I recommend this book.”\u003cbr\u003e—\u003cb\u003eDouglas Crockford, author of \u003ci\u003eHow JavaScript Works\u003c\/i\u003e\u003c\/b\u003e\u003cbr\u003e \u003cbr\u003e“How much is a programming book influenced by its programming language? \u003ci\u003eSICP\u003c\/i\u003e in JavaScript is remarkably fluid, an excellent choice for today’s programmers.”\u003cbr\u003e—\u003cb\u003ePeter Van Roy, Université catholique de Louvain\u003c\/b\u003e\u003cb\u003eHarold Abelso\u003c\/b\u003en is Class of 1922 Professor of Computer Science and Engineering at MIT. \u003cb\u003eGerald Jay Sussman\u003c\/b\u003e is Panasonic Professor of Electrical Engineering at MIT. \u003cb\u003eMartin Henz\u003c\/b\u003e is Associate Professor of Computer Science at the National University of Singapore. \u003cb\u003eTobias Wrigsta\u003c\/b\u003ed is Professor of Computer Science at Uppsala University.\u003cbr\u003e \u003cbr\u003e\u003cbr\u003e ","brand":"The MIT Press","offers":[{"title":"Default Title","offer_id":46301085139173,"sku":"NP9780262543231","price":75.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1842\/7735\/files\/9780262543231.jpg?v=1767737450","url":"https:\/\/k12savings.com\/products\/structure-and-interpretation-of-computer-programs-isbn-9780262543231","provider":"K12savings","version":"1.0","type":"link"}