A few years ago, computer programming for kids was a niche subject that only children of select parents were exposed to. Fast-forward to today, where coding for kids has embedded itself into many mainstream education curriculums around the world. Even though the popularity of teaching kids to code has increased, there are still concerns with screen time for young children. But what if there were a way to teach kids to code without screens? In fact, there are several ways to teach children the concept of computer programming that do not involve a computer, an iPad, or even a smartphone.
To get back to the basics, we first need to review a few terms that will help us understand why we should teach coding and computational thinking to kids and what the benefits may be:
- Computer programming: The practice of making a computer do something through a sequence of instructions, which are written in a specific coding language, or code for short.
- Computational thinking: A fundamental skill that anyone can learn, which helps to identify and break down complex problems so that they can be solved, either by a computer or a human.
Learning coding and computational thinking has several benefits for children, including nurturing creative expression, demystifying technology, teaching problem solving and persistence, learning by doing, and learning to think about thinking. For 3- to 4-year-old children, play and learning are not separate concepts, so it makes sense to teach them through play. Hands-on (kinesthetic) learning is even better, and open-ended play should be part of it. At this age, children are beginning to learn cause and effect, so creating sequences that relate to things they know well can help them start to think of logic and programming in a new way, one that is completely screen-free.
Abstraction is difficult for very young children, but there are several aspects of coding that can be taught to children as young as three and four like algorithms, logic, tinkering, and debugging. And by the time a child turns five or six, we can start to teach abstraction, prediction, sequencing, programming, and repetition. Young children use a lot of physicality in their learning process, so hands-on exercises, toys, and other interactive experiences are the perfect conduit to teaching the basics of coding without using screens.
1. Real-life routines
Repeating a real-life routine can be a great way to teach children of all ages the concept of algorithms, which are a set of rules that define a sequence of operations. In an algorithm, the steps or processes we follow determine whether we achieve success or failure. Getting ready for recess is a great example of a routine that has a similar set of steps each day because it is basic and regularly repeated.
Begin by familiarizing children with the steps that need to be taken to get ready to go outside, along with the terminology associated with them. Once the children are confident enough to vocalize and walk through the steps themselves, you can add questions that encourage the children to think about why they do the process in that order or if they have ideas to make the process quicker or more efficient. They will soon see which parts of the routine they can adapt and change and which they cannot.
For older children, cooking a simple recipe like cream cheese on a toasted bagel is a great way to teach the basics of programming and encourage them to use logic. First, talk about what is needed to make the dish and the steps to take, including where the toaster is and which utensils to include. Then, with your best robot voice, ask the students to give you instructions. If they make mistakes, call out how it can be difficult to do one thing before another and encourage them to “debug” the process. Designing a more complicated algorithm like a recipe is likely to take a few attempts and a bit of tinkering to get right. But the point is that if you can make the process fun during a number of attempts, the child will see that a clear set of instructions and steps can result in a positive and creative outcome.
3. Simon Says
A simple game of Simon Says is an easy way to sneak in computational thinking ideas and principles. In Simon Says, instructions have to be clear and unambiguous, just like in an algorithm. In addition, a key aspect of the game is that the words Simon Says have to be in front of the command to make it valid; if they are not included, the “code” itself becomes invalid and is no longer a true instruction. During this game, a child has to engage in debugging throughout the process.
4. Tangible programming toys
A tangible programming toy can be an effective way to teach children the concept of sequencing, algorithms, and logic all at once. Cubetto is a Montessori-inspired wooden robot that comes with a control board and a set of blocks that, when put in a sequence, makes Cubetto move forward, backward, and left and right. Cubetto introduces algorithms and sequencing by using precise and clear instructions.
With any toy, it is important to discuss the different parts so the child knows how it works. Make sure the child knows that without the control board and human input, there is no way of sending Cubetto his instructions and therefore he will not be able to move. This is not only empowering for the child but also key to understanding computing and computer programming.
5. Treasure hunt
Building and executing a treasure hunt can be a fun way to teach a child to design a program of her own and follow a set of instructions that bring about a positive result. Following a treasure hunt can be an activity for children of all ages, but designing one is better suited to an older child. In a treasure hunt, you must complete one task before receiving instructions to the next part and often the steps build upon each other. Children learn the value of completing a sequence in the correct order and following instructions.
There are a number of different ways to incorporate coding-type exercises into everyday play. In fact, activities like these can incorporate skills learned in combination with other seemingly non-related topics and can be more beneficial than a standalone “coding session.”