How to Design Programs, Second Edition

“How to Design Programs, Second Edition” by Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi. This second edition of “How to Design Programs” continues to present an introduction to systematic program design and problem solving.


The goal of our book is to introduce readers of all ages and backgrounds to the craft of designing programs systematically. We assume few prerequisites: arithmetic, a tiny bit of middle school algebra, and the willingness to think through issues. We promise that the travails will pay off not just for future programmers but for anyone who has to follow a process or create one for others.

Table of Contents

  • Prologue: How to Program
  • Fixed-Size Data
  • Intermezzo: BSL
  • Arbitrarily Large Data
  • Intermezzo: Quote, Unquote
  • Abstraction
  • Intermezzo: Scope
  • Intertwined Data
  • Intermezzo: Evaluators
  • Generative Recursion
  • Intermezzo: Vectors
  • Accumulators

Book Details

Author(s): Matthias Felleisen, Robert Bruce Findler, Matthew Flatt and Shriram Krishnamurthi.
Format(s): HTML
Link: Read online.

Leave a Reply