Computational Thinking – The Journey From Skepticism

By:  Matthew Oldridgeoldridge

Matthew is a “Resource Teacher of Effective Mathematics” with the Peel District School Board (Yes, that is the coolest job title ever!). He is interested in mathematics education, education technology, creative and critical thinking, and parenting. This ‘zine piece came about from exploring computational thinking and coding, from a skeptic’s perspective.

 

“Computational thinking confronts the riddle of machine intelligence: What can humans do better than computers? What can computers do better than humans? Most fundamentally it addresses the question: What is computable?” -Jeannette Wing

Over the last few years, I have taken a critical stance on the role of coding in schools.  Whenever I read an article with a strident declaration like “all kids must learn to code”, I immediately ask “why”?  It doesn’t help that a lot of articles on coding and schools will set up obviously false dichotomies like, “should we learn plumbing, or learn to code?” On the face of it, plumbing obviously affects more people than coding, namely, all of us, each and every day, if you want to think of it like that. Likewise, we interact with computing devices every day, but we don’t necessarily think about “‘where the pipes go”, and how they are made. Maybe we should, in both cases. The truth is, I’d like to know both coding and plumbing.

Further, I am a reader, plain and simple. Always have been, always will be. I get skeptical when I see things pushed as “the new literacy”. The “”new literacy” is “literacy”. Reading, writing, communicating. It just so happens that the types of reading and writing and communicating we do over time changes. The main thing I write, these days, is not articles or blog posts, like this one, it’s tweets. Things change. Is coding a new and universally needed “literacy”? I wrote this piece a few years back about reading, writing, coding, and “absolutes” in education systems.

We should 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.

That said, I am, and always will be, an advocate for classrooms as open spaces for kids (and teachers) to think- to grapple with interesting ideas, and to bring the powerful products of their thought into being.

Humans are equipped with the most powerful makerspaces there are-our minds. As thinking evolves, and as computing systems evolve, humans are capable of newer and more powerful forms of thinking. Others have written eloquently of “computational thinking”, a term coined by Jeannette Wing in 2006. Her now seminal article is here. I’ll just leave it that Google’s Computational Thinking Course for Educators changed my mind.

Connect computer science to more broad-based thinking skills, which can be used daily, in our world, with and without computers? I’m all in. Computational thinking is the thing that bridges the gap between computer and human endeavours-pattern recognition, generating our own “algorithms”, breaking things down to their component parts- it’s all there.

So, even though coding as a specific activity is “humans telling machines what to do”, the skills involved in coding are useful cross-curricular skills, and useful in life. I can best characterize coding as a non-routine problem-solving task. Using the tools you have, can you write a program to make the computer do what you want it to do? Can you bring what you picture into being, using blocks or a coding language? If it doesn’t work, what will you do then? In my limited experience, debugging a program is a powerful exercise in analytic thinking, trial and error, and just plain perseverance.

Lorena Barba calls computational thinking: “a source of power to do something and figure things out, in a dance between the computer and our thoughts.”

Computers are, and always will be, best at following lists of instructions (code) without thinking. They don’t need to think. Just follow instructions, starting when we tell them to start, and stopping when we tell them to stop. Humans are, and always will be, best at critical and creative thinking, making inferences and judgements, and problem-solving. We have intuition; machines have none. The coding “trend” is really a thinking trend, and who wouldn’t be for that?