Computer programming is an in-demand and lucrative career path, so parents may hope their children grow up to be software programmers. If you want your kids to learn how to program, where do you start? Try a few of the kid-friendly programming languages and tools on this list.
Block-style storytelling teaches the fundamentals of coding in a fun way.
Developed by MIT, an authority on teaching and coding.
Free.
Basic programming language free download - Euphoria Programming Language, Programming in C in 7 days, Mobile Basic, and many more programs. Show quiz for various programming languages on your.
Website is a bit cluttered.
Social networking aspect may not be suitable for some children.
Scratch is a free kids programming language 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 can be used to make real animations and games using either prepopulated images and characters or by uploading new ones. Scratch can also be used without 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.
Requirements: A computer running Mac, Windows, or Linux
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.
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 over 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.
Requirements: A computer running Windows, Mac OS, or Linux
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.'
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 may be 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.
Note: If you install Alice on a Mac, you have to enable installation by going to System Preferences > Security and Privacy > Allow apps downloaded from: App Store and Identified Developers. Change your security settings when installation is complete.
Requirements: Computer running Mac, Windows, or Linux
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.
Swift is a programming language used to build iOS apps. Swift Playgrounds is 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 app 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
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 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.
Requirements: Windows, Mac OS, or Linux
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.
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 have kits available 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 Mac OS or Windows or a tablet running Android or iOS. Running the programs rather than debugging them, requires one or more LEGO EV3 robots.
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.
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.
Requirements: Windows 7 and below or Xbox 360
Motivated middle and high schoolers may want to try their hand at making 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. The best tool parents can provide their budding programmers is a sense of persistence and determination.
RSS Feed RSS Feed (free software only)610 applications totalLast updated: May 29th 2019, 12:12 GMT
A comprehensive and reliable programming platform, meant to provide you with a new means of develo...
Work with source code and debug your application with the help of this integrated development envi...
Work with a user-friendly Python IDE to create your scripts and applications, testing, debugging a...
Improve your productivity when coding with the help of this full-featured yet quite user-friendly ...
An object-oriented logic programming language aimed to provide users with the possibility of using...
Turn to this multi-platform object-oriented language that boasts extensive libraries as well as br...
Get your code thoroughly analyzed for any errors with this powerful application with support for v...
A fairly new programming code language for those developers always on the lookout for something ne...
A software compiler that enables users to perform tasks via a command line, with support for D lan...
Python and IDE editor that integrates the Scintilla editor control, plugin support, debugger, coop...
This integrated development environment allows you to edit code, compile and create applications t...
A comprehensive application that provides you with a general-purpose programming language that is ...
An compiler for the Component Pascal Language compatible with the .NET Framework and the Java Virt...
Convert MS VB 6.0 forms to resource and source files MS VC++ or VBNET project by using this straig...
Connect applications that are written in the C or C++ with a variety of high-level programming lan...
A programming studio for the Pascal language that includes an IDE, a compiler and a debugger, vari...
Develop your own powerful Windows apps and learn to program easily with the help of this specially...
Worldwide-used language for technical computing and data visualization, specifically designed to f...
A fully fledged integrated development environment (IDE) that was designed to help users learning ...
Easily install Ruby for Windows, including a baseline of required set of RubyGems and extensions, ...
An efficient and comprehensive software solution designed to provide you with the means of develop...
A cross-platform application framework for desktop and embedded development, providing the tools y...
Develop Arduino-based applications with the help of this simple tool that comes with a set of libr...
Free, open-source and retargetable C compiler that includes a linker, simulator, assembler and deb...
Design and deploy ERP solutions that can be run on mobile, desktop or as web applications within m...
Compile and debug Lua scripts, analyze the source code, modify the snippets and hide the code line...
The Java implementation of Ruby programming language that developers can use in their projects to ...
An alternative programming utility that lets you design audio, music and media related application...
Compile various application using options from Windows Explorer's menu and interact with your app ...
Script building, debugging, compiling and syntax checking, for R language, in a feature-packed int...