**Programming and Programming Languages**

by Shriram Krishnamurthi

**Publisher**: Brown University 2014**Number of pages**: 262

**Description**:

Many people would regard this as being two books in one. One book is an introduction to programming, teaching you basic concepts of organizing data and the programs that operate over them, ending in the investigation of universally useful algorithms. The other book is an introduction to programming languages: a study, from one level up, of the media by which we structure these data and programs.

Download or read it online for free here:

**Read online**

(online html)

## Similar books

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

(

**1866**views)

**The Z Notation: A Reference Manual**

by

**J. M. Spivey**-

**Prentice Hall**

The standard Z notation for specifying and designing software has evolved over the best part of a decade. This an informal but rigorous reference manual is written with the everyday needs of readers and writers of Z specifications in mind.

(

**7314**views)

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

(

**7277**views)

**Structure and Interpretation of Computer Programs**

by

**Harold Abelson, Gerald Jay Sussman, Julie Sussman**-

**McGraw-Hill**

The book teaches how to program by employing the tools of abstraction and modularity. The central philosophy is that programming is the task of breaking large problems into small ones. You will learn how to program and how to think about programming.

(

**12953**views)