I’ve been thinking a lot about the idea of how we teach computer science or perhaps just programming to younger students. Some of it brought on my the online debate at the New York Times recently. Some of it by the comments Mark Guzdial posted from Elliot Soloway on his blog. And some of it just from ongoing thoughts I have been having for a while. What do we want elementary school students to learn and why do we want them to learn it?
We don’t know that introducing computing earlier in the curriculum will lead to more students studying it in high school and beyond. We want to believe it but there evidence is fuzzy at best. Clearly we are not expecting elementary and middle school students to develop professional code. Do we? So what do we want to get out of teaching computing earlier?
Tools like Kodu, Scratch and Alice (and other block programming platforms) are very much like video games. In fact they are virtually indistinguishable from video games. Is this good or bad? How do we even define good or bad in this context? Aside from learning to code or learning computer science concepts (assuming those things are happening) is there any other benefit from this early introduction to coding?
Perhaps there is. A recent article in the Seattle Times (Code-writing clicks as kids get creative) talked about the creative aspect of all of this “video game coding.” I do believe that coding is very much a creative pursuit. That creative aspect is a large part of what got and kept me interested in it over the years. I do think that students benefit from more creative opportunities so these coding games are good for that. At least I think the are.
While I do want young students to learn the things that we at least (want to think) teaching computing does such as critical thinking and problem solving I’m not sure we have evidence that this works. But perhaps the creative aspect of computing is useful for some students. And games can be creative.