**Structure and Interpretation of Computer Programs**

by Harold Abelson, Gerald Jay Sussman, Julie Sussman

**Publisher**: McGraw-Hill 1996**ISBN/ASIN**: 0262011530**ISBN-13**: 9780262011532**Number of pages**: 588

**Description**:

Abelson and Sussman's classic Structure and Interpretation of Computer Programs teaches readers how to program by employing the tools of abstraction and modularity. The authors' central philosophy is that programming is the task of breaking large problems into small ones. The book spends a great deal of time considering both this decomposition and the process of knitting the smaller pieces back together.

Download or read it online for free here:

**Download link**

(2.7MB, PDF)

## Similar books

**Lecture Notes on the Lambda Calculus**

by

**Peter Selinger**-

**Dalhousie University**

Topics covered in these notes include the untyped lambda calculus, the Church-Rosser theorem, combinatory algebras, the simply-typed lambda calculus, the Curry-Howard isomorphism, weak and strong normalization, type inference, etc.

(

**6757**views)

**Semantics With Applications: A Formal Introduction**

by

**Hanne Riis Nielson, Flemming Nielson**-

**John Wiley & Sons**

The book covers the foundations of structural operational semantics and natural semantics. It shows how to describe the semantics of declarative as well as imperative language constructs and will also touch upon non-sequential constructs.

(

**7938**views)

**Denotational Semantics: A Methodology for Language Development**

by

**David Schmidt**-

**Kansas State University**

Denotational semantics is a methodology for giving mathematical meaning to programming languages and systems. This book was written to make denotational semantics accessible to a wider audience and to update existing texts in the area.

(

**7066**views)

**The Design and Implementation of Probabilistic Programming Languages**

by

**Noah D. Goodman, Andreas Stuhlmüller**-

**dippl.org**

This book explains how to implement PPLs by lightweight embedding into a host language. We illustrate this by designing WebPPL, a small PPL embedded in Javascript. We show how to implement several algorithms for universal probabilistic inference.

(

**1395**views)