Second in a pretty loose series based around why I think that coding is a necessary skill for kids to learn as they grow (ideally starting in Primary school).
In an era of increasingly fast technological innovation and change, there is a growing necessity for people not only to know how to use the connected world (being anything from computers, programmable devices, drones, the IoT etc etc), but also to understand how to utilise all of these things in new, innovative, untested and unusual ways. With this new necessity in mind, coding should become as basic as reading and writing, and be treated as such in school curriculums the world over. As a father of a daughter and a son I want to see them given the right tools, thought processes and education to thrive in an entrepreneurial and innovation-led environment.
Here are some reasons why you should teach your child to code.
Code is one of the world’s most widely used languages
Computer science is the new language of the world, and it’s also one of the fastest growing occupations. Almost every field of human endeavour relies more and more on software and software development for success. Other than coding and logic thinking being necessary skills, they’ll also give your child a chance to both be well paid in the future and also to do some of the more interesting and challenging jobs likely to be around. It has been predicted that be 2020 there are likely to be over 1 million unfilled jobs in the US alone that will be dependent on coding.
Connected devices are already reshaping our world
Kids also need to learn how to code because computers and connected devices are what will shape their world as they grow up, just as physics, Math, Chemistry and Biology shape our world right now. In about twenty years, an inability to code or at least to understand logic-based thinking to some level will be just as crippling as illiteracy and innumeracy is today. Better to start equipping your child with these skills as early as possible.
Kids learn better and faster when they’re young
Teaching your child how to code when they are still young is important, because kids have an easier time learning skills than adults do – their minds are flexible and open, and learning code is like learning a language, far easier when you are young.
Given the sheer pace of innovation and the growing connectedness of our devices, houses, workplaces and potentially ultimately bodies, it makes sense to take advantage of the natural inclination that children have to learn faster and better when they are younger. I’m not just talking about coding in and of itself, but also logic-based thinking – ‘procedural literacy’, which is an ability to think about and understand processes in the world.
Coding is creativity unleashed
Another benefit of teaching kids how to code is that it builds their confidence and creativity and provides the tools to create a world of limitless possibilities, where they can build their own paths and solutions in their own way. Overall, coding is a very empowering skill.
Just like art and craft is a way to express creativity, coding can be a highly engaging, fun and empowering skill for kids today. There are some platforms, like Scratch, that teach kids how to code in a way that doesn’t make them feel like they are stuck in a classroom learning something they don’t want to. They start out by playing games, and if the child doesn’t like a particular aspect of the game, they can modify it to their preference by rewriting the code. They are also able to find games or apps that other kids have modified, and they can add their own spice to them if they want to. Finding a toolset that allows kids to utilise what I know to be their most amazing skill – virtually limitless imagination, is one of the best aspects of helping them learn coding.
Problem solving and critical thought
As discussed briefly above, learning coding techniques also helps children to develop critical thinking skills and problem solving processes that are not only important in computer science, but also in life. It teaches them how to look at the bigger picture, and to break down big challenges into smaller and more manageable tasks. Other than just relying on environmental perception, they are able to make logical connections which will help them learn how to properly analyse different situations. This type of skill is necessary for everyone to have, not just those who want to pursue software engineering in the future. Other than it being professionally applicable, it also helps one to achieve big and overwhelming goals in their lives. You get to think of the smaller steps you need to take in order to get you closer to your goals, which gives you more drive and focus.
The wonders of storytelling through code
Learning how to code is also going to help your children develop fluidity in their thinking. Coding is sequential – it’s telling a story, where you need to know what to write and why one thing follows the other in a particular order. Most programming languages designed for kids usually use games to teach them how to code, and this requires them to follow (or even better create) a story line or sequence as they play and code.
Scratch is very popular with kids, as it offers a fair amount of control and is also based around storytelling and creativity, with a rich visual language that kids love.
Beyond platforms like Scratch there are lots of programmable devices (drones, robots, Arduino platforms etc) that allow kids the ability to both control and influence the world around them in creative and fun ways – all pretty amazing for teaching how amazing coding can be as a skill in the internet of everything.
As a final word, as a parent I don’t want to be satisfied with my kids just knowing how to use a smartphone or a tablet – it’s not enough anymore and they’ll need more than that to thrive, innovate and create as they grow. Coding is an essential skill even if it hasn’t yet been introduced to your local schools. In Estonia, the country that brought Skype to the world, public school first graders are learning how to code. Don’t allow your child to be left behind (and I won’t let mine either!)
Simon was the GM and Head of Business at SitePoint, and a mentor at INCUBATE.
Jump Start Git, 2nd Edition
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers