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. 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. The Top 10 Free Coding Games of 2020

01 of 07 Scratch Screen Capture What We Like Block-style storytelling teaches the fundamentals of coding in a fun way.

Developed by MIT, an authority on teaching and coding.

Free. What We Don't Like Website is a bit cluttered.

Social networking aspect may not be suitable for some children. 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. 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 Visit Scratch

02 of 07 Blockly What We Like Clean block-style approach to learning coding.

Translate blocks into common programming languages.

Supported by Google. What We Don't Like Not much functionality beyond translating blocks to code.

Future of the project is in doubt. 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. 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 Visit Blockly

03 of 07 Alice What We Like More straightforward design to help more children learn.

Sponsored for free by Carnegie Melon University. What We Don't Like The push to "pure" coding may be too fast for younger audiences.

Half the About page defends the project's name of "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. 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. Suggested age: 10+ Requirements: Windows, macOS, or Linux Visit Alice

04 of 07 Swift Playgrounds What We Like A guided tour using a fun motif to translate Swift commands to game-like behavior.

Developed and sponsored by Apple.

Free. What We Don't Like Swift-only; locks kids into iOS app development.

Only runs on iPad. 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. 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. Suggested age: 10+ Requirements: iPad or a Mac Visit Swift Playgrounds

05 of 07 Twine What We Like Focus is on chaining ideas for a story, rather than on building a computer program.

Free and easy to use. What We Don't Like Developed by a volunteer community.

Antiquated website. Twine is for children who are interested in creating games and telling stories but get frustrated with the technical details of programming. 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) Requirements: Windows, macOS, or Linux Visit Twine

06 of 07 LEGO Mindstorms EV3 Westend61 / Getty Images What We Like Active use with robotics engages kids in math and science programming.

LEGO's reputation is solid. What We Don't Like Requires the Mindstorms system, which must be purchased.

Some product cross-sells embedded. 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. 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. Visit LEGO Mindstorms

07 of 07 Kodu What We Like Learn to program while using a gaming device.

Easy-to-use interface makes learning fun. What We Don't Like Relies on older hardware. The project itself is likely defunct.

Doesn't teach programming as much as game design. 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. 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 Visit Kodu