Can You Teach Coding Without A Computer?

12 May, 2020

Can You Teach Coding Without A Computer?

How can you learn programming concepts without a computer?

  • Algorithms: Children can create and follow algorithms to solve various tasks such as making a sandwich, completing a maze around their house, and building a LEGO set. These encourage logical and evaluative thinking, experimentation and debugging
  • Conditionals and Boolean: An understanding of these programming concepts can make children aware of the thinking processes behind their decisions, and can be learnt through card games or even by devising a chore rota to use at home 
  • Loops: A fun activity to introduce loops is creating a dance routine for your child’s favourite song. They can consider how the different parts of the song affect their dance routine, and how they can write instructions for others to join in 
  • Binary: Children can get a basic introduction to binary by using the binary alphabet to make bracelets or even send coded messages to each other. All without having to use a computer or to go online!

Can You Teach Coding Without A Computer?

Programming was conceived before computers had even been invented, as a method of solving problems with calculations and sequences of rules. In the 1840s, Ada Lovelace devised what is considered to be the world’s very first computer program. It was an algorithm for generating numbers on the Analytical Engine, a computing machine devised by mathematician Charles Babbage. Despite the fact that the Analytical Engine existed only on paper until the 1980s, Lovelace predicted that such machines could at some point be used for scientific purposes, to compose music, and to produce graphics. It is clear that the ideas behind computer programming exist separately from the machines themselves, something that is easy to forget when technology is so ubiquitous in today’s world.
Coding is not just about computers, but about computational and sequential thinking, logical reasoning, creativity, and problem solving skills. This does not just apply to the work of advanced mathematicians and logicians, but to the simplest daily tasks which are familiar even to children. Although there is a treasure trove of online resources and computer platforms for those learning to code, the basics of programming can actually be taught via unplugged kinaesthetic activities such as games, puzzles, and arts and crafts. In some countries, such as Finland, schoolchildren are already learning to code without computers and are taught to think of programming as a tool to be explored and utilised in many different situations. In fact, CodeAdvantage runs a wonderful program called AweSTEM that does just that.

Although children nowadays are extremely tech-savvy, the ability to use a device does not confer the ability to understand how it works, and this is where unplugged activities make all the difference. Not only will these activities cut down on screen time, but they provide an introduction to computer programming, help children understand that programming principles are not isolated and abstract concepts, and allow them to visualise and get to grips with computational thinking in interactive and relatable scenarios. What’s more, these activities only require the most basic and low-cost equipment. So, what are some different activities which you can do at home to introduce your children to coding without a computer?

Algorithms

Sandwich algorithm

Even if they aren’t familiar with the word itself, children already understand what an algorithm is. Following a sequence of steps to complete a task forms the basis of the simplest activities which we are aware of from a very young age, such as brushing teeth, getting dressed, and even walking. There are plenty of activities which can be employed at home to familiarise children with the concept of algorithms and, within this, practice logic, evaluation, experimentation, and debugging.

  • Making a sandwich: Children create an algorithm flowchart instructing how to make their favourite sandwich. They can either write the flowchart themselves from scratch, or can select instructions from a jumbled pile and put them in the correct order. Children can consider the complexity of their instructions and the different input values, e.g. bread would be a constant, and the filling and number of sandwiches would be a variable. How would the outcome look if they were to add different variables or change the order of the steps in their algorithm?
  • House maze: Children combine paper tiles (e.g. walk 5 steps forward, turn 90 degrees to the right) to create a step by step list of rules guiding a friend or family member around the house from points A to B. Once the algorithm has been written, one person reads it out whilst the other person follows the rules – ‘debugging’ can be carried out along the way if there is an unexpected outcome. Once you’re sure of your algorithm, the tiles can be rearranged to make more complex routes, or the person following the instruction can even be blindfolded!
  • Other activities can include building a LEGO set or making paper aeroplanes, following the sequence of instructions, and then experimenting to see what can be changed.

Conditional statements and Boolean expressions

Card games

Conditional statements and Boolean expressions are employed in the games above, but in a fairly unnoticeable way. As children follow a sequence, they will make a set of intuitive decisions, such as automatically opening a door when walking from one room to another. However, children must be aware that computers don’t have the intuition a person does, and every small instruction or eventuality must be considered in order for a program to run smoothly. There are activities which address these concepts more directly.

  • Card games: ‘Snap’ relies on conditionals and Boolean expressions. Once you’ve played a couple of rounds, consider the different decisions which are made whilst playing the game, and how these could be expressed. For example, if both of the cards match (Boolean value ‘true’), then you can ‘snap’ and take the pile; if the cards are different (Boolean value ‘false’), then you carry on playing. The matching pairs memory card game can also be used to demonstrate these two programming functions: if two matching cards are turned over then the player collects these cards; if not, they are turned back over.
  • Chore rota: Children can use programming concepts to devise a chore rota. They can start by negotiating who will do each task and when it should be done, and then work out how their ideas can be expressed with conditional statements and Boolean expressions. For example, if age>5 OR age<10, then I tidy my room; if age>10 OR age<15, then I help to wash the dishes. If day = Friday, then I get a day off; if room = tidy, then I get my pocket money. Children can also devise a ‘truth table’ of all the possible inputs and outputs.

Loops

Dance algorithm

Again, loops are innately employed in the activities above: if you want to make 10 sandwiches instead of 1, then you repeat your algorithm 10 times; if the cards don’t match when playing card games, then you keep turning them over until they do. But children can learn ways of expressing this repetition though activities which specifically introduce the concept of a loop.

  • Dance routines: Children make up a dance routine for their favourite song, with different sequences of moves for each section of the song. They can consider how they know when to do each part of the dance, and how they could write down instructions to teach someone else – must they repeatedly write out each sequence of moves for the entire song, or can they simplify their instructions (e.g. when you hear the verse, do dance routine 1, and when you hear the chorus, do dance routine 2)? Children can experiment by playing the song’s sections in a different order or slowing the song down, to see how the dance routine changes.

Binary

Binary heart

Binary is extremely important in computer programming. Data is stored and transmitted as a series of zeros and ones which form the basis of machine language. Although children won’t have come across binary in daily life, it doesn’t mean that they can’t learn what it is and how it works, for example, by finding out how to convert letters into binary digits (known as ‘bits’) using the binary alphabet.

  • Binary bracelets: Referencing the binary alphabet (capital letter or lower case), children can thread beads of two colours onto a bracelet to represent their initials or names in binary.
  • Secret messages: Using the binary alphabet, children can write and decipher short messages to one another.

Scratch Unplugged

The hugely popular visual programming language Scratch has developed an unplugged version of its platform, giving children an introduction to the commands used and what you can do with them. Blocks and characters can be printed out and arranged as they would be on the computer platform. The blocks come in colour coded sections including motion, sound, events, and variables, and by experimenting with different arrangements children can create a wide range of games.

CodeAdvantage offers a variety of online coding classes and summer online coding camps.

Photos by Alexander Sinn, Caleb Woods, Sophie Elvis, Ola Mishchenko on Unsplash