If you want your kids to learn how to program, where do you start? Try a few of these programming languages for kids to get them started creating their own computer programs.

What to Know

  • Programming languages for kids can help ease them onto a path that can lead to in-demand and lucrative future careers.Programming for kids can be learned through block style lessons or by learning a new programming language.Computer programming for kids is best taught using gaming and gaming-style coding to keep their interest.

Scratch

Scratch is a free programming language for kids developed by MIT’s Lifelong Kindergarten Lab. The free language is supplemented by getting-started tutorials, curriculum instructions for parents, and a robust user community. There are even cards kids can use to learn Scratch programming concepts when they are away from the computer. 

  • Block-style storytelling teaches the fundamentals of coding in a fun way.

  • Developed by MIT, an authority on teaching and coding.

  • Free.

  • Website is a bit cluttered.

  • Social networking aspect may not be suitable for some children.

Scratch uses a building-block visual interface to create a scaffolded experience for kids and parents. You stack together programming components, such as actions, events, and operators.

Each block has a shape that only allows it to be combined with a compatible object. Repeat loops, for example, are shaped like a sideways “U” to let you know that you need to put blocks in between the start and stop of a loop. 

Scratch makes real animations and games using either pre-populated images and characters or by uploading new ones. Scratch doesn’t require an internet connection. Kids can optionally share their creations on Scratch’s online community. 

Because Scratch is free and so well supported, it’s one of the first suggestions for kid-friendly programming, and it’s easy to see the influence of Scratch in many other kid-friendly programming languages listed here, such as Blockly. 

Suggested ages: 8 to 16

Requirements: Windows, macOS, or Linux

Blockly

Blockly is Google’s refinement of Scratch using the same interlocking building blocks metaphor, but it can output code in several different programming languages including JavaScript, Python, PHP, Lua, and Dart. That makes Blockly a visual editor rather than only a kid-friendly programming language.

  • Clean block-style approach to learning coding.

  • Translate blocks into common programming languages.

  • Supported by Google.

  • Not much functionality beyond translating blocks to code.

  • Future of the project is in doubt.

You see the code along the side of your screen as you link blocks together and can switch programming languages on the fly to see the differences in language syntax for the same basic program. This makes Blockly ideal for teaching code to a wide range of ages, including older kids and adults who may not appreciate the younger-skewed cat and cartoons of Scratch. 

Google is working with MIT to develop the next generation of Scratch based on the Blockly platform.

Blockly serves as the backbone for the Android App Inventor, which can be used to develop working Android apps. MIT took control of this abandoned Google project.

Blockly is not as fully developed as Scratch yet, and there are not as many available tutorials. However, Blockly looks to have a great future as a robust programming environment for programmers of all ages. 

Suggested age: 10+

Requirements: Windows, macOS, or Linux

Alice

Alice is a free 3D programming tool designed to teach the concepts of object-oriented programming languages like C++. It uses the familiar approach of building blocks to allow children to create games or animations by programming camera motions, 3D models, and scenes. 

  • More straightforward design to help more children learn.

  • Sponsored for free by Carnegie Melon University.

  • The push to “pure” coding may be too fast for younger audiences.

  • Half the About page defends the project’s name of “Alice.”

The drag-and-drop interface and easy play button maybe a little less confusing for some students than Scratch’s cluttered interface. Programs, or “Methods” in Alice, can be converted into a Java IDE such as NetBeans so that programming students can make the transition from a visual building block interface to a standard programming language. 

Carnegie-Melon University developed Alice. The website may not look slick, but the program is still being developed and researched. 

If you install Alice on a Mac, enable installation by going to System Preferences > Security and Privacy > Allow apps downloaded from: App Store and Identified Developers. Change your security settings when the installation is complete.

Swift Playgrounds

App developers for iOS and iPadOS rely on the Swift programming language. Swift Playgrounds is available on the Mac and as an iPad app. Designed to teach kids how to program in Swift, it is a free download from Apple and does not require any prior coding knowledge. 

  • A guided tour using a fun motif to translate Swift commands to game-like behavior.

  • Developed and sponsored by Apple.

  • Free.

  • Swift-only; locks kids into iOS app development.

  • Only runs on iPad.

