Processing ......
FreeComputerBooks.com
Links to Free Computer, Mathematics, Technical Books all over the World
 
Structure and Interpretation of Computer Programs, JavaScript Edition
Top Free Programming Books 🌠 - 100% Free or Open Source!
  • Title: Structure and Interpretation of Computer Programs, JavaScript Edition
  • Author(s) Harold Abelson, Gerald Jay Sussman, Martin Henz, and Tobias Wrigstad
  • Publisher: The MIT Press (April 12, 2022); eBook (Creative Commons Licensed, 2022)
  • License(s): CC BY-SA 4.0, GNU General Public License
  • Paperback: 640 pages
  • eBook: HTML and PDF (640 pages)
  • Language: English
  • ISBN-10: 0262543230
  • ISBN-13: 978-0262543231
  • Share This:  

Book Description

This book 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.

The 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.

The first three chapters of the book 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.

Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text.

There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published.

A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises.

About the Authors
  • Harold Abelson is a Professor of Electrical Engineering and Computer Science at MIT, a fellow of the IEEE, and a founding director of both Creative Commons and the Free Software Foundation.
  • Gerald Jay Sussman is the Panasonic Professor of Electrical Engineering at the Massachusetts Institute of Technology (MIT).
Reviews, Ratings, and Recommendations: Related Book Categories: Read and Download Links: Similar Books
  • Structure and Interpretation of Computer Programs, 2nd Edition

    This book has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text. Examples are implemented using the Scheme dialect of Lisp.

  • Eloquent JavaScript, 3rd Edition: A Modern Introduction

    Eloquent JavaScript dives deep into the JavaScript language to show you how to write beautiful, effective code. It immerses you in example code from the start, while exercises and full-chapter projects give you hands-on experience.

  • A Practical Theory of Programming (Eric C.R. Hehner)

    This book explores aspects of programming that are amenable to mathematical proof. The author describes a programming theory which is much simpler and more comprehensive than the current theories to date.

  • How to Design Programs: An Introduction to Programming

    This introduction to programming places computer science at the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process, presenting program design guidelines.

  • Elements of Programming (Alexander Stepanov, et al)

    The book shows that algorithms implemented in a real programming language, such as C++, can operate in the most general mathematical setting. For example, the fast exponentiation algorithm is defined to work with any associative operation.

  • Programming Pearls, 2nd Edition (Jon Bentley)

    This book is a collection of essays about a glamorous aspect of software: programming pearls whose origins lie beyond solid engineering, in the realm of insight and creativity, about how to design and create programs, and how to think about programming.

  • Isomorphism - Mathematics of Programming (Xinyu Liu)

    This book introduces the mathematics behind computer programming. It intents to tell: programming is isomorphic to mathematics. Just like in art and music, there are interesting stories and mathematicians behind the great minds.

  • Competitive Programmer's Handbook (Antti Laaksonen)

    The purpose of this book is to give you a thorough introduction to competitive programming. It is assumed that you already know the basics of programming, but no previous background in competitive programming is needed.

  • What Every Programmer Should Know About Memory

    This document explains the structure of memory subsystems in use on modern commodity hardware, illustrating why CPU caches were developed, how they work, and what programs should do to achieve optimal performance by utilizing them.

  • Answer Set Programming (Vladimir Lifschitz)

    This book book will introduce the reader to the theory and practice of Answer Set Programming (ASP). It will include numerous examples of ASP programs and present the mathematical theory that ASP is based on, and exercises with complete solutions.

  • Aesthetic Programming: A Handbook of Software Studies

    The book explores the technical as well as cultural imaginaries of programming from its insides, introduces and demonstrates the reflexive practice of aesthetic programming, engaging with learning to program as a way to understand and question.

  • Principles of Algorithmic Problem Solving (Johan Sannemo)

    The algorithmic approach to solving problems in computer technology is an essential tool. This book presents a readable, entertaining, and energetic book that will motivate and challenge students to open their minds to the algorithmic nature of problem solving.

  • The Black Art of Programming (Mark McIlroy)

    This book is an introduction to computer programming. It covers the essential information of a Computer Science course. It is recommended for beginners and intermediate programmers.

  • Exploratory Programming for the Arts and Humanities

    This book introduces programming to readers involved with the arts and humanities; there are no prerequisites, and no previous knowledge of programming is assumed. It reveals programming can also be a tool for sketching, brainstorming, and inquiry.

Book Categories
:
Other Categories
Resources and Links