A few weeks ago, Steve Box put out a question on Twitter:
Ok, I’m going to put it out there. I am not convinced why we need to teach all kids to code. Happy to be informed and convinced. #TellMeWhy
— Steve Box (@wholeboxndice) December 20, 2015
A lengthy debate ensued over the following days.
To be honest, this was a question that I had been thinking about myself for a while. Although I am a big believer of the power and potential of technology to make deep learning more doable, as Bill Ferriter would put it, that everyone should learn the same set of skills seems to me to lack purpose and clarity. I have taught different classes involving code over the years, from Gamemaker to Lego Mindstorms. I have also had students explore different languages as a part of their own investigations. What stands out though in reflection is that everyone took something different from the process for everyone had a different purpose. The question remains then what does it mean for everyone to learn to code.
I wrote my initial post to outline my thoughts in the hope for some sort of debate. Sadly, although it continued in part on Twitter, the dialogue lacked depth. That was until Richard Olsen’s post. Moving beyond the usual explanations around workplace skills and the ability to build apps, Olsen suggests that coding is a core skill in the modern learning environment. Influenced by the seminal work of Seymour Papert, he asserts that it is coding and the digital workspace that allows students to learn real maths skills, to test hypothesis, to play with different situations. Going further, Olsen suggests that such a learning environment allows the following:
- Feedback-Rich Learning
- Reuse-Rich Learning
- Opinionated Learning
- Continuously Evolving Learning
What stood out to me was how this environment would look in many schools today?
For example, sites like GitHub and WordPress allow people to ‘fork’ code to make their own creations. These are only the tip of the iceberg when it comes to open source software. However, for a range of reasons, schools usually embrace locked down tools and software, such as iPads and learning management systems. Just as continuous evolution of curriculum is not always desirable in education, nor is the idea of students being able to hack programs for their own use. We only need to look at the case of iPads in California. Such decisions though come at a cost.
We are faced with the challenge of either being able to program or be programmed (to remix from Doug Belshaw). That is where we either control the environment in which we exist or allow others to control it for us. What though does this look like in schools? In a Prep class? When should students own their own domain? Is it enough to go through such spaces as Edublogs? Or should we be encouraging students to use such sites as Known or WordPress.org, which allow them to make their own changes to whatever they like.
So in the end, the real issue is not coding, rather it is control and the dilemmas around embracing modern learning. Like teaching inquiry without relinquishing curiosity to students, Do we actually do more harm than good in teaching code in an environment that ignores the opinionated and continuously evolving nature of coding. We then need to refocus our attention on pedagogy and the problem at hand before we start taking medicine for the wrong problem.
If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.