|
|
|
|
|
by emptysongglass
1604 days ago
|
|
It's been a few years since I tried to breach it but I'm your normative (arts education) audience for this and SICP's frontloading of higher-level math was a showstopper for me. I won't point you to examples but will say that How to Design Programs succeeded where SICP failed. Gregor Kiczales' How to Code, a MOOC based on HtDP is a masterwork of teaching that starts with the student drawing basic shapes and filling them in with color. I think people who were raised on the more technical fare often have a blindspot for how unapproachable programming can be to liberal arts people like me. The assumed knowledge can be greatly discouraging. We so often need a new vector that speaks to how we learned to conceive of the world. |
|
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.