12 May, 2020
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?
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.
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.
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.
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.
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.