The apps contains a lot of tutorials on different Swift commands that are designed, in this case, to move a character named Byte along a 3D world. Although no programming knowledge is required, kids need to know how to read the tutorials and have some persistence for problem-solving. The drag-and-drop code eliminates typos, but Swift Playgrounds does not use the interlocking block interface. 

Once your children are proficient in Swift Playgrounds, they can start developing in Swift.

Requirements: iPad or a Mac

Twine

Twine is for children who are interested in creating games and telling stories but get frustrated with the technical details of programming.

  • Focus is on chaining ideas for a story, rather than on building a computer program.

  • Free and easy to use.

  • Developed by a volunteer community.

  • Antiquated website.

Twine is a free nonlinear storytelling app that is used by people of all ages, including a large number of adults and educators. With Twine, you don’t need to learn any code. Rather than teaching users how to code, it teaches them how to structure and present nonlinear games and stories. 

Twine stories consist of pages of text and images, like websites. The design interface shows the connected pages, each of which can be modified with text, links, and images. It works especially well for “choose your own adventure” type games where each player choice goes to a new branch of the story. 

While this app does not teach coding, it does teach a lot of planning and design skills that are vital for game designers and storytellers. The app is well supported with a support wiki, tutorials, and an active user community. 

You can create Twine stories online through the hosted app or download an app for offline editing. 

Suggested Age: 12+ (strong readers recommended)

LEGO Mindstorms EV3

Another approach to learning to program is to look at robotics. Many kids respond to the idea of programming things that work in the real world. There are a wide variety of robotics kits and languages you can use to program them, but the LEGO Mindstorms system enjoys one of the largest user communities and a kid-friendly visual programming app.

  • Active use with robotics engages kids in math and science programming.

  • LEGO’s reputation is solid.

  • Requires the Mindstorms system, which must be purchased.

  • Some product cross-sells embedded.

Download the programming environment for free, but you need access to a LEGO Mindstorms kit to make the program run. That doesn’t necessarily mean you have to buy one. Some schools and public libraries offer kits for student use, or you may want to find a First LEGO League near you. 

LEGO EV3 programming software can be run on tablets and computers, and it uses a building-block—in this case, a LEGO block—metaphor, just like Scratch and Blockly do, although LEGO’s version tends to build the program horizontally and looks more like a flowchart. Students combine actions, variables, and events to manipulate their LEGO Mindstorms creations. The programming language is simple enough for young kids while still being challenging for older ones and adults.

In addition to the LEGO Mindstorms programming environment, LEGO uses an open-source Linux kernel that can be modified and programmed by traditional programming languages like Python and C++. 

Suggested Age: 10+ (Younger kids can use this with supervision)

Requirements: EVA3 requires a computer running macOS or Windows or a tablet running Android or iOS. Running the programs rather than debugging them, requires one or more LEGO EV3 robots.

Kodu

Kodu is a game-programming app from Microsoft designed for Windows and the Xbox 360. The Windows version is free, but the Xbox 360 version is a paid app. Kids can use the app to explore and design games in a 3D world. 

  • Learn to program while using a gaming device.

  • Easy-to-use interface makes learning fun.

  • Relies on older hardware. The project itself is likely defunct.

  • Doesn’t teach programming as much as game design.

The graphics interface of Kodu is engaging, and programming for the Xbox version can be done entirely from the game controller. Kodu is an older but still solid choice if you have hardware that supports it.

Unfortunately, there’s no Xbox One version of Kodu, and future development looks unlikely. However, the Xbox and Windows versions are fully developed, which is why it is included on this list, even though it is abandoned.

Suggested Ages: 8 to 14

Requirements: Windows 7 and below or Xbox 360

More Suggestions

Motivated middle and high schoolers may want to try their hand at making and installing Minecraft mods. The Unity 3D game interface is another great way to jump into programming 3D games with a lot of online resources available.

Just remember that programming is inherently frustrating. It involves a lot of troubleshooting and trial and error; ensuring your child has equipment that’s in good working order is critical. The best tool parents can provide their budding programmers, however, is a sense of persistence and determination.

Get the Latest Tech News Delivered Every Day