Computational thinking is based on the essential concepts of computer science and can be distilled down to four key elements: decomposition; pattern recognition; abstraction; and algorithms.
Decomposition is the process of breaking down a complex problem into smaller, more manageable parts. Pattern recognition involves observing the similarities or patterns among and within small decomposed problems. Abstraction is the process of focusing on the ideas and key information, ignoring irrelevant details. Algorithms is a set of rules to be followed in calculations or other problem-solving operations, especially by a computer.
Essentially, computational thinking helps you to lay out instructions for the computer to execute.
Why is it important for students in schools?
When students are taught to break down a problem (decompose), identify and recognize patterns, abstract information and details, and arrive at solutions, they are learning to solve problems in a systematic fashion. This will help them enrich their learning of mathematics, science and other disciplines and ultimately acquire real world problem solving techniques. Twenty-first century learning is about students engaging with the real world, using data and tools they need to solve real-life problems. Students have the opportunity to be creative as they actively participate in designing and executing projects; they can integrate their ideas and use their knowledge along with the skills in coding to build prototypes. As they build their competencies, in their ability to solve problems and to create something by virtue of synthesising their ideas along with coding or other tools, they become more confident. Ultimately technology is more meaningfully applied and used.
Computational Thinking in Singapore Schools
In order to cultivate and support the national effort towards being a Smart Nation, many initiatives have been implemented in Singapore to introduce and develop computational thinking and teach coding skills right from pre-school. There are trilingual preschools in Singapore that have introduced the teaching of coding skills, helping kids to think creatively. From a very young age, students are exposed to computing concepts through kinesthetic activities where they interact and play with designed toys and robots. The PlayMaker programme for pre-school and kindergarten children is an example. Through this programme, teachers are trained to use technology-enabled toys like Bee-Bot and KIBO to develop computational thinking – problem-solving and algorithmic thinking. At the primary and secondary school level, Code for Fun (CFF) is offered to students to expose them to coding and computational thinking. The programme includes learning concepts through a programming language like Scratch and combining it with robotic kits such as Lego WeDo and MoWay. Together, it becomes an exciting coding experience for students.
Secondary schools also offer students opportunities to learn coding and develop computational thinking skills through Digital Maker and Applied Learning Programmes. Students are introduced to microbit boards and they learn how computing can be applied to solve problems in different authentic contexts. Secondary school students are also allowed to learn syntax-programming under the CFF programme.
Dr Uma Natarajan is a Principal Researcher at The HEAD Foundation. Her research interests are teacher quality, teacher policy, scientific inquiry and integrating technology in classrooms.