Computers, smartphones, tablets, smart tvs…almost any object that we use today is based on some form of coding. From the apps installed on our phones to washing machines, code is at the heart of the majority of things that we like doing or that make our lives easier.
Kids nowadays grow up using all kinds of technological devices, but even if they are perfectly familiar with how to use them, it’s quite uncommon that they know how these devices operate, and even more uncommon that they know how to program things by themselves. And that is a real pity, because coding, even if you don’t manage to make a living out of it, just like mathematics, it teaches you a great deal more than a pure technique.
Learning how to code teaches you logic and a kind of thinking that may help you in problem solving, even if you are not dealing with programming problems. Because to write an effective program, you have to master the fundamentals of algorithms, you must learn to split your problems into many smaller sub-problems, you have to avoid bad loops, dead endings, too many different solutions…in other words it’s a great tool to clarify the way you think.
Coding and kids: a great combination
So why should you teach your kids how to code? The first reason is that if they start learning coding when they are very young, they will pick it up more easily and quickly as your brain can absorb information at this age. They will also become used to managing programs and programming languages, and become familiar with computational thinking. Then in the long run they may convert this “passion” or “knowledge” into a job, or have a competitive advantage over people of the same age that didn’t study coding.
The second reason why learning code is important for kids is that it’s the best way to become accustomed with how computers (and smartphones, tablets, wi-fi, and everything else) works. And that’s important also to be a good user of technology.
The third reason is that programming for kids is fantastic mental gymnastics. It’s a great exercise where you have to learn a foreign language and its rules, to search and fix errors, to solve problems using only a limited amount of resources, to learn new things when you face a problem you don’t know how to solve.
The last reason is that it’s fun! Kids can learn coding by playing and programming their favourite games (like Minecraft for example) and they can try a solution and immediately observe the results, and try again if their attempt doesn’t succeed. It’s a creative activity, in which you “build” something that actually works with only the aid of your knowledge and intelligence.
The best programming languages for kids
Once we agree that coding for kids it’s really fun (as well as important for their future), we must ask ourselves which programming language is most suitable for them?
So, if you are dealing with really young kids, the best option could be Scratch, a visual language developed by MIT some years ago precisely to allow kids taking the first steps into the programming world.
If you have slightly older kids, you could try Python, which is an easy to learn programming language (it doesn’t have complicated syntax or rules) and is powerful and extremely versatile.
Another option to take into account may be Swift, which is a language developed for the IOS world. It’s a relatively new language and coming from the Apple world it maintains its simplicity and its great usability. Moreover, there are many free tutorials and resources specifically developed for kids.
Learn coding through games
Of course we are speaking of kids, what they really want is to have fun. So what better way to teach coding to kids than using games?
There are some platforms, like Code.org or CodeMonkey that use games for this purpose. They use famous games, like Minecraft, or also simple “home-made” arcade games to let kids grasp the very basics of programming, like cycles, instructions, input and output, etc. But they also encourage kids to build their own game or app, using the notions they have learned in this way.
But you can do a lot more. For example, with Minecraft you can teach your kid how to write mods, or how to build worlds that other people can interact with. There are some fantastic resources out there.
Another great example is Lego Mindstorms (which also has an education version), with which your kid can build and program a real robot! Also the Roblox platform could be a great way to start programming, because developing their first roblox game would be a real achievement for your kid.
In other words, if kids do have dedication and passion, the only question would be how to select the right tool or platform. But guiding them on this path would be a true gift for their future. Many companies are in demand of skilled programmers and computer scientists, and what you teach them now could be the kick start of a brilliant future career.