Hacker News new | ask | show | jobs
by singingboyo 1604 days ago
Arguably, the problem is one of audience. SICP is a dense book, but a liberal arts background is NOT the target audience in any way. Computer Science degrees evolved out of math and electrical engineering - those kinds of students are SICP's target audience.

HtDP does target liberal arts, and is a pretty good intro to programming, but either it or the course around it is not a great introduction to the kind of things covered in a CS degree.

Having taken and TA'd in-person course that corresponds with the MOOC about 8 years back (plus other courses)... the MOOC may be good as a standalone course, but the in-person version didn't know its audience. (Also, my understanding is that UBC has since stopped using the HtDP course as the intro for it's CS degree track.)

Business/arts students who took the course and no more CS courses did okay, but many CS track students were poorly served. It provided no real basis for understanding the data structures, logic, proofs, and low level stuff that showed up in later courses. My theory is that the course was so focused on the approach and specifics of the solutions that it never explained the why - so the programming knowledge didn't transfer well to anything other than the Racket-based HtDP environment.

It's also a miserable course to take for anyone with previous programming experience. The typing is arbitrary and not enforced by anyone but those marking the assignments. The dev environment was (maybe is?) quirky as all get-out. The libraries themselves are restrictive, or perhaps the libraries available for more interesting things aren't taught in the course - I never checked, I just wanted to get it over with.

That's not to say it was an awful course - TAing it, I definitely met students that benefited from it. However, HtDP and the course are not a SICP replacement - the targets are just too different.