Why should children start with visual programming to learn how to code?

    Kids learn how to program their own game
As a parent and STEAM educator I questioned myself what should be the best way for kids to start learn how to code. There are many options for kids to learn programming these days. Some advise to jump into apps development and create your first mobile phone calculator using classical programming languages. The others advise to differentiate students and teaching methodology based on a child’s age. While I think the best and the most efficient and natural way to learn how to code for a beginner is to start with a visual programming without any age differentiation.
So let me explain why. The reason for this lays in the nature of human beings and the way we learn new languages. First, we learn to listen and speak and then we learn how to read and write. When both kids and adults learn how to speak they are building the connection of sounds and combinations of sounds (phonemes) to objects. Our brain stores the labels linked to objects and these labels are words. Then we learn how to combine words into sentences and still we do not know how to read or write. Still we learn to listen and speak. The ability to read and write grows with the growing ability to listen and speak and connect words to objects, events and concepts surrounding us. Just imagine it takes up to 5 years on average for a human to reach this level to be able to start learning reading and writing.
How is it connected to programming? Effectively, the process of learning how to code is very similar to the process we learn a language. Now think of the following analogy. When we teach a kid or an adult how to code and start with building apps it is very similar to asking a kid to learn how to read and write without being able to listen (=understand) and speak. Is there any logic? Of course not. To teach a kid or an adult how to code we need to start with basics. First, kids need to build their coding vocabulary and understand how to manipulate a new language. And it is exactly what visual programming does. It is like learning to listen, understand and speak. This is why many kids who start with visual programming succeed in learning more complex classical languages. They have learnt how to “listen” and “speak” and developed a sufficient “vocabulary” to move to the next stage and learn how to “read” and “write”.
Here at RUNSTEM we start with teaching Scratch and Kodu first. Only after completing classes in visual programming environments we recommend to proceed with our C/C++ and JavaScript classes. That way our students learn how to "speak" before learning how to "read".