Hacker News new | ask | show | jobs
by adamddev1 11 days ago
I was just remembering https://htdp.org fondly yesterday. Working through that book was one of the most wonderful and transformative experiences I've had in programming. I owe so much of my problem solving skills today to that book.
2 comments

It's an incredible curriculum. I have a lot of fond memories myself. I frequently wonder nowadays if it isn't the right approach to force students to stop and think a bit more about "Computer Science" and not just "Programming" in an introductory context.
How experienced were you at that time?
I was a few years into amateur self-teaching at that time. It helped me think through problems recursively, which was a lot of fun, but my biggest takeaway was learning to think of problems by representing the data with types, then stubbing out functions that dealt with the different types that I needed to solve the problem. Although it's done with an untyped language, it makes you think through the type signatures of all the functions you write. I discovered that whenever something didn't work, the problem was almost always that I misunderstood the data or the type. I also learned how to deal with problems with recursive algorithms through trees and nested data structures like s-expressions. That opened up a whole world of parsing and evaluating.
HtDP is an introductory textbook. It shouldn’t have new material for someone who has 2 years worth of experience.

That said, while I didn’t learn content from it, the exposition of their process was excellent. It really influenced my “personal software process” a lot. Also, it gave me a lot of tools for informal postmortems that I reach for when mentoring junior colleagues.

The book’s taxonomy of the different kinds of recursion helped me see what others found difficult about it.

Background: I liked SICP but HtDP made it easier to see the content as one unified subject instead of a bunch of tricky/interesting individual exercises.