The word ‘algorithm’ comes from the name of a mathematician – Al-Khwārizmī – who lived about 1200 years ago in modern day Uzbekistan. He translated and published material originally written by the inhabitants of the Indus River valley, near the border of Pakistan and India. The translated text described steps that could be used to add, subtract, or multiply decimal numbers; the system developed by the early Indus valley inhabitants. When this system (the Hindu-Arabic numbers) was introduced to Europeans, the algorithms helped mathematicians calculate tasks that had been difficult to achieve, for example reference tables for trigonometry and logarithmic functions as well as calculate the value of irrational numbers like π or √2. These algorithms were the first fundamental tools used by mathematicians.
By the late 1800s and early 1900s when education became universal for all individuals (not just the elite), the easiest way to communicate knowledge was through rote methodology. By this stage, the algorithms had been streamlined, standardized, and easy to transmit so they formed a large part of the mass delivery of a mathematics curriculum. In the mid-1900s, conference debates and research studies analyzed the best/ most efficient algorithms. As a result, mathematics just prior to 21st century was predominately about algorithms that students had to learn, master and then follow!
Just before the end of the 20th century, Seymour Papert, a professor at MIT, published his famous book Mindstorms: Children, Computers, and Powerful Ideas, where the idea of computational thinking was first described. This idea was suggested as the first digital tools were beginning to be popularized. In the first 20 years of the current century there have been rapid changes involving the uses of technology within the classroom. This has reached the point where the need for the traditional algorithms is now questioned. Recent publications from computer societies as well as curriculum reviews by education authorities1 have stressed the need for students to study the steps to create the algorithms that drive digital tools rather than follow the old, now outdated, paper and pencil procedures. And, for the first time in 2021, the mathematics section of the triennial PISA assessment will include tasks involving computational thinking.
Nearly all of the current references to computational thinking describe 4 key features that should be included in future learning experiences. The first three support the development of the fourth which is the most important aspect. The four types of experiences involve:
- PATTERN RECOGNITION
- CONSTRUCTION OF AN ALGORITHM
Work with patterns is closely aligned with mathematics. While it seems obvious that this content should be included in mathematics, the exact reasons have not always been clear. Searching for and creating numerical and visual patterns are fun and interesting activities. Searching for patterns is usually included as one of the highly useful problem-solving strategies. Mathematics curricula that recognize the importance of algebra have usually placed more emphasis on patterns. In algebra the role of patterns is to work with and create rules which generalize relationships that are found in patterns. For example, the sequences of even or odd numbers are some of the first patterns that students explore. Students might show the first few odd numbers using blocks like those pictured below.
When they describe what they have shown, their observations will likely be based on what they see that is the same/different about the individual pieces. They could observe that there are pairs of blocks with one extra block. Or, each picture is an even number plus one. In this analysis they have moved to the next important feature of computational thinking.
Algorithms are described as a sequence of steps that need to be performed to complete a task. The first algorithms that students explore usually have steps that are described broadly, for example ‘what steps do you follow to brush your teeth?’ The fine details such as the amount of tooth paste on the brush or the number of movements for each section of the mouth are probably not included. When students create an algorithm involving a mathematical task, they are more likely to see that the fine details are necessary.
Here is another sequence of images that could be used to show odd numbers. Key questions should be asked that help describe the images and, as a result, analyze the components. These might include: What do you notice? How were the cubes stacked? How would you arrange the cubes in the next picture? These questions are more likely to assist in identifying the pieces that are needed in the algorithm that comes from the next step.
The link to the next step comes from questions that are usually never explored with patterns. Typically, students are encouraged to give the next picture or the next number in the sequence. But, in order to develop an algorithm, greater emphasis should be placed on questions such as: How would you describe the tenth picture? How many blocks are needed for the tenth picture? This will challenge the individual to describe the situation in general terms that work for every picture in the sequence. A table like this example will help promote the need to for a generalized rule.
Construction of an Algorithm:
A mathematical algorithm is a rule (generalization) that is given with the symbols (abstractions) of the discipline. The final questions in the previous section should provoke responses that are general in nature and use the language of mathematics that is familiar to the individuals. Often there will be multiple responses. For example, one individual might observe that ‘The number of cubes along the base is the same as the picture number. I then add one less than the number on the base.’ Another individual might say, ‘I double the number of cubes on the base. But then I need to subtract the corner cube that has been counted twice.’ A third individual might see, ‘I start with one corner cube. Then I double the picture number just before and add it to the one corner cube.’ The language can then be turned into the mathematical symbols connected to the verbalized terms which is focus of the final step.
Ideally a generalization involving mathematics should be transcribable into a sequence of steps that is then often expressed as an algorithm. For the example, the observations in the previous section might be abstracted into formulas such as:
‘The number of cubes along the base is the same
as the picture number. I then add one less than
the number on the base.’ Total at n = n + (n – 1)
‘I double the number of cubes on the base. But
then I need to subtract the corner cube that has
been counted twice.’ Total at n = 2n – 1
‘I start with one corner cube. Then I double the
picture number just before and add it to the one
corner cube.’ Total at n = 1 + 2(n – 1)
The algorithmic rules above, suggest that students will
need to be very confident with the conventions of
mathematics. For this reason, it is sometimes useful to
introduce the steps with a flow chart with each mathematical procedure identified in the order that it should be performed. As an example, this flow chart shows the steps for the third rule.
There can of course be many different algorithms that can be used that may not be revealed until students are familiar with new mathematical ideas. This sequence shows another rule involving the difference between two square numbers. An algorithm using this rule could be discussed with older students to generate odd numbers. This suggests that there is scope for exploring the same situation at multiple year levels in school.
Activities that promote computational thinking span a wide range of possibilities. The 4 features discussed in this paper, individually and collectively, offer scope for work involving computational thinking. The important points to remember are:
- include activities that involve the study of patterns – all types of patterns (geometric, linguistic, or numerical)
- encourage students to analyze and record the individual parts or steps they can identify in a situation or task,
- foster an environment where students verbalize (orally and then in writing) the steps they identify in a task, and
- establish an environment where students are engaged in the creative act of planning (through the use of flow charts), writing (without fear), and then reviewing mathematical algorithms.
By: Calvin J. Irons BA, MA, PhD