Wednesday, June 18, 2014

Reading, Writing, Coding, and "Absolutes" in Our Education System

I have taken a critical stance on the role of coding in schools.  Whenever I read an article with an underdeveloped thesis like "all kids must learn to code", I immediately ask "why"?  Often the articles are little more than a buzzy few paragraphs touting a great app. The "why" so often seems to be missing.

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:

And further:

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).

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.


  1. Great post, Matthew! I have started writing my blog post on the same topic but I am finding there is too much to write about so it is taking a while for me to focus the writing. I do agree with your assessment against absolutes. I think there are some great reasons for all students to learn and write computer programs in school, but none of those reasons are programming for programming's sake. If a teacher is making a decision to include a coding task for all the students, then there must be a solid 'why'. For example, coding can make abstract thoughts concrete and, therefore, easier to share and reflect upon. There are some very easy programming languages out there that even primary students can access. Great explorations of geometric concepts can be made in this way. Programming skill should progress, in this example, at the same rate as geometric understanding, and vice versa. But not everyone is going to become programmer, just like not everyone is going to become a lifeguard. Both require a high level of skill.. but just because I can swim does not mean I can save someone's life in the water...nor would I choose to put that responsibility on formally. Every child can learn some coding skills, and learn from learning some coding, but that doesn't mean they are going to be writing the next version of GarageBand. Hyperbole-infused coding videos and articles all seem to say that coding is part of being digitally literate in a technological society... I don't really agree with that... Thanks for the inspiration...I am fighting to find time to write and finish my post... it's getting there...

  2. Outstanding blog, in my opinion site owners should acquire a great deal out of this blog its very user welcoming. When an essay is a concern - get our facilitate!

  3. Excellent Blog! I have been impressed by your thoughts and the way you rate my writers