Structure and Interpretation of Computer Programs, JavaScript Edition (Harold Abelson, et al.)

 
0.0 (0)
Structure and Interpretation of Computer Programs, JavaScript Edition (Harold Abelson, et al.)

By building a number of mental models for computation, this book introduces the reader to the fundamental concepts of computation.

The program examples in earlier editions were written in the programming language Scheme. The second edition has been updated for JavaScript in this new version.

Using the JavaScript package sicp made available via the MIT Press website, the programs in the book run on any JavaScript implementation that complies with the ECMAScript 2020 specification.

Programming ideas that are common to all current high-level programming languages are covered in the book's first three chapters. Significant revisions were needed for Chapters 4 and 5, which employed Scheme to create language processors for Scheme. New information is presented in Chapter 4, including a definition of program parsing. A subtle stack discipline is introduced by the evaluator and compiler in chapter five to support return statements, a key component of statement-oriented languages, without sacrificing tail recursion.

Over the past ten years, the book Structure and Interpretation of Computer Programs has had a significant impact on computer science curricula. The entire text has been revised in this eagerly anticipated update.

The majority of the key programming systems, including the interpreters and compilers, have new implementations in this book, and the authors have made numerous minor adjustments as a result of their experience teaching the course at MIT since the first edition was released.

The central role that various approaches to handling time play in computational models has been highlighted by a new theme, which includes objects with state, concurrent programming, functional programming, and lazy evaluation, and nondeterministic programming. Numerous new exercises are included, as well as new example sections on numerical programming applications of stream processing and higher-order graphics procedures.

Ebook Details

About the Authors
  • Professor of Electrical Engineering and Computer Science at MIT, IEEE fellow, and founding director of both Creative Commons and the Free Software Foundation, Harold Abelson holds these positions.
  • The Massachusetts Institute of Technology's Panasonic Professor of Electrical Engineering is Gerald Jay Sussman.
Publisher
Published
Published Date / Year
(April 12, 2022); eBook (Creative Commons Licensed, 2022)
License(s)
CC BY-SA 4.0, GNU General Public License
Hardcover
640 pages
eBook Format
HTML and PDF (640 pages)
Language
English
ISBN-10
0262543230
ISBN-13
978-0262543231

Similar Programming & Computer Books

JavaScript Éloquent : Une introduction moderne à la programmation - Eloquent JavaScript: A Modern Introduction to Programming (Marijn Haverbeke)
In the book Eloquent JavaScript, the JavaScript programming language and programming in general are introduced.  
Apprendre l'informatique sans ordinateur - Learn computer science without a computer
In this free programming book, the author describes how to Learn computer science without a computer.  
Dictionary of Programming Languages (Neal Ziring)
The Dictionary of Programming Languages is an online reference guide to computer coding techniques put together to educate and enhance your understanding of computer science history. Over 120 words...
Game Programming in Haskell (Elise Huard, et al)
Predictably, Game Programming in Haskell provides an introduction to creating games in the language.  
Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction (Daniel Shiffman)
This free programming book shows you how to use Processing to build the fundamental programming building blocks required to develop cutting-edge graphics applications, such as interactive art, live video...
Cascading Style Sheets: The Definitive Guide (Eric A. Meyer)
The Web Design CD Bookshelf, Version 1.0, includes this book. To put it simply, CSS is a method for separating a document's structure from its presentation. The...
Learn HTML and CSS in One Easy to Use Guide (Shay Howe)
This free programming book serves as a clear and thorough tutorial for those just learning HTML and CSS. This manual covers all typical components of front-end design and development...
HTML Tutorials: Everything HTML, CSS, and JavaScript (Patrick Griffiths)
This thorough book is the greatest option for readers who wish to create Web pages that load quickly, are simple to edit, accessible to all, function on all browsers,...
CSS in Depth (Keith J. Grant)
This free programming book introduces you to a wide variety of CSS techniques, from the clever to the astounding. This book's abundance of imaginative examples and potent best practices...
Essential CSS (Krzysztof Kowalczyk)
This free programming book was created to give programmers who are just learning Cascading Style Sheets (CSS) as well as those delving into more difficult issues a clear and...

Others Programming Books by Harold Abelson, Gerald Jay Sussman, Martin Henz, Tobias Wrigstad

Software Design for Flexibility: How to Avoid Programming Yourself into a Corner (Chris Hanson, et al)
Techniques for designing huge systems that are easily reconfigurable for different scenarios with very modest programming changes.
Structure and Interpretation of Classical Mechanics (Gerald Jay Sussman, et al)
The updated version of a popular text emphasizes creating universal approaches for analyzing the behavior of classical systems while heavily relying on computers.
Structure and Interpretation of Computer Programs, 2nd Edition (Harold Abelson, et al)
The book introduces fundamental ideas in computer science using Scheme, a version of the Lisp programming language.
《计算机程序的结构和解释》公开课 翻译项目 - Structure and Interpretation of Computer Programs (Harold Abelson, et al)
Harold Abelson and Gerald Jay Sussman's free open-source book, "The Structure and Interpretation of Computer Programs," is full of information.

