These Kindergarten Kids Aren’t Just Playing With Colored Blocks—They’re Coding

Simplified, visual programming languages make it easy for anyone to write their own code

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:

#include <iostream.h>

main()
{
cout << “Hello World!”;
return 0;
}

If you’re working in JavaScript, a favorite language of the web, it would look more like this:

<script type=”text/javascript”>
<!– to hide script contents from old browsers
document.write(“Hello World!”)
// end hiding contents from old browsers –>
</script>

So researchers have designed colorful, blocky, kid-friendly programming languages, like ScratchJr, that are meant to be easily manipulable by children as young as 4 or 5, says New Scientist:

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”.

ScratchJr is still in experimental stages, but New Scientist points to other non-coder friendly languages, such as Scratch or Blockly.

Lifehacker and ReadWrite point to a number of programs designed for kids to get into coding, from games to simplified, highly-visual languages.

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:

First Grader Codes Her Own Computer Game

Get the latest stories in your inbox every weekday.