Hacker News new | past | comments | ask | show | jobs | submit login

I would also like to recommend these fantastic edX courses:

1) https://www.edx.org/course/systematic-program-design-part-1-...

2) https://www.edx.org/course/systematic-program-design-part-2-...

3) https://www.edx.org/course/systematic-program-design-part-3-...

Part 1 started 2nd of June so you can still start it and catch up (if you are familiar with programming concepts already then the first 2-3 weeks are easy).

Note that there is archived (older) courses on Coursera here:


I emailed Professor Kiczales about having the course on both edX and Coursera and he confirmed that new course iterations will be on edX.

I cannot recommend the book and the course enough for newbie programmers and even those 'new learners' who are stuck between newbie and hacker. I would say that if you know less than four languages that is you.

Doing this course will be like taking the red pill. One last thing, the course may start off slow but if you stick at it the difficulty climbs and you will be well rewarded.

I was wondering what happened to part 2 of "Introduction to Systematic Program Design" on Coursera. I took the inaugural instantiation, and it was offered again, but then disappeared. Kickzales's ability to cut across the complexities of recursion and get to the point is just one aspect of his teaching style.

From a literary point of view, I find the style of HtDP a bit harder to engage than Feilison's other works and SICP. I wish it read less like an over the transom argument. A more overtly opinionated and passionate case for TDD and the rest of the HtDP methodology would be great for the third edition. One of the things that makes SICP great is that it is entirely unapologetic, and the reason it works is that espousing sound engineering principles needs no apology.

Ahh, I took the original one on Coursera, and had no idea about these edx courses (which I must now find the time to do.)

The course made a huge impression on me. In particular, the jaw-dropping moment of realising, "I just wrote a set of mutually-recursive functions, and they worked first time, and it was easy"

At work at the moment I'm mostly maintaining and extending a system that I've been working on for the last few years, and when I look at my old code, I can see instantly whether it was written before or after taking that course.

I can't overemphasize how good this course is! It is second only to the Abelson and Sussman video lectures.)

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact