Coding for Kids: A Programming Languages Primer for Parents and Teachers

by Kiki Prottsman

Photo credit: Emma Gibbs, Moment Collection/ Getty Images

Computer science is an ever-changing field that is known for growing quickly and turning out technology that becomes antiquated in less time than it takes to outgrow a pair of jeans. With a landscape like that, how can a school know whether they are teaching students the best programming languages for their areas of interest? How can parents understand which coding explorations might be right for their kids? The short answer is that they can’t.

The only real way to prepare kids for a twenty first century career — especially in technology — is to pique their curiosity and teach them how to learn. No matter which programming language a student experiences in their first few years, they will not be considered an “expert” until they are able to jump back and forth between grammars, even if the transition requires some extra time and the help of a search engine.

Knowing this, one might think that a child’s first programming language is unimportant. Not so! Programming languages each have their own personalities and limitations, making each one an individual experience. Matching kids to an appropriate first language can make all the difference when it comes to the first impression they form about coding in general.

Here is some insight to better understand some of the most popular programming languages for beginners.

The Playful Friend
This category is split among the popular block-based languages. Most notably, Scratch and Blockly. With a super-low barrier to entry, block-based programming lets kids drag and drop code to make fun and engaging programs. While blocks completely eliminate the frustrating struggle over grammar and syntax, they tend to be limiting as far as overall experience goes. Students will only be able to work with the blocks provided, and the sharing of a project is often restricted to the platform where the project was created. But, since the intention of most block-based languages is a focus on the fundamentals, that’s probably okay.

The Kind Neighbor
JavaScript (JS) holds this title because it’s very forgiving and you will run into it everywhere! For a new learner who wants an artifact that is easy to put together and even easier to share, JS offers a safe space for novices to practice realizing an algorithm of their own. Since there is no installation required, a coder can hop onto a site like JSfiddle.net and start creating a program online, running it instantly with the press of a button. There’s no need to worry if a space or a semicolon has been forgotten, JavaScript tries to figure out how to fix it without being a bother. JavaScript will run on your computer, in a browser, on a server — it basically rules the internet. It’s also an amazing tool for creating code that anyone can see, whether they use a PC, a Mac, or their smartphone.

With all of these upsides, you might think that JS is the right tool for everyone. Unfortunately, that is not the case. JavaScript is so friendly that it will silently run even when code has gnarly errors that prevent it from working the way that was intended. Beyond that, its willingness to quietly combine strings with numbers can lead to some bizarre results.

The Tidy Roommate
Everyone likes to be told that there’s only one right way to do something, and that way starts with keeping everything as clean as possible, right? I might be kidding, but Python isn’t fooling around. Python uses whitespace as part of its syntax, meaning that if your code doesn’t line up perfectly, then it won’t work right.

As with any neat freak, the number of issues you have to deal with can be controlled by following a clear set of rules: Indent, but don’t indent too much, and if you must indent a line continuation, make sure you indent it enough to tell that it’s not part of the next set of indented statements. You can choose whether you use tabs or spaces, but do not mix them! It’s easy, really, once you get the hang of it.

All joking aside, Python enforces helpful behaviors that most other languages only encourage. This can lead to the adoption of good habits, creating learners who use better techniques everywhere. Other than the relatively odd set of demands, Python is not a hard language to grasp. It also works well on the web, works on most machines, and has a ton of support online for new programmers.

These are just a small fraction of the languages that are available for beginners, but they are currently the most popular in entry-level computer science education. Runners up include Java, Ruby, and several languages that start with C. In the end, the choice of a first programming language is as individual as the choice of a first love. Remember, the goal is not for kids to learn one programming language that lasts for a lifetime, but to inspire them to program for a lifetime of learning.