Others Programming Books by The MIT Press

Cellular: An Economic and Business History of the International Mobile-Phone Industry (Daniel D. Garcia-Swartz, et al)
From the late 1970s to the present, charts the development of the global cellular industry. It took exceptional collaboration between businesses, governments, and industrial sectors for the mobile phone...
The Ecology of Games: Connecting Youth, Games, and Learning (Katie Salen)
Little has been published on an overall "ecology" of gaming, game design, and play - mapping the ways that all the various elements, from code to social practices to...
Categories, Types, and Structures: An Introduction to Category Theory for the Working Computer Scientist (Andrea Asperti, et al)
This free programming book offers an accessible introduction to category theory for computer scientists as well as useful examples in the context of programming language design. In "Categories, Types...
Sheaf Theory through Examples (Daniel Rosiak)
This free programming book offers a clear introduction to elementary sheaf theory from the standpoint of applied category theory and explores several applications, such as n-colorings of graphs, satellite...
Wandering Games (Melissa Kagen)
Games may use wandering as a topic, formal style, metaphor for aesthetics, or player action. It can refer to moving forward, moving backward, traveling, meandering, or escaping. ...
Probabilistic Machine Learning: Advanced Topics (Kevin Patrick Murphy)
In this book, we broaden the use of machine learning to more difficult issues.
Introduction to Online Convex Optimization (Elad Hazan)
In this book, optimization is portrayed as a procedure. It is not realistic to draw out a thorough theoretical model and utilize traditional algorithmic theory and/or mathematical optimization in...
Statistical Mechanics of Lattice Systems: A Concrete Mathematical Introduction (Sacha Friedli, et al)
Using a variety of specific models, such as the Curie-Weiss and Ising models, the Gaussian free field, O(n) models, and models with Ka interactions, this inspiring textbook provides a...
Software Design for Flexibility: How to Avoid Programming Yourself into a Corner (Chris Hanson, et al)
Techniques for designing huge systems that are easily reconfigurable for different scenarios with very modest programming changes.
Global Fintech: Financial Innovation in the Connected World (David L. Shrier, et al.)
The global financial services industry has been completely transformed by artificial intelligence, big data, blockchain, and other new technologies, opening up new prospects for business owners and corporate innovators....
The New Hacker's Dictionary (The Jargon File) by Eric S. Raymond
This page includes a glossary of terminology used by various computer hacker subcultures. What we describe here is the language hackers use among themselves for amusement, social contact, and...
Algorithms for Decision Making (Mykel Kochenderfer, et al)
In this book, algorithms for making decisions in the face of uncertainty are introduced in great detail. It introduces the underlying mathematical problem formulations and the strategies for addressing...
Machine Learning: A Probabilistic Perspective (Kevin Patrick Murphy)
Automated data analysis techniques are necessary given the Web-enabled flood of electronic data we face today. These are provided by machine learning, which creates techniques that can automatically find...
Exploratory Programming for the Arts and Humanities (Nick Montfort)
There are no prerequisites or assuming prior programming experience in this book, which introduces programming to readers interested in the arts and humanities.
The Constitution of Algorithms: Ground-Truthing, Programming, Formulating (Florian Jaton)
The technologies we use every day are powered by algorithms, which are sometimes used interchangeably with words like "big data," "machine learning," and "artificial intelligence." Arguments concerning the real...
Linguistics for the Age of AI (Marjorie McShane, et al)
This book presents a model of language understanding for intelligent agent systems that is human-inspired and linguistically complex.
Probabilistic Machine Learning: An Introduction (Kevin Patrick Murphy)
Using probabilistic models and inference as a unifying strategy, this book provides a thorough introduction to machine learning.
How Humans Judge Machines (Cesar A. Hidalgo, et al)
A thorough analysis of how individuals respond to human activities versus machine actions. This book investigates when and why people differentiate between humans and machines through dozens of tests....
Certified Programming with Dependent Types: A Pragmatic Introduction to the Coq Proof Assistant (Adam Chlipala)
Many different computer science research endeavors can benefit from the use of mechanized program verification technologies, and the use of similar formal proof-checking tools in mathematics and engineering is...
Street-Fighting Mathematics: The Art of Educated Guessing and Opportunistic Problem Solving (Sanjoy Mahajan)
This interesting book teaches us how to guess answers without needing a proof or an exact calculation, which is a cure for the rigor mortis caused by excessive mathematical...

User reviews

There are no user reviews for this listing.
Ratings
Rate this Book
Comments