Content deleted Content added
Removed "as well as foreign schools" from te introduction. What does foreign mean in this context anyway? |
Put dates of publication in for the book and the paper; turned the paper reference into a citation |
||
Line 1:
[[Image:Htdp.jpg|164px|thumb|right|Front cover]]
'''''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]]
According to HtDP, the design process starts with a careful analysis of the 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.
Line 15:
Like ''[[Structure and Interpretation of Computer Programs]]'' (SICP), HtDP relies on a variant of the [[Scheme (programming language)|Scheme programming language]]. Indeed, it comes with its own programming environment, dubbed [[DrScheme]], 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 previous one. With the exception of the largest teaching language, all languages for HtDP are [[functional programming languages]].
In the 2004 paper [[The Structure and Interpretation of the Computer Science Curriculum]]* <ref>[http://www.ccs.neu.edu/scheme/pubs/jfp2004-fffk.pdf The Structure and Interpretation of the Computer Science Curriculum], a paper in which the authors compare and contrast HtDP with SICP</ref>,
the authors distinguish the pedagogical focus of HtDP from that of SICP, and show how HtDP was designed as a textbook to address certain issues that some students and teachers had with SICP.
==References==
<references/>
==External links==
|