It doesn't help that these articles often come through aggregators like ASCD Smart Brief, Flipboard, or Zite with preposterous headlines like, "Is Coding as Important as Reading and Writing?" Not only do the articles never make such grand claims, but also such absolutism tends to detract from the argument in the article. (has anyone else noticed how headlines are little more than Buzzfeed style "clickbait" these days, even on reputable newspaper websites?)
I'm of the mindset that we never teach without the "why" in mind. If we can't identify the critical skills, habits of mind, or plain old reasons for doing something, we probably shouldn't be doing it in the classroom. This post is an attempt to unravel the "why" of coding in the classroom.
My own experiences consist of a lone programming course in the Pascal language. I am not sure that I finished my program for my project (a Minesweeper clone, that the teacher gave the perhaps politically incorrect name "Drunkard's Walk".) I do remember unraveling the mysteries of binary and other non base 10 number systems. That's a strong math connection right there. I would consider learning to write code for iOS, if I thought of a good app idea. Maybe that is a growth goal right there.
I've found lots of inspiring examples of code in the classroom, creative work in Scratch, for example, in primary. My working theory, having seen but not worked in Scratch, is that it's an interesting and "new" form of visual storytelling. I also think we should be listening to the words of people like athlete Chris Bosh, who talks about his formative experiences with code. I also usually tend to listen when the President of the United States stands up and asks all Americans to consider learning computer science.
This Mother Jones article is probably the best and most detailed read i've found on the topic. The "why", if you accept the argument, and I do, is that we will all be the better for using the particular computational logic we can learn through becoming more computer literate. Beginning from a "feat of imagination", and bringing creative, flexible and logical thinking leading to a task. I think this is the true argument behind bringing coding to schools.
My colleague, @cashjim knows a lot more about this topic than I do, and here's what he has to say:
@MatthewOldridge Great article! There is a #coding bandwagon but you can encourage computational/procedural thinking without hard coding.
— Jim Cash (@cashjim) June 18, 2014
@MatthewOldridge ...not coding for coding's sake. However, some early coding experiences can lead to a lifelong interest. That is a fact.I am left thinking, like I often am, about the role of "non-negotiables" or "absolutes", particularly in the elementary grades. There is a long checklist of curriculum expectations that every student must work on, at the same time as everyone else in their grade. The breakdown of traditional subjects still holds-math is still math, geography still geography, history still past. Everything stays in its little container (except when true inquiry learning takes root, and new branches grow).
— Jim Cash (@cashjim) June 18, 2014
So should coding be added to a list of non-negotiables for the 21st century learner? What would it replace? Or should we be giving children as young as Kindergarten choices about things to learn, including coding? I'm of the mind that more choice is always better, and yes, I advocate for giving young children choices in what they learn. So we wouldn't always do "coding for coding's sake", as Jim said: rather, give kids a problem to solve, and let problem-solving with code be one of their options. Keep it about questions, and the constant process of inquiry (across all subjects), and let computational thinking be one of our solutions.