How do we encourage computational thinking?

Surely learning to think like a coder is more important than writing code - it teaches a flexible and very valuable approach to problem solving. And it’s the types of abilities future employers will need – not just the ability to write lines of JavaScript. Computational thinking is more important than learning syntax and the ability to churn out code. Computational thinking teaches kids to look at ill-defined problems and to create a model about what’s actually going on inside. Even if you’re making washing machines or cutting edge pharmaceuticals, it’s the ability to problem solve that’s incredibly valuable. Are we too focused on coding?

Posted by Brian Andrew Runciman on 29th Nov 2016
Login to join the conversation

Comments (5)

Neil Kimber

14 September 2017

I have two children (boys: 12 and 15). I see many opportunities to introduce general coding concepts as a part of their broad education, in a way that would engage them and help teach other concepts by providing context around applicability of subjects. For example, I am watching my son learn graphing concepts such as Translation, Rotation and Scaling. This is done by applying these functions on graph-paper. My son learns this and wonders why he is doing this.

He sees a triangle being rotated on graph-paper. I see a spaceship moving in a video game.

Imagine using this an opportunity to teach the graphing concepts but in a way that captures a child's imagination and also introduces programming. Have them use something Scratch to move a spaceship around the screen using graphing concepts.

My other son is learning Economics, including how inflation impacts the economy. The presentation is in book format. Imagine having the children build a financial model in Excel that includes values such as Inflation that can be adjusted. The end result would be an interactive model that allows a student to experiment with different values and see the impact upon the model.

My point is that there is scope in almost all subjects within education where programming concepts can be introduced, providing a better and more meaningful educational experience for students, whilst also growing their programming skills.

Jane Waite

12 August 2017

The computing curriculum in England requires schools to enable children from the age of 5 to be able to 'use computational thinking and creativity to change the world'. This is an ambitious objective that requires our teachers and the suppliers of the resources that they use to understand what computational thinking is and how it relates to computing as well as general problem-solving. There is much academic debate on the merits of computational thinking and whether it is sufficiently well defined/understood or specific enough to be define computing as a subject. As a teacher, I see how we use the aspects of some interpretations of computational thinking in our current day to day teaching. However, I am not sure whether the link of computational thinking to programming and other computer science concepts in primary schools has yet been well aligned by some curriculum resources.
The educational technology market is booming in this area. New coding software, new online teaching products, new physical computing resources, teams creating lesson plans, volunteers working in schools. At present, the way we teach (the pedagogy) for teaching programming is often devoid of computational thinking. This sounds impossible! But if you write code by copying code or create code by randomly remixing existing code for no specific goal and you cannot read the code in the first place, then perhaps the computational thinking is lacking? I feel resources are simply not good enough to support teachers and more research is needed to work out how we should embed computational thinking into the teaching of programming. If you work for a company who creates curriculum resources can you help raise the quality of the pedagogy for teaching programming by highlighting the need for design, high-quality example solutions, activities to teach reading and understanding of code and a blended approach to supporting pupils to become more independent programmers?

Dave Shortstriders Donaghy

04 April 2017

I wonder how much of an impact we could could make on politics by teaching rational thinking: statistics and economics have been two things I've dived into more and more recently, and the languages of those two have given me a far better way of framing interesting political questions in my own mind.

Once you frame those questions - for example, "how did the popular vote for the winning party in this election look?" - you can use statistical language to frame questions, but then computational reasoning to answer them. As I've said elsewhere before, the opposite of "computational thinking" is "woolly thinking": that distinction alone should be enough to make us want to teach it.

Brian Andrew Runciman

14 December 2016

Without getting too metaphysical about the whole thing I wonder if there are inherent dangers in recreating our selves (or rehsaping the minds of the impressionable young) in the mental model of machines that we made in the first place. i.e. Are there implications for the development of society in a world where everything can be reduced to logic-flowcharts-machine code-binary... Or maybe that is the ultimate goal of a rational society?

Olivia Tan

13 December 2016

Brian, I absolutely agree here. Coding isn't for everyone but logical processing and computational thinking is a valuable skill for all. I think from the outside perspective it may seem like the focus is heavily around coding because this is how it was portrayed in the media when the curriculum changed, but I don't think this is the case in many classrooms. Primary classes are using tools like BeeBots and Scratch and secondary classes are using tools such as flow-charting and pseudo-code to help students get into the computational thinking mindset. We used to bring ingredients in and get the students to do algorithms for making sandwiches and cups of tea...trails of breadcrumbs rather than lines of code!