It may seem obvious but HtDP emphasizes designing programs. It's not really trying to teach theories of computer science or abstractions. It's about developing coding habits - in terms of SICP it's all about good wishful thinking.
SICP, and this is not a criticism, is more like a stamp collection of computer science topics. It provides a point of reference when I've read about operating systems, state machines, compilers, data structures, etc. etc.
Between the two, SICP is flat out a better book qua book. On the other hand, working through just a little of HtDP will probably have more impact on the way you write software than working through a little of SICP.
Lastly, while there may be some similarities to other introductory texts, I doubt that there is any computing pedagogy backed by as much research as Felleisen and the PLT group. While SICP and Scheme were intended to facilitate teaching, the Racket ecosystem [and PLT Scheme before it] are continuously developed with pedagogy as a primary driver.
Most pedagogy is driven by "I think this would be a better way to teach programming." The PLT group checks their theories statistically and their theories are tied to educational theories in general. And they've been going down that road for several decades.
SICP, and this is not a criticism, is more like a stamp collection of computer science topics. It provides a point of reference when I've read about operating systems, state machines, compilers, data structures, etc. etc.
Between the two, SICP is flat out a better book qua book. On the other hand, working through just a little of HtDP will probably have more impact on the way you write software than working through a little of SICP.
Lastly, while there may be some similarities to other introductory texts, I doubt that there is any computing pedagogy backed by as much research as Felleisen and the PLT group. While SICP and Scheme were intended to facilitate teaching, the Racket ecosystem [and PLT Scheme before it] are continuously developed with pedagogy as a primary driver.
Most pedagogy is driven by "I think this would be a better way to teach programming." The PLT group checks their theories statistically and their theories are tied to educational theories in general. And they've been going down that road for several decades.