| FazBrowse Wikipedia Viewer | Main Page | | |
| Viewing: https://en.wikipedia.org/wiki/How_to_Design_Programs |
| Author | Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi |
|---|---|
| Subject | Computer programming |
| Genre | Textbook |
| Publisher | MIT Press |
| Publication date | February 12, 2001 |
| Publication place | United States |
| Media type | |
| Pages | 720 |
| ISBN | 0-262-06218-6 |
| Library of Congress Classification</span>"}]]}'>LC Class | QA76.6 .H697 2001 |
| Website | htdp.org |
How to Design Programs (HtDP) is a textbook by Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi on the systematic design of computer programs. MIT Press published the first edition in 2001 and the second edition in 2018. In addition to the for-purchase paperback, it is also freely available online.
The book is the first one to focus on the systematic design of code as opposed to the syntax of a currently popular programming language. Its key concept is that of a "design recipe", a six-step process for creating programs from a problem statement in a step-by-step fashion. While the book was originally used along with the education project TeachScheme! (renamed ProgramByDesign), it has been adopted at colleges and universities for teaching program design principles, including UBC's popular on-line course.
To support its approach to teaching programming, How to Design Program, HtDP introduces five beginner-level programming languages and provides a dedicated integrated development environment IDE.
"How to Design Programs". htdp.org. Retrieved July 27, 2026.