Thursday, 29 March 2018

Solving problems with algorithms: Resources for younger children and their parents

If you're the parent of a 5 to 7-year-old you may have heard them talking about algorithms. In the UK, the key stage 1 curriculum states that children should "understand what algorithms are; how they are implemented as programs on digital devices; and that programs execute by following precise and unambiguous instructions."

So what are algorithms? And how can we help young children to think algorithmically?

Algorithm isn't an easy word for kids to remember or spell, but it's not the word that's important, it's the idea.

An algorithm is a precise set of instructions for doing something. An algorithm makes it very clear how a problem can be solved or a task can be carried out.

Instructions for board games are an example of an algorithm that a person can follow. If you're playing a game and the rules aren't clear then you don't have a precise algorithm for playing the game. In the instructions for the board game we don't need all the details about how to pick up a card or roll a dice, we just need enough information to play the game correctly (and know when someone has cheated!)

Algorithms are concerned with the steps that need to be taken to produce the correct result.

Examples of algorithms in everyday life include:
  • The way the lights change at a crossing or set of traffic lights
  • A method for adding numbers together
  • Keeping your hand on one wall to escape from a maze
  • The moves for a dance routine
  • The instructions for baking cookies
  • The instructions for making an origami bird or a paper plane
  • Growing tomatoes from seedlings
  • The ordering of search results

The important thing about algorithms is that they need to be clear enough so there's no confusion about what the result should be. 

Algorithms are important in computing because we have to be absolutely clear what we want a computer to do - computers aren't able to make sensible assumptions or do the right thing because it's 'obvious'.

Also, we don't want to have to solve the same problem over and over again. An algorithm allows us to reuse the solution.
We need to clearly understand the steps needed to perform a task or solve a problem before we program a computer to do it. 

If any of our thinking about how to solve the problem is muddled then we won't be able to tell the computer what to do.

The following ideas and resources are useful for developing children's algorithmic thinking skills:
  1. Playing a musical instrument is brilliant for thinking about sequencing and repetition, important skills for algorithmic thinking.
  2. Learning magic tricks. Magic tricks are another good example of algorithms, you find lots of different versions of the same trick but the sequence of actions is the same.

    My children have this gorgeous Melissa and Doug wooden magic set. It's recommended for age 8+ but many of the tricks can be mastered by younger kids with a bit of help.

    Just as magicians reuse tricks, computer scientists reuse algorithms. 
  3. Planning a day out at a farm or activity centre is a great chance to think algorithmically. What order will you do things in? Do some things like talks happen at a particular time? When will you have lunch?
  4. Playing board games and card games. Board games and card games are fantastic for developing the clear thinking skills. You need to be really clear on the rules and you have to be able to plan ahead.

    There are some board games specifically designed to develop coding skills, but general board games and card games are great too.

    Chess is particularly good for learning how to plan ahead. The Chess Junior game specifically teaches those skills so children learn 'algorithms' that can be applied in different situations in a chess game. 
  5. Baking and cooking. It's often really important to do things in the right order when cooking or baking. 
  6. Craft kits and construction kits. They are brilliant for getting kids used to following instructions and understanding the consequences of making a mistake or not doing things in the right order!
  7. Playing computer games. What? Playing computer games is good. Absolutely! Computer games follow logical rules - each character is following an algorithm, your score is increased or decreased according to an algorithm, learning to understand the patterns in computer games helps you to play them better, kids naturally do this when they're having fun.

    We particularly recommend Toca Dance which a fantastic app where kids can choreograph dance moves for cool characters that can also be dressed up. Dance routines are algorithms and these computer characters follow them precisely.

    Minecraft is fantastic for developing algorithmic thinking skills when you feel your child is ready for it (the Pocket Edition and Windows 10 editions have an age rating of 7+. Avoid playing on servers for younger children.) All the 'mobs' are following an algorithm and there are lots of algorithms for crafting objects. 
  8. Developing digital literacy skills. Again, computers behave in a predictable way. Understanding this helps reduce frustration when using a computer - they can be annoying but there's always a reason why they did something. Encourage kids to safely explore their devices and find out what they can do, understanding how computers and tablets behave so you can predict what they will do is really useful. 
  9. Sometimes we design an algorithm first and then write code and sometimes the algorithm emerges as we try things out, but the algorithm is always there. Having a go at writing code is another great way to develop algorithmic thinking skills. 

  10. And finally there's the book we developed in collaboration with Miles Kelly, Get Set Go Computing: Algorithms and Coding.

    The book is packed with wipe-clean activities that will help children develop algorithmic thinking skills and ideas for how those skills can be applied to everyday activities in real life.

More from Tech Age Kids:


Post a Comment