Teaching how to code is broken
I have opinions™, but mostly agree with this article. Most intro coding classes and course materials read more like a glossary than a lesson. This contributes (rather directly) to the failure to retain a diverse student base in intro CS program. We've gotten a lot better at recruiting CS students from underrepresented groups (women and BIPOC chiefly), but numbers drop off quickly[1].<p>Studies in math education have shown that the way material is presented/courses are run has a huge impact on reducing disparities[2]. This is especially important in CS especially when boys are encouraged from a young age to do "techy" and "geeky" things in ways that girls usually aren't. Students arrive in intro CS courses, are sat next to students who have been coding since they were 10, and are rightfully intimidated even though they could succeed in the course.<p>While I was at the University of Michigan, I helped a professor develop "Joy of Coding," a mini-course for high school students that focuses on sparking desire ("joy") rather than teaching CS first principles[3]. By the end of the first lesson, students are manipulating images with code – a real "WOW!" moment. It's built on Pathbird, a platform that I built (in conjunction with UMich faculty) to run more engaging and accessible courses in computer science and computational subjects. (Shameless plug: if you're interested in Pathbird, or even just to chat, drop me a line at travis@pathbird.com).<p>[1] <a href="https://cse-climate.engin.umich.edu/wp-content/uploads/sites/25/2020/07/ay2019-2020.pdf" rel="nofollow">https://cse-climate.engin.umich.edu/wp-content/uploads/sites...</a> (see page 8)
[2] <a href="https://www.colorado.edu/eer/sites/default/files/attached-files/twopagerjun18_0.pdf" rel="nofollow">https://www.colorado.edu/eer/sites/default/files/attached-fi...</a>
[3] <a href="https://continuum.engin.umich.edu/programs/jumpstart-coding/" rel="nofollow">https://continuum.engin.umich.edu/programs/jumpstart-coding/</a>