Live data from Hacker News

On HtDP

felleisen.org

11–20 of 36 posts

Re: On HtDP

#11
The first edition of HtDP is available as a video series titled “Systematic Program Design”: https://www.youtube.com/channel/UC7dEjIUwSxSNcW4PqNRQW8w/pla...

I took it when it was on edX and found it much more accessible than the first edition of the book (which I started and never finished when I found the video course).

It's presented by Gregor Kiczales, who gives a compelling introduction here that explains the rationale behind HtDP, and is what lead me to take the course: https://youtu.be/dJbpHukiQ7I (it's fine to start from ~2 minutes onwards).

I still find myself using the process he outlines (defining the purpose of functions up front, describing the data they work on, and giving examples before writing code). I'd describe it as a sort of, “extreme inline readme-driven development[1]”.

If anyone did this course and has since read the second edition of HtDP, I'd love to know what more it adds.

[1]: http://tom.preston-werner.com/2010/08/23/readme-driven-devel...

Re: On HtDP

#12
Just wanted to note that HtDP is the best pedegogy for teaching the foundations of CS that I've ever found.

However, the book really needs professional editing.

Instead, take a look at the Intro CS classes from University of British Columbia [0][1].

They are taught by the excellent Gregor Kiczales, and directly follow the course structure from HtDP, in an extremely learner-friendly way. Absolutely the best online course I've ever done, Gregor really put an enormous amount of effort into doing this right.

[0] https://www.edx.org/course/how-code-simple-data-ubcx-htc1x [1] https://www.edx.org/course/how-code-complex-data-ubcx-htc2x

Re: On HtDP

#13

The first edition of HtDP is available as a video series titled “Systematic Program Design”: https://www.youtube.com/channel/UC7dEjIUwSxSNcW4PqNRQW8w/pla... I took it when it was on edX and found it much more accessible than the first edition of the book (which I started and never finished when I found the video course). It's presented by Gregor Kiczales, who gives a compelling introduction here that explains the rat…

Hey looks like you wrote almost the same comment as I did! I totally agree, Gregor is absolutely terrific!

Re: On HtDP

#14
post #13

The first edition of HtDP is available as a video series titled “Systematic Program Design”: https://www.youtube.com/channel/UC7dEjIUwSxSNcW4PqNRQW8w/pla... I took it when it was on edX and found it much more accessible than the first edition of the book (which I started and never finished when I found the video course). It's presented by Gregor Kiczales, who gives a compelling introduction here that explains the rat…

Hey looks like you wrote almost the same comment as I did! I totally agree, Gregor is absolutely terrific!

Thank you for adding that — I didn't know the edX courses were still online under a different name! The links from wikibob's comment for those interested:

https://www.edx.org/course/how-code-simple-data-ubcx-htc1x

https://www.edx.org/course/how-code-complex-data-ubcx-htc2x

I also love Gregor's teaching style and philosophy. It clicked with me and felt obvious and natural in a way the book never did.

Re: On HtDP

#15
post #12

Just wanted to note that HtDP is the best pedegogy for teaching the foundations of CS that I've ever found. However, the book really needs professional editing. Instead, take a look at the Intro CS classes from University of British Columbia [0][1]. They are taught by the excellent Gregor Kiczales, and directly follow the course structure from HtDP, in an extremely learner-friendly way. Absolutely the best online cou…

Can you expand on what you found lacking in the book that the online courses provided?

Re: On HtDP

#16

If people are interested in understanding the design rationale of HtDP I'm not sure this is the best source. I think you already need a pretty good understanding of HtDP is get the most out of this, though the "Turing is Useless" section is good stuff. I think https://cs.brown.edu/~sk/Publications/Papers/Published/fffk-... is probably a better overview, though it's quite old now. I'm not aware of any followups. The p…

That paper is how I learned of/about HtDP existing.

Re: On HtDP

#17

The first edition of HtDP is available as a video series titled “Systematic Program Design”: https://www.youtube.com/channel/UC7dEjIUwSxSNcW4PqNRQW8w/pla... I took it when it was on edX and found it much more accessible than the first edition of the book (which I started and never finished when I found the video course). It's presented by Gregor Kiczales, who gives a compelling introduction here that explains the rat…

As for new or changed things in HtDP2e, look at this: https://htdp.org/2018-01-06/Book/part_preface.html#%28part._....

The UBC course on edX, now called HtC (How to Code), closely follows this second edition

Re: On HtDP

#18
post #12

Just wanted to note that HtDP is the best pedegogy for teaching the foundations of CS that I've ever found. However, the book really needs professional editing. Instead, take a look at the Intro CS classes from University of British Columbia [0][1]. They are taught by the excellent Gregor Kiczales, and directly follow the course structure from HtDP, in an extremely learner-friendly way. Absolutely the best online cou…

I wouldn't say it needs an editor. It is dense! Very dense. I started the book 20 times. I would go from page one till I got stuck and then go back and see what I missed. Took forever to get through it but it was the best thing I have gone through learning anything in computer science.

Re: On HtDP

#19
post #3

Wow, just read that bit about "HtDP and Colleagues". What a pretentious bit of writing with no actual arguments. The strawman they propose is just one argument, and is not the one I would reach for when arguing against Racket in CS1. I am open to being persuaded about these silly language wars, but the argument there is completely uncompelling. I hope they have the real back-and-forth laid out somewhere else.

HtDP is not about the language. It's about the design recipe, which is a structured way to go about programming that is not language specific, and is sometimes used in other languages like Java. And even Felleisen's HtDP course isn't taught in Racket : it's taught in a sequence of "student languages". EDIT: Some of this is mentioned on these pages, but not explained very well if you hadn't heard of HtDP. See some of…

Well technically Racket is a Programming Language for making Programming Languages. So you are making a subset language from Racket.

Re: On HtDP

#20
"Our experience shows that a prior understanding of functional style produces significantly stronger programmers than an immediate immersion into the OOP monoculture."
Post reply on HN