The Value of Computational Thinking
Computational thinking is often equated with coding or programming; this pairing makes sense. But computational thinking is so much broader than this. It is used across all subjects in our school curriculum and everyday lives and can be described simply as a method humans use to solve problems.
In her 2017 occasional paper titled A Conversation about Computational Thinking, Jeanette Wing defines computational thinking as the “thought processes involved in formulating a problem and expressing its solutions(s) in a way that a computer — human or machine — can effectively carry it out.” The Australian Curriculum describes computational thinking as a “problem-solving method that is applied to create solutions.” By using either of these definitions we can focus on using computational thinking to solve problems across all curriculum areas in schools, and in situations that take place in everyday life.
So, let’s break down computational thinking and focus on its value for our Code Club members and how we can help our kids develop their computational thinking skills through the teaching of coding.
There are four key techniques to computational thinking:
- decomposition — taking a complex problem or system and breaking it down into smaller parts that are more manageable
- pattern recognition — looking for similarities among and within problems and data
- abstraction — focusing on the important information only and ignoring irrelevant details
- algorithms — developing a step-by-step solution to the problem
Whether we are working through coding projects or working towards larger goals such as an entry into Coolest Projects Global Challenge, our coders are using these techniques to apply a design thinking approach to the work they are creating.
The Australian Curriculum breaks down computational thinking as a skill that involves integrating strategies such as organising data logically, breaking down problems into parts, interpreting patterns and models, and designing and implementing algorithms. These strategies allow students to work towards a digital solution to a problem.
Version 9 of the Australian Curriculum specifically describes one of the aims of the Digital Technologies curriculum is for “students to use computational thinking (abstraction; data collection, representation, and interpretation; specification; algorithms; and implementation) to create digital solutions.” It is necessary to recognise that the teaching of coding, on its own, is a difficult task and one that does not allow students to make connections to their world. To truly embed the learning, coding is a way to create a solution to a problem that is important in their lives.
For example, a problem presented to youth could be the concern of wildfires burning in remote forests. Students could use coding projects such as Stop the Fires! to learn about how satellites orbit the Earth using data to find such fires. They could then look at creating a digital solution that may share this data, communicate with rangers or provide awareness to the community.
A more localized problem could be that of rubbish. Kids could code projects such as Save the Shark, Clean Your Planet, or Space Clean Up to develop some coding skills and see how this topic is addressed through the creation of a game or animation. They could then develop their own project in response. There might be a focus on recycling or the environment and students use a design thinking process to create their digital solution by making an animation or game to inform and educate their audience.
Computational thinking is not a skill that can be taught in one lesson. It is developed over time and as educators, we need to provide frequent and consistent activities that allow our kids to engage in deep learning. Our Code Club leaders consistently provide this in sessions, allowing our coders to experience and develop all areas of computational thinking.
And through this, our youth get so much more. They develop lifelong skills of resilience, persistence, communication, and collaboration, as well as enhance their natural tendencies to be curious and creative people.
Happy coding!
Kaye, Code Club Australia.