Bill MacKenty
Home Computing Teaching Bushcraft Games Writing About
Does everyone need to learn to code?
Very interesting NPR show entitled: Computers Are The Future, But Does Everyone Need To Code?
I answer yes. Learning to code is a new kind of literacy. I think the faulty premise that NPR assumes is we should be preparing everyone to be a professional programmer. Not understanding rudimentary HTML, SQL, conditionals, loops, and objects is a new part of a new kind of reading and writing. Not knowing these things diminishes our ability to express ourselves, to speak in a new language. Creating is inherently empowering. In many ways the analogy of coding as a new foreign language is apt. Some things I heard and my response:
"If you are tax preparer, you don't need to code to do your job"
I disagree. Facility with programming (or as ISTE nicely notes, computational thinking) richly serves tax preparation. We have cognitive tools to automate processes, check for common errors, and facilitate communication. Why couldn't a tax preparer use a simple content management system to accept commonly requested information from clients? It's hard to imagine an occupation where technology could not support, replace, or enhance the task.
"Everyone should be an auto mechanic"
This again points to the premise that everyone should be a professional programmer. I don't think they should. But I assert that everyone should know how to read and write "in computer". I would argue that in addition to safely driving, you should know how to change your oil, change a tire, understand how a car operates.
However, the auto-mechanic analogy is weak. Computers are the lens through which we learn, communicate, and have fun. A car moves from point A to point B. The analogy between auto-mechanic and programmer doesn't hold water because reading and writing is exponentially more important than driving. This goes to the heart of my point about this NPR story; computational literacy is something everyone should know about.
What is interesting is the increasing abstraction I see in programming. Like the NPR guest said, I grew up with that blinking command line. It was an exhilarating experience. Now, programming with tools like scratch neatly teach students about conditionals, loops, objects, and other programing primitives.
Every kid should know this stuff.