Creating computational thinkersNovember 2017
TRACY HENDERSON discusses the importance of computational thinking in creating with digital technologies.
One of the major misconceptions and perceptions about students in our school system is that because our students are digital natives and that technology is getting easier to use, our students don’t need to learn about this. The reality is they are great consumers of technology, but don’t necessarily have the computational thinking skills to be great creators of technology.
The term ‘computational thinking’ has been around for many years and there are different ways of expressing it. The UK Computing at School (CAS) computational thinking model provides a practical model for classroom settings, although it is useful to tie this to actual lesson plans to see how it plays out in the classroom. For example, the CSUnplugged.org website has explanations of what computational thinking is, how it relates to each topic and lesson, as well as examples of what you could look for in student responses. This is designed to support teachers to increase their knowledge of computational thinking.
The process of finding a solution that can be turned into a computer program is described on CS Unplugged.org as follows:
- Describe a problem.
- Identify the important details needed to solve this problem.
- Break the problem down into small, logical steps.
- Use these steps to create a process (algorithm) that solves the problem.
- Evaluate this process.
What makes computational thinking different from other planning and organisation tools and systems is that the types of processes that can be designed are limited to instructions that can be followed by a computational device such as a smartphone, desktop computer or special purpose digital device like an alarm system. Although this restricts what can be done, it also has great benefits; for example, the same device can be used for multiple purposes simply by changing the software, and the software is very easy to distribute. It also tends to be very low cost, despite being able to deal with large amounts of data at very high speeds.
When computational thinking is bypassed or ignored during the planning process for writing computer programs, students tend to produce things like Spritefests (where in the programming language Scratch, many students create programs that use simple features that demonstrate that they have tinkered with the programming language, but there is no real purpose to the end product). A teacher’s role is to empower students to be able to produce programs that solve a given problem, rather than put together something that is restricted to a few tools that they have taught themselves.
Computational thinking is the underlying process of solving problems where the solution is implemented in a programming language for a digital device. A teacher’s role is to ask the relevant questions to support the student’s problem solving by questioning if a step can be broken down into smaller parts (decomposition), or asking what steps are needed to complete the tasks (algorithmic thinking). Teachers can observe when students discover patterns or trends in solving the problem and can have a conversation about the logic applied to the solution.
Teachers who are applying computational thinking into their classrooms are finding that the students that hadn’t yet found what they are successful at are leading the computational thinking discussions. When teaching using a computational thinking approach, teachers are also mentioning that these new strategies and skills are supporting students to have higher success in other curriculum areas. They are moving away from seeing programming languages like Scratch as being just for animation and are creating meaningful solutions to everyday problems by applying computational thinking to these.
Another important skill for students in this context is debugging their programs – it is unusual for a program to work correctly the first time, and students need to develop an ethos of testing their programs thoroughly, and celebrate finding and removing bugs. Teachers can support this by asking questions to help them find the bugs in their programs, such as “What is actually happening on your screen?”, “What did you expect to happen on your screen?”, and “What does your code say to do?”. Learning to find bugs supports students to build their perseverance and resilience, and also develops valuable problem-solving skills.
Often the reaction to introducing CT is to buy new gadgets, but all of the activities above can be done using nothing more than everyday classroom resources plus access to a programming language in a web browser.
The focus of computational thinking and the new digital technologies curriculum is on understanding how to be creators of technology, rather than consumers. It’s an opportunity for everyone to be informed citizens, where teachers and students understand the difference between coding (the act of typing in the code) and programming (using computational thinking to create a solution that can be coded), and the concerns surrounding the new issues that this new way of problem-solving can bring up, including artificial intelligence, data privacy and digital security.
This is a new subject for teachers and there is a growing network of like-minded educators coming together through NZACDITT (the teachers’ subject association for Digital Technologies, soon to be renamed DTTA) that supports and shares ideas and successes with teachers in secondary, kura kaupapa and primary school settings.
Computational thinking helps students to develop a new skillset that is increasingly relevant for our digital society and for careers in a future that is likely to involve more and more automation. The new curriculum should not be confused with just ‘coding’ and using gadgets; it supports the key competencies, including communication and collaboration, and it is about empowering students to understand our digital world.