“Key Stage 1
Pupils should be taught to:
understand what algorithms are, how they are implemented as programs on digital devices, and that programs execute by following a sequence of instructions”
Even the word ‘algorithm’ can send many primary school teachers rushing for the smelling salts (Nic Daniels had to lie down in a dark room for half an hour when he saw this statement describing what a 7 year old had to be able to do).
However, let’s think about this. Every child, from toddler to ten, lives in a world of algorithms. The younger the child, the more their life is one big algorithm.
Keep doing what you are doing! “IF you eat your vegetables, THEN you can have your pudding”
“IF you get your pyjamas on AND clean your teeth, THEN I’ll read you a story”
“IF you are going to keep talking then you will NOT be able to go for lunch early.”
“IF it does NOT rain THEN we will go to the park”
and so on.
Trust me, by the time a child reaches 7yrs old, they understand what an algorithm is even if they don’t know the word!
An algorithm is a formula or set of steps for solving a particular problem. To be an algorithm, a set of rules must be unambiguous and have a clear stopping point.
Algorithms can be expressed in many ways including pictures, natural language, flowcharts or programming languages. This is really important to remember.
With younger children, exploring algorithms in pictures and natural language is fine. Then when they are old enough, you could experiment with flowcharts and finally use programming languages.
So some ideas..
- Make some cards representing different events in a sequence children understand. We used getting up, getting dressed, having breakfast, cleaning teeth, walking to school. For very young children, put the cards in the correct sequence and ask them to tell you the story. Then put one card in the wrong order. Can they spot the ‘bug’ and correct it. Shuffle the cards – can they put them in the right order?
- Make some more cards of sets of things that ‘belong’ together. The weather is a good starting point. So ‘wet weather’ cards might have rain, wellington boots, waterproof coat, umbrella, puddles and so on. Talk about the cards and use sentences such as “If it is raining, then we need to take an umbrella” and put the cards in order as you talk.
- Then encourage the children to find cards and sequence them left-to-right to represent “if this…then this…” sentences as you say them. Believe it or not, this is the first stage in understanding ‘dependent conditions’, ‘causal relationships’ and ‘conditionality’. All fundamental steps in programming!
- If things are going well at this stage, add their first bit of code! An arrow means “if this … then this” So here we have our 3 and 4 year old’s first programmes:
At first, we gave them the first condition (sun or rain) and we put the first arrow in, they put the second arrow and any picture they wanted from separate piles of ‘rain’ or ‘sun’ cards.
After a few goes we were able to mix the ‘rain’ and ‘sun’ piles together and they found the appropriate cards. Then after they were consistently getting the syntax right, we let them construct any line of code they wanted to. (Yes, these picture ‘sentences’ are lines of code!). The ones shown above are the ones they constructed without any help.
The children are ‘pre-readers’ but got terribly excited that they could write a story, especially when they showed another adult who had not been present during the activity and found that person could ‘read’ the story.
We’ll post examples of their second programming activity soon!
This post is also available in: Romanian