In today's Q&A, we get a K-12 overview of algorithmic thinking from educators Greg Breese (Head of Mathematics at Glen Waverley Secondary College, Victoria) and David Shigrov (Year 7 and 8 STEM teacher at Seymour College, Adelaide, and President of the Mathematical Association of South Australia).
What is algorithmic thinking? Is it the same as computational thinking? Is it the same as coding?
Greg Breese: An algorithm is a precisely defined process for solving a problem, usually in a way that can be easily automated. Algorithmic thinking, or computational thinking, refers to thinking about these processes for solving problems. In schools, the study of algorithms includes learning about the ways that information and processes can be represented systematically, the common building blocks of algorithms, such as loops and conditional statements, and patterns in the design of algorithms. Many of the problem solving strategies that students learn in mathematics classes, such as ‘Guess, Check and Improve' or ‘Try a simpler problem' are similar to algorithm design strategies.
Algorithmic thinking and ‘coding' are often conflated, but the two disciplines are quite different. The focus of algorithmic thinking is the algorithm or problem-solving strategy, whereas, the focus of coding is the translation of the algorithm into a language that a computer can execute, a process called implementation. A particular algorithm may have many different implementations, even within the same computer language, and coding studies these implementations, the testing of implementations, and the design of implementations that are best-suited for particular applications.
David Shigrov: At a primary level, some might refer to it as algorithmic thinking, others may refer to it as computational thinking. They are not necessarily the same. The explanation for each is what really is important. The explanation may be dependent on a teacher's confidence and understanding of the topic. It might also be referred to as instructional thinking or procedural writing in other disciplines. Effectively, the skills to develop are being able to follow and produce a set of relevant and meaningful instructions as precisely and succinctly as possible.
The crucial element in this is the ‘thinking' that follows an algorithmic path. It is evident in mathematics when discussing algorithms and how a numerical problem might be solved through a number of steps. However, it also has its place in procedural writing or giving directions. For example, building items with LEGO via a set of instructions, making a cake, giving directions from one place to another. In many ways, we are faced with opportunities to exercise procedural or ‘algorithmic thinking' regularly in our lives.
Students often ask ‘why are we learning this?' – why is it important to teach algorithmic thinking?
GB: Algorithmic thinking skills support the development of general reasoning, problem-solving and communication skills by giving students the skills to fluently interpret and design structured procedures and rule systems. Such procedures and rule systems can be found in a wide range of curriculum areas, with complex rule systems frequently found in the syntax of languages, in scientific classification, and in legal reasoning.
DS: The earlier any skill can be appropriately introduced, the better! This allows for more time to fine-tune elements in thinking, approach or perhaps motor/mental/cognitive skills required. With algorithmic thinking, it means younger students have more time to develop effective habits in their processing of tasks and problem solving. It might also be worth considering the paralleled step-by-step nature of algorithmic thinking that could lend itself to reduced anxiety in learning. Breaking tasks down into smaller and more manageable ‘chunks' follows a system and pattern, an algorithmic approach, one might say.
In your experience, what are some of the common misconceptions?
GB: One common misconception about algorithmic thinking is that it is the study of computers. Historically, a ‘computer' was a person who performed mathematical calculations. The word was used this way until the early 20th century. The study of algorithms, and computer science, has deep roots within the study of mathematics. The term algorithm is derived from the name of an early 9th Century Persian scholar Al-Khwarizmi. Amongst other things, he is credited with making significant contributions to the development of algebra and to the introduction of the decimal positional numbering system from India to Europe.
DS: It is not uncommon for many teachers, students and parents to have the misconception that algorithmic thinking requires an understanding of coding, programming or the use of a computer. Algorithmic thinking does not require these – it is essentially being able to arrive at a solution to a problem via a series of clearly defined steps. It's not necessary to have any technology.
It's a part of the Australian Curriculum (Digital Technologies and Mathematics). Are there opportunities for teachers to introduce it in other subject areas?
GB: There are opportunities to teach algorithmic thinking skills in all subject areas. A foundational activity that supports students to develop algorithmic thinking skills is sequencing activities. These sorts of activities can be done from a pre-school age. In the primary years, decision trees are a powerful algorithmic thinking tool. They can be used to describe classification problems, such as those found in mathematics, science or literature. They can also be used to describe decision processes, such as first aid or grammar rules.
DS: The Digi Tech space is a logical and appropriate place for algorithmic thinking to be nestled. However, to embed it as a matter of practice and as an acceptable (perhaps expected) means of thinking and processing of problems, challenges and tasks, it could be extended to Science, English and beyond. Report writing through the appropriate steps in an investigation of scientific experiment, or procedural writing through the same or other elements of English are just a few of the means in which this (algorithmic) thinking can be accessed, utilised and put into practice.
Are there certain classroom activities or resources that you'd recommend?
DS: Learning comes from making mistakes. Teachers are in an incredibly influential position to be able to role-model how we learn from mistakes. The point of this is the need for teachers to demonstrate the algorithmic thinking process to students and when a hurdle or challenge is encountered, further demonstration of how this is incorporated into the process. Primary teachers are sometimes faced with the unsettling feeling of teaching material they are not overly familiar with – all of a sudden they are out of their comfort zone. Algorithmic thinking has the potential of doing this. In such situations, teachers might upskill themselves and attend professional development, read or view material to help understanding, speak to professionals or experienced colleagues.
It should not be ignored, in many cases teachers are already teaching algorithmic thinking – and doing it well! Perhaps it is not with their full awareness. When we discuss and demonstrate the process of adding 2 or 3 digit numbers via an algorithm, carrying into the ‘tens' or ‘hundreds' column there is typically a process of steps required to solve the problem. Algorithmic thinking! When we take a bucket of ‘pop' sticks or a handful of rubber-bands with a bunch of pop-sticks to demonstrate place value and how numbers work in our decimal system within each place value, there are steps involved. Algorithmic thinking! The point – it is already happening. What we need is to consolidate, fine tune and make it a point to focus on this skill as a matter of regular practice.
Stay tuned: We'll be returning to this topic in Term 2, exploring algorithmic thinking concepts and example algorithms.
David Shigrov says algorithmic thinking has the potential to take primary teachers out of their comfort zone. ‘In such situations, teachers might upskill themselves and attend professional development, read or view material to help understanding, speak to professionals or experienced colleagues.’
Think back to a time when you were required to teach a topic or subject material that you didn’t feel overly familiar or confident with. How did you deal with the situation? What strategies were most helpful? What would you do differently next time?