Live data from Hacker News

How to Design Programs (2014)

htdp.org

1–10 of 141 posts

Re: How to Design Programs (2014)

#3
This is a book that embodies its thesis, that learning to design programs is like learning how to write or do mathematics. In the same way that academic treatments of writing or math abstract out the things you might actually do with writing or math, HTDP abstracts out the things you might actually do with a computer program. Instead you work through exercises that illustrate the fundamental concepts. I don't know that a practicing professional will learn all that much from HTDP, but it's an interesting perspective all the same.

Re: How to Design Programs (2014)

#4

I never understood the appeal of this book.

I never understood the appeal of this, or SICP, or Scheme in general. I learned much more about computer science reading algorithms and data structures textbooks, especially Knuth.

There's a reason MIT uses Python for its intro courses now, after all.

Re: How to Design Programs (2014)

#5
post #3

This is a book that embodies its thesis, that learning to design programs is like learning how to write or do mathematics. In the same way that academic treatments of writing or math abstract out the things you might actually do with writing or math, HTDP abstracts out the things you might actually do with a computer program. Instead you work through exercises that illustrate the fundamental concepts. I don't know th…

Are you saying the examples in the book are insufficiently real-world (ie, they should be more like creating websites and less like Tetris [https://htdp.org/2020-8-1/Book/part_two.html#%28part._sec~3a...] or XML [https://htdp.org/2020-8-1/Book/part_four.html#%28part._ch~3a...])?

Re: How to Design Programs (2014)

#6

I never understood the appeal of this book.

I never understood the appeal of this, or SICP, or Scheme in general. I learned much more about computer science reading algorithms and data structures textbooks, especially Knuth. There's a reason MIT uses Python for its intro courses now, after all.

MIX/MMIX are close to how CPUs work physically. scheme is close to how computation works theoretically.

The pedagogical approach that appeals to individuals tends to align with how they are most comfortable thinking about it.

Re: How to Design Programs (2014)

#7
My undergrad intro class used this. At the time I found it patronizing and silly and artificially limiting, having coded before (the design recipe, the different "levels" of scheme).

But I saw some of the wisdom in the approach when I later tutored the class. People would try to rush into coding problems without doing real analysis of what the cases would be, and had a foggy notion of different parts of program having a "contract". HTDP and the design recipe makes that muscle memory for beginners which is pretty nifty.

Re: How to Design Programs (2014)

#9

I never understood the appeal of this book.

I never understood the appeal of this, or SICP, or Scheme in general. I learned much more about computer science reading algorithms and data structures textbooks, especially Knuth. There's a reason MIT uses Python for its intro courses now, after all.

[deleted]

Re: How to Design Programs (2014)

#10

I never understood the appeal of this book.

I never understood the appeal of this, or SICP, or Scheme in general. I learned much more about computer science reading algorithms and data structures textbooks, especially Knuth. There's a reason MIT uses Python for its intro courses now, after all.

SICP introduced a lot of fundamental concepts in CS to me as a junior, self-taught developer. Building everything up using immutable functions and then introducing mutable state was revelatory and still influences my design decisions 15+ years on. Scheme was somewhat beside the point.
Post reply on HN