Everyone is familiar with the three R’s of education. But there’s a fourth R that’s nearly as important as reading, ’riting, and ’rithmetic but rarely taught in schools: ’riting code.
By the year 2020, the U.S. Bureau of Labor Statistics estimates that the U.S. economy will need more than 1.4 million programmers — or nearly four times the number of students who will graduate with computer science degrees over the next 10 years. Yet 90 percent of schools don’t offer any computer programming classes, according to Code.org.
From the basics of code for tots to full-blown computer programming courses for adults, a coding education could be closer than you think. Here are six of the best places to do it.
Before your kid starts hammering out thousands of lines of CSS (Cascading Style Sheets) or becomes fluent in Perl, he’ll need to understand the underlying structure of programming languages. Sounds boring, right? Not necessarily. These four interactive resources can make learning the concepts behind coding quite fun:
Tynker: A popular website and now tablet app, Tynker teaches kids the building blocks of coding using a visually friendly drag-and-drop language that Tynker’s creators wrote especially for the service. Your kids must help Professor Ada and her dog, Pixel, battle the evil Dr. Glitch by choosing the correct commands from the Tynker language. By stringing the commands in the correct sequence, they’ll animate a diverse array of cute cartoons in an interactive, globe-spanning series of lessons.
Like other services on this list, Tynker conveys the basics of sequencing and commands without using a complicated programming language like HTML or Java. Your child won’t be ready to write an iPhone app after using Tynker, but he will understand how languages work — which in many ways is more useful.
Scratch: Scratch is the name of both MIT’s educational site and the computer language it uses to teach programming basics. Like Tynker, Scratch teaches the building blocks of coding using an appealing drag-and-drop interface. Also like Tynker, kids can write programs to animate a variety of cartoon characters and then share their creations on the Scratch social network. Though a bit less structured and neat than Tynker, Scratch allows for more free-flowing animations.
Available online for free, Scratch is aimed at kids 8 and up. A version for the kindergarten crowd, called ScratchJr, is scheduled to launch for iPad later this summer and for Android by the end of 2014.
Lightbot: Lightbot is a more gamified option — its apps help teach coding essentials through a series of puzzles and brainteasers that players must solve via programming. In the puzzles, you guide a cute robot through a series of mazes using “basic control-flow concepts like procedures, loops, and conditionals,” according to the site.
If your child routinely borrows your iPad or smartphone and you want her doing something a little less brain-numbing than Candy Crush, then Lightbot might be for you. Available for $2.99 on iTunes and Google Play.
Code.org: Recently launched with the support of computing giants Bill Gates and Mark Zuckerberg, Code.org is a nonprofit that advocates, in part, for public schools to add coding to their core curricula. The Code.org site features links to several free coding lessons optimized for kids, both on its own site and at popular alternatives like Khan Academy, Scratch, and Tynker. The lessons include characters from popular games like Angry Birds and Plants vs. Zombies.
If you’re looking for free lessons — especially hourlong mini-lessons, organized by the site as part of its “Hour of Code” education campaign — Code.org is a great option.
Once your young’un has mastered the basics, the real programming languages await. Several Web startups offer virtual classrooms where aspiring Zuckerbergs can learn to code (and so can you). Here are two of the best:
Codecademy: The much-ballyhooed Codecademy has become one of the most popular and successful code education sites out there. It offers free courses on six of the most widely used programming languages and turns learning to code into a kind of game, offering up badges for accomplishments and commitment.
Through step-by-step classes, you can learn to create a website, design an interactive Web form, create apps, and much more.
Coursera: If you’re looking for a more traditional learning experience, you might try one of Coursera’s introductory programming courses. Coursera offers college-level classes in conjunction with partner universities, featuring the guidance of professors and complete-at-home coursework. Some of the courses run for several months and have weekly assignments, like a regular college class; others let you progress at your own pace.
Several introductory programming courses are available for free on the Coursera website.
Imagine what Gates and Zuckerberg might have accomplished if they’d had resources like these at their disposal.