3 ms·
CS Education - Virtually everything is unsolved. How do we teach people how to code? What is the progression? Do we teach them how to "think" algorithmically fi
by azhenley 7y ago
CS Education - Virtually everything is unsolved. How do we teach people how to code? What is the progression? Do we teach them how to "think" algorithmically first or just dive into a specific language? How do we assess their learning? Which skills are transferable?
- graham_paul 7y agoI find it interesting that out of the massive field that is CS you focused solely on a single area.
- asdfman123 7y agoYes, isn't the question "What's an unsolved problem in your field?"
- asdfman123 7y agoIs CS education a problem to be solved or is it an art? I think techies get spoiled by how clean mathematics and technical solutions can be. But people are complex and perhaps the only solution is intuition developed over years of experience. I'm not saying some ways of teaching aren't preferable to others -- obviously, lectures and hands on teaching is better than just throwing high school students a Dennis Ritchie book and telling them to come back in a year. Just that there's no "one size fits all" answer. (Unless I misunderstand what you're asking.)
- azhenley 7y agoI would say it is as solvable as most areas of psychology. The goal isn't to unveil a "one size fits all" answer, but rather to understand what works better in what situations and why. The progression of knowledge is generally from a craft to an evidence-based science.
- aglionby 7y agoRelatedly, I'm curious about different ways that CS education can be framed. Speaking to teachers, one of the main reasons why many kids (and, crucially, parents) aren't interested in CS is the misconception that you can't be creative with programming. When kids find out that this is not the case, engagement rises. (There's also the point that CS seems to invariably be folded into programming, but I'm not sure this is the biggest problem.) I wonder what the impact on uptake would be if the focus was shifted towards CS as a venue for building things and being creative and away from lines of monowidth code and indecipherable errors. More to the point, I wonder how this might be done.