.jpg)
How to Design Programs
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, which is freely available online and in print. The book introduces the concept of a design recipe, a six-step process for creating programs from a problem statement. While the book was originally used along with the education project TeachScheme! (renamed ProgramByDesign), it has been adopted at many colleges and universities for teaching program design principles.
- Author
- Matthew Flatt
- Author
- Matthew Flatt
- Author
- Matthias Felleisen
- Author
- Matthias Felleisen
- Author
- Robert Bruce Findler
- Author
- Robert Bruce Findler
- Author
- Shriram Krishnamurthi
- Author
- Shriram Krishnamurthi
- Comment
- enHow 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, which is freely available online and in print. The book introduces the concept of a design recipe, a six-step process for creating programs from a problem statement. While the book was originally used along with the education project TeachScheme! (renamed ProgramByDesign), it has been adopted at many colleges and universities for teaching program design principles.
- Congress
- enQA76.6 .H697 2001
- Country
- enUnited States
- Depiction
- Genre
- Textbook
- Has abstract
- enHow 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, which is freely available online and in print. The book introduces the concept of a design recipe, a six-step process for creating programs from a problem statement. While the book was originally used along with the education project TeachScheme! (renamed ProgramByDesign), it has been adopted at many colleges and universities for teaching program design principles. According to HtDP, the design process starts with a careful analysis of a problem statement with the goal of extracting a rigorous description of the kinds of data that the desired program consumes and produces. The structure of these data descriptions determines the organization of the program. Then, the book carefully introduces data forms of progressively growing complexity. It starts with data of atomic forms and then progresses to compound forms, including data that can be arbitrarily large. For each kind of data definition, the book explains how to organize the program in principle, thus enabling a programmer who encounters a new form of data to still construct a program systematically. Like Structure and Interpretation of Computer Programs (SICP), HtDP relies on a variant of the programming language Scheme. It includes its own programming integrated development environment (IDE), named DrRacket, which provides a series of programming languages. The first language supports only functions, atomic data, and simple structures. Each language adds expressive power to the prior one. Except for the largest teaching language, all languages for HtDP are functional programming languages.
- Homepage
- htdp.org
- Hypernym
- Textbook
- Isbn
- 0-262-06218-6
- Isbn
- 0
- Is primary topic of
- How to Design Programs
- Label
- enHow to Design Programs
- Library of Congress Classification
- QA76.6 .H697 2001
- Link from a Wikipage to an external page
- www.cs.kent.ac.uk/people/staff/dat/miranda/wadler87.pdf
- Link from a Wikipage to another Wikipage
- Category:2001 non-fiction books
- Category:Computer programming
- Category:Computer science books
- Category:MIT Press books
- Category:Scheme (programming language)
- Computer program
- Computer programming
- Computing
- Data
- Domain knowledge
- DrRacket
- Functional programming
- Integrated development environment
- Matthew Flatt
- Matthias Felleisen
- MIT Press
- Object-oriented
- ProgramByDesign
- Recursion
- Robert Bruce Findler
- Scheme (programming language)
- Self-referential
- Shriram Krishnamurthi
- Structure and Interpretation of Computer Programs
- Textbook
- LiteraryGenre
- Textbook
- MediaType
- enprint
- Name
- enHow to Design Programs
- Name
- enHow to Design Programs
- NonFictionSubject
- Computer programming
- NumberOfPages
- 720
- Pages
- 720
- PubDate
- 12 February 2001
- Publication date
- 12 February 2001
- Publisher
- MIT Press
- Publisher
- MIT Press
- Publisher
- MIT Press
- SameAs
- 4nUCE
- How to Design Programs
- m.06vpbg
- Q5918555
- 程序设计方法
- Subject
- Category:2001 non-fiction books
- Category:Computer programming
- Category:Computer science books
- Category:MIT Press books
- Category:Scheme (programming language)
- Subject
- Computer programming
- Thumbnail
- WasDerivedFrom
- How to Design Programs?oldid=1067570790&ns=0
- WikiPageLength
- 6450
- Wikipage page ID
- 2203602
- Wikipage revision ID
- 1067570790
- WikiPageUsesTemplate
- Template:Infobox book
- Template:Lisp programming language
- Template:Official website
- Template:Reflist
- Template:Short description
- Template:URL
- Template:Use mdy dates