Today’s kids already live in a world where tablets are replacing books, computers are built into glasses and the internet is set to connect all things. While the specifics of most programming languages may be beyond reach for most children, the fundamental ideas that underlie coding are easily within their grasp, and like learning any other language, picking up coding early means kids are more likely to stick with it and develop advanced skills, says New Scientist.
The unintuitive structure of many programming language isn’t exactly kid-friendly, though. For instance, to teach your computer to say “Hello World!” —a common first lesson in coding— in C++ , you need this confusing packet of squiggly brackets and semi-colons:
cout << “Hello World!”;
<!– to hide script contents from old browsers
// end hiding contents from old browsers –>
Unlike typical programming languages, which require users to type in complicated text commands, Scratch uses coloured blocks that are strung together to create lines of code. ScratchJr is similar, only the commands are even simpler. After assembling a rudimentary program, the child clicks a green flag at the beginning of the list of commands to run it.
It may sound very simple, says Marina Bers at Tufts, who co-created ScratchJr, “but it teaches sequencing – the idea that order matters”.
And, for the non-coders among us who feel like they sort of missed the boat, MIT has the App Inventor, a system for novices to design and build their own Android phone applications. Besides, whether you want to be a programmer or not, says Quora user Ben Werdmuller von Elgg, doesn’t really matter to whether you should learn some basic coding:
It’s important to understand the difference between “learning to code” and “being a coder”.
- I know how to do some math. I am not a mathematician.
- I know how to drive. I am not a professional driver.
- I know how an engine works. I am not a professional mechanic.
- I can cook. I am not a professional chef.
- I can unclog a toilet and hook up a sink. I am not a plumber.
In this context, yes, I think everyone should learn to code.
Sure, you can get away without math, but you’re more likely to be ripped off. You can get away without knowing how to drive yourself, but it limits your transport options. You can get away without understanding your car, but you’ll spend a fortune on mechanics (and get ripped off). You can avoid learning how to cook, but you’ll spend more on food, eat worse and probably get fat. If you can’t do basic plumbing, you’re at the mercy of the people who can.
I’ll repeat that again, in the context of computing: if you can’t do basic coding, you’re at the mercy of the people who can.
More from Smithsonian.com: