3 ms·
I think the author needs to keep in mind the audience of HTDP: "everyone should learn how to design programs."[1] It is a book for a first semester not only f
by b-man 17y ago
I think the author needs to keep in mind the audience of HTDP:
"everyone should learn how to design programs."[1]
It is a book for a first semester not only for a CS curriculum, but for several other courses and styles.
"So why should anyone learn to program?
The answer consists of two parts. First, it is indeed true that traditional forms of programming are useful for just a few people. But, programming as we the authors understand it is useful for everyone: the administrative secretary who uses spreadsheets as well as the high-tech programmer. In other words, we have a broader notion of programming in mind than the traditional one. We explain our notion in a moment. Second, we teach our idea of programming with a technology that is based on the principle of minimal intrusion. Hence our notion of programming teaches problem-analysis and problem-solving skills without imposing the overhead of traditional programming notations and tools."[1]
If you are already a programmer, there is a commentary from Matthias Falleisen about how you should read the book:
"If you are an experienced programmer, you should read HtDP like this:
-- read the sections whose title starts with "Designing ...."
-- also read the "iterative refinement" sections
-- pick five exercises in the preceding and/or follow-up sections
and solve them according to the recipe
-- unless you're stuck move forward
-- try to understand the "symmetry" between data definitions and
templates
I expect that somewhere around late part II, you will slow down. You
may pick up real reading as of part III, though some may make it thru
III and only "stutter" in IV.
Also:
-- use check-expect to express your examples/tests
-- avoid draw.ss exercises, replace them with world.ss but that's a
non-trivial switch " [2]
[1] http://htdp.org/2003-09-26/Book/curriculum-Z-H-2.html http://htdp.org/2003-09-26/Book/curriculum-Z-H-2.html
[2]http://groups.google.com/group/plt-scheme/browse_thread/thread/1336829dca78089b/167c9643e187d265 http://groups.google.com/group/plt-scheme/browse_thread/thre...