I would advise anyone who is already at the point of considering reading SICP (so probably some familiarity with programming) to skip How to Design Programs. I tried working through it and found the pace excruciatingly slow to the point that I lost interest and stopped.
I've read the authors' presentations and thinking behind the program's design and I was impressed, but I think the end product they came up with just lacks anything special to recommend it. It's dry, slow, and not particularly fun.
I haven't done SICP so I don't know what a good prereq would be, but I remember The Little Schemer being entertaining and covering the same sort of ground as HTDP at a better pace.
It's true that HTDP is a little slow, but Felleisen is a master of CS pedagogy, and it shows in the book. The "design recipe" system that the book presents is actually extremely helpful in designing software once internalized. HTDP and SICP are in my opinion rather complimentary--I worked through HTDP in a couple weeks and am still working through SICP when possible. I consider the background that HTDP has given me valuable, not only as a Scheme programmer, but as a programmer in general.
I assume you haven't read HTDP and that you don't know me apart from a single online comment, so I don't appreciate you telling me I lack self discipline.
I didn't quit after one chapter. I explained my experience in hopes of saving someone else from wasting time.
I've read the authors' presentations and thinking behind the program's design and I was impressed, but I think the end product they came up with just lacks anything special to recommend it. It's dry, slow, and not particularly fun.
I haven't done SICP so I don't know what a good prereq would be, but I remember The Little Schemer being entertaining and covering the same sort of ground as HTDP at a better pace.