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.