There are a ton of programming languages out there, and many claim to be built specifically for beginners. This tool will help you sort through the major ones and find an appropriate starting language for your kid. We assume that kids will be learning with an adult as a guide.
We're confident in our recommendations, but they won't apply to every student. You might need to adjust your kid's age slightly up or down depending on how he or she reacts to a recommended language.
It's a tablet app that focuses on simple commands and visual storytelling. Although the creators recommend using the program with ages five and up, we've seen it used successfully with four-year-olds as well.
It's a toy can be programmed with physical buttons. The coding 'language' just consists of five buttons: forward, back, turn left, turn right and 'special', which causes the mouse to do something interesting like light up or make sounds. The robot mouse's simple interface makes it super easy for kids to start programming right away.
It's a fantastic langauge build by MIT researchers specifically for beginners. Scratch is a visual language that works like LEGOs - you can create programs by connecting blocks of instructions together. It can be used for most multimedia projects, including games, animations, storytelling, quizzes and more. While Scratch is promoted for its accessibility, relatively complex projects have been created using this language.
HTML and CSS are the building blocks of the web. They're underneath every website on the internet. Learners who are interested aspects of design like color, layout and typography, will be able to showcase their ideas to the world using HTML and CSS.
While we still think Scratch is a great introductory multimedia langauge for all age groups, students that are looking to create something more polished can do so with Unity. It's a professional game development environment that uses either the C# or Javascript programming languge to create 2D and 3D games. Unity is more involved than other systems like Scratch or Construct, but with some patience and effort learners can create really slick looking projects.
The Mindstorms Kit features familiar LEGO pieces along with sensors, motors and a small computer that can be programmed. The block-based Mindstorms language covers most fundamental programming concepts. If your kids don't like the language, you can always use a an extension to program with Scratch! In addition to programming skills, your kid will be able to explore physics and mechanical engineering concepts.
Minecraft modding lets your kid modify Minecraft by imagining and creating their own features like new kinds of blocks, abilities or creatures. It requires coding in the Java programming language, but also incorporates other skills such as navigating complex folder structures and creating pixel artwork. Younger students should be guided more towards artwork creation and adjusting values in pre-created code, while older students should gradually get introduced to text-based programming fundamentals needed for more complex features. Both younger and older learners would benefit from having an experienced programmer set up the modding environment and create a 'skeleton' mod to use as a starting point.
Raspberry Pi is one of the cornerstone technologies of the Maker Movement, a DIY community of tech enthusiasts. The Raspberry Pi lets learners combine the Python programming language, circuits and sensors to create all sorts of amazing projects, from a quadcopters to electronic art displays! Projects can range from simple to extremely complex.
Ruby-on-Rails is one of the most popular frameworks for building web applications to solve real-world problems. Rails applications use the Ruby programming language, as well as web fundamentals like HTML, CSS and Javascript. Many massive web apps have been built in Rails, including Twitter, Groupon and Hulu. Even if your kid is interested in building iOS or Android applications, Ruby-on-Rails is the most painless framework for learning the fundamentals of app development. Learners who build a foundation with Rails can easily move on to more difficult languages and frameworks afterward.