Live data from Hacker News

On HtDP

felleisen.org

21–30 of 36 posts

Re: On HtDP

#21
What would one recommend after HtDP (for someone who is a complete beginner)?

As I've just about come to the end of the wonderful course on edx using this book, I have been considering what I should use for the next step.

SICP seems to be a common recommendation however I've read a few comments on the difficulties with math and other things seeing as the book was originally written for MIT students.

Seeing as how highly regarded SICP is should I try it even though I consider myself to be weak at math?

Re: On HtDP

#22
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?

If I understood the parent comment correctly, it's not that the book was lacking anything, it's just that the online courses were more accessible.

Re: On HtDP

#23

What would one recommend after HtDP (for someone who is a complete beginner)? As I've just about come to the end of the wonderful course on edx using this book, I have been considering what I should use for the next step. SICP seems to be a common recommendation however I've read a few comments on the difficulties with math and other things seeing as the book was originally written for MIT students. Seeing as how hig…

Have you done both courses (https://www.edx.org/course/how-code-complex-data-ubcx-htc2x is the second)? Your comment suggests you're only gone through one.

Beyond the courses, it depends on your goals and interest. I would stick with functional programming (FP) to avoid confusion right now, rather than moving to an imperative language. I would first go through PLAI (see http://racket-lang.org/books.html for a link and other Racket books) because I think understanding some programming language theory is super-useful. If you understand PLAI you're well ahead of most programmers IMO, and there is no need to read SICP. Learning a typed language such as Haskell, Scala, or O'Caml might be a useful next step. My own book, Creative Scala, is very much in the HtDP tradition (http://www.creativescala.org/) though it might be a bit basic at this point. Beyond that, whatever takes your fancy.

A quick note on SICP: I don't believe in great books, more the right book at the right time. When I read SICP it was at exactly the right time for me, but I can see with retrospect the presentation is a bit old-fashioned in many ways. If you can work through PLAI you'll have learned most of the big lessons from SICP.

Re: On HtDP

#24
post #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

Thank you — that's helpful. Looks like it would be worth taking the UBC course again…

Re: On HtDP

#25
post #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.

Are you looking at the first edition or the second? The first is very dense early on. The second was rewritten to avoid that. Take a look at the second edition instead: I'm confident you'll find it qualitatively very different. https://htdp.org/2018-01-06/Book/

[Disclaimer: co-author, so I'm biased.]

Re: On HtDP

#26
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.

It's amusing that you get so riled up about a page that is not only not about "language wars", it's in fact exactly about taking a multi-lingual perspective _instead_ of getting bogged down in a language war.

Re: On HtDP

#27
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.

If you wanted to make your comment useful to other readers, describing the argument you would reach for would be a good step. I read the same section and thought it was a reasonable response to an objection I have seen come up (slightly different context---it wasn't HtDP but still a change to the introductory programming course.)

Well put.

Re: On HtDP

#28
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.

By the way, that page is based on discussions correspondents of the HtDP authors have had in dozens of departments. Without that experience, I'm not sure quite how you can even judge what is written there beyond your claim about the writing style (which you are of course welcome to judge independently of any data).

Re: On HtDP

#29
post #19

Earlier quoted context omitted.

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.

We know that, thanks. (Co-author of both book and language here.) It doesn't obviate the point that @justinpombrio was trying to make, which is the relevant response to the parent post.

Re: On HtDP

#30
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.

> Wow, just read that bit about "HtDP and Colleagues". What a pretentious bit of writing with no actual arguments. Taking your points in reverse order: Yes, it doesn't make an argument. It doesn't hold itself out as an argument, but as a narrative relating of personal experience and recommendation of how to address similar experiences. Not every piece of human communication is or needs to be an argument. Is it preten…

This is a lovely deconstruction.
Post reply on HN