At any given moment and any given location on this world, a quick glance around you will undoubtedly show at least one aspect which has been affected by technology. To be a rather specific: affected by software. Even if it were the groceries you just paid for (by card), the carefully calculated flight path of an airplane flying over or the fading EDM music playing in the background: if it wasn’t for software, our world would be a completely different place.
And although arguably software could be used for doing bad as well as good, one can not go around that fact that software plays an important role in our society. And this is not new. We’ve seen throughout history before that certain disciplines played a growing part in our lives over time. There was a time in which religion was not that important, after which it became a guiding discipline. There has been a period in which calculus wasn’t that big of a deal, now, it unmistakably is the most important pillar of modern science. Understanding physics has been neglected for a long time, but nowadays you can’t get around it. And every-time something became “a thing” in our lives there was always one (logical) thing we’d done: pass it down to the youngsters of that generation. In this plea I argue why we feel that we are on the verge of changing again: programming deserves to be passed down as well (as standard part of the curriculums in high school courses).
Code is an universal language: teach children to write too
The language behind programming languages is universal: it’s logic. It is logic which forms a gateway to all the other people on this earth. Children, starting from very young ages, grasp this concept. How many kids have you met who clearly are more digitally skilled than you are? You could say that the children of today are digital natives… Well, actually, not quite yet. Although they seem to understand technology perfectly, most of them aren’t able to create (creative) technology. It is if they can read, but not write. (Mitch Resnick, MIT Media Lab).
It is imperative that we give our children the toolkit to be able to participate in shaping the world as well, rather than only consuming of it. We should enable them to create and express themselves in new technologies through coding.
Preparation of the future
If you are stuck in the mindset of previous generations and just desire your children to have good job perspectives: this in itself is a perfectly valid reason as well! Almost all employers require their employees to have fluent digital skills. This doesn’t necessarily mean that one should be able to write a script, but believe me when I say that it makes everything a hell of a lot easier.
As a teenager, in high school, this one time we had to solve the same math problem over and over again (I believe it was as simple as calculating the surface of figures). I figured that investing time in a simple program to calculate it for me, would give me loads of spare time (which I again could spend on programming websites for the neighbourhood butcher). To date, in our company, we all share this mindset. If you have to do a task twice: consider automating it. If you have to do it three times: definitely automate it.
Regardless of the branch you’ll we working in: programming will prove to be a useful tool.
Computational thinking: stay calm and solve
I personally believe that happiness is closely linked to the development of ourselves. If today is the same as yesterday, we feel like we’re stuk and not making progress. This doesn’t mean that we always have to strive for the best, but just for a little better everyday.
Children are professionals when it comes to learning. Their are senses capturing input, their untouched brains are processing them, withwhich they create their own version of the world. For a long time now, we successfully thought them language to communicate their view with the rest of the world. But the concepts we are talking about are of increasing complexity. Whereas just a while ago we’ve had to explain to our children the concept of a stone, nowadays, children in high schools learn the basics of quantum mechanics.
Computational thinking is a way of breaking large problems into smaller ones, solving and creating explanations for these small problems, and translate them back to the larger problems at stake. Being able to generalise solutions for specific problems to fit for more general problems, being able to think step by step (sequential) and being able to think critically about every (sub)solution, are skills a computational thinker would have. Do you see how these abilities would fit your children, growing up in today’s world?