Bringing Computational Thinking into the Primary Classroom

Primary teachers in New South Wales (NSW) are this year and next integrating a new Science & Technology Curriculum. It brings with it a number of challenges and opportunities and while it has much in common with the existing curriculum, it will require some significant changes.

The new curriculum is a response to the launch of the Australian Curriculum’s Digital Technologies syllabus. While the use of technology in Primary Schools was once restricted to the use of consumer products by students as they research, engage with media in various forms, publish their learning and use basic spreadsheet functions, the times have changed. Students now require much from their technology learning. Being a consumer of technology, being able to use basic productivity software and even knowing how to create multimedia items is no longer sufficient. Today’s student needs to understand how technology can be leveraged to solve problems and create unique products and services. 

The result is a syllabus that embraces Digital Technologies and computational thinking. In NSW the K-6 setting embraces Digital Technologies as a content strand alongside studies of Earth & Space, Living, Material and Physical Worlds. It presents key ideas from computer science, information systems and software engineering along with the skills and ideas of project management. According to the syllabus:

The Digital Technologies strand provides students with opportunities to investigate existing technologies and create digital solutions. They explore the automation of repetitive tasks through developing their own software and by using existing software packages. Through knowledge and understanding of digital technologies, students are encouraged to become critical consumers of information and creative producers of digital solutions. (NESA. 2017)

Along with Digital Technology, students are asked to become computational thinkers. Students are required to engage in problem solving tasks while leveraging a computation thinking model where a task is broken down into parts, relevant data is analysed, patterns are found and step by step solutions are outlined. The syllabus defines this as:

Computational thinking is a process where a problem is analysed and solved so that a human, machine or computer can effectively implement the solution. It involves using strategies to organise data logically, break down problems into parts, interpret patterns and design and implement algorithms to solve problems. (NESA. 2017)

For teachers, this all brings some interesting challenges. The average teacher has little experience with this style of thinking. Indeed, many are still getting their heads around the sort of computer use required for the Information and Communications Technology (ICT) capability. it is worth exploring then what is meant by Computations Thinking and how it might be introduced. 
Perhaps the place to start is with an understanding that computational thinking does not require a computer, or computer code. As the definition from the syllabus states it is a “process where the problem is analysed and solved so that human, machine, or computer can effectively implement the solution”. It is fair to say that the average Kindergarten students spend much of their school day engaged in a form of computational thinking as they learn the many steps required to survive the day, a long string of “If. . . Then . . .” statements. If the bell rings, stop playing and line up for class. If the teacher sings "one, two, three, eyes on me” reply “one, two, eyes on you”. The list goes on. Indeed, when looked at as the method for clarifying the steps to be taken to complete a process in simple terms that even a machine can understand it becomes much easier to see how it might fit into our existing methods for problem solving.

We have been doing this sort of thinking for a long time and long before machines or computers got involved. By adding numerical data to the simple workflows that our kindergarten student use we add a degree of complexity but the task remains very manageable. The doorman at the average cinema does this when he/she counts people through the door and closes it when the theatre is full. It might look like this in CT language: If cinema is empty - open door. If 200 people enter cinema, close door.
Computational thinking takes this sort of step by step workflow and weaponises it as a tool for analysing and solving complex problems. 
There are commonly four essential thinking moves associated with computational thinking. Understanding the role that each plays in solving a problem begins to demystify the process. It is not some magical secret process understood only by geeks with a slide rule and an understanding of binary. The four elements are:

  • Decomposition: Breaking down data, processes, or problems into smaller, manageable parts
  • Pattern Recognition: Observing patterns, trends, and regularities in data
  • Abstraction: Identifying the general principles that generate these patterns
  • Algorithm Design: Developing the step by step instructions for solving this and similar problems

It might be useful to consider a set of questions to be used when engaging in computational thinking, something like this perhaps:

  • What do we know about what is going on here? - What data do we have/need?
  • What are the parts of the problems? What conditions emerge that we must respond to?
  • What patterns do we notice? What stands out to us?
  • What big idea might explain the patterns? Moving from parts to wholes
  • What steps might we take as we respond to each situation we encounter?

Computational thinking does not need to be made overly complicated. Once the basics are grasped then it becomes sensible to ask how our step by step process for solving a problem might be automated and that path might lead us to the inclusion of a machine or computer. As students become comfortable with designing clearly articulated and creatively imagined step by step solutions, they can begin to develop increasingly sophisticated and complex workflows using their developing skills for computational thinking. With an understanding of what computational thinking is, students can move to block coding systems as a substitute for their non-digital methods and in time move to developing solutions which might eventually be expressed in code.

By beginning with an understanding of what computational thinking is, what it looks like and how it is used by people to solve problems we ensure students are equipped with the foundational knowledge they need in what is increasingly a digital world. 

By Nigel Coutts