As the director of a kids coding academy, I am frequently asked my opinion on the best programming language for kids.
But I have since changed.
My response now is to ask what the child is interested in making. We in the industry have learned one fundamental truth in teaching kids coding: it is easy to get kids to try coding, but hard to keep them engaged for the long term. I have come to believe that the choice of a language is less important than selecting finding a project that kids really want to create.
With this idea in mind, we at CodaKid have developed the tool below to help point parents to some kid friendly coding projects that will keep your kids coming back for more!
What is the Best Programming Language for Kids?
Selecting your child’s first programming language can be tricky, and there are many experts in the field who hold very different ideas about what works best.
Most experts agree that teaching young kids coding using visual block coding languages (think Scratch or Blockly) can be a good way to reduce typing frustration while teaching kids the fundamentals.
While this advice can be good for kids ages 5 to 7, many kids will soon become drawn to the “real thing” and will want to learn how to build games, apps, and mods from the ground up. Text-based coding is the way to get them there, and taking a project-based learning approach can be the most effective way to go.
Based on the projects that you selected using the tool above, here we drill down deeper into what each project entails as well as the suggested language to bring these projects to life.
1. Minecraft Coding (Suggested language: Java)
Java is the language of Minecraft. At CodaKid, we have taught thousands of kids to “mod” (short for “modify”) Minecraft using the Java programming language, and it is certainly one of our most popular offerings.
While modding Minecraft, students will learn how to use a professional grade text editor such as Eclipse, and create a number of fun and surprising modifications to the Minecraft source code.
For example, in CodaKid’s online Minecraft coding course Mod Creation: The Adventure Begins, students learn how to create custom tools, blocks, ore, enemies, biomes, and more.
For example, CodaKid teaches an online course called App Development – Infinite Runner which teaches students how to create a professional grade infinite runner style game app from the ground up using real code. Students create sprite artwork, determine user and enemy behavior, and program collision detection. Making their own game from the ground up is a fun and engaging experience that can often inspire students to go further in computer programming.
Scratch/Blockly: For students ages 6 to 8, it is often a good idea to start with drag and drop, visual block platforms to create 2D games. We are big fans of MIT Media Labs Scratch and Google’s Blockly platform for a number of reasons.
First, there are many free options. Second, Scratch and Blockly allows kids to build almost any 2D game they can imagine without having to type. Scratch projects visual block code are all openly accessible to Scratch users on its platform. This is a great way to study how more experienced Scratch programmers have built exciting games like Asteroids, Galaga, Donkey Kong, and others.
3. Making a 3D Game (Suggested languages: Unreal Blueprints, C#, C++)
There are several ways to teach kids how to make professional grade 3D games, and one of the most popular options is to use an existing game engine such as Unreal or Unity.
There are several good courses available online on learning these engines, and there will likely be some local options for you to explore as well.
5. Programming drones or robots (Suggested languages: Arduino, Blockly, Scratch)
Programming robots and drones is an excellent way to teaching coding to kids who enjoy hands on projects. The Arduino programming language is a set of C/C++ functions that can be called from code, and kids can learn how to give robots and drones special commands, have them complete obstacle courses, and more.
Students ages 12 and up might enjoy robotics kits from CoDrone, which includes an excellent starter kit and Arduino curriculum. For younger students who are not comfortable with the keyboard there are several robotics kits such as MakeBlock and Sphero that use Scratch 2.0.
6. Developing Mobile Apps (Suggested languages: HTML5, Swift, Objective-C, Java)
Developing mobile games apps can be a fun way to teaching kids coding. If your child is interested in building an Android app with Android studio, Java will be the language to learn. If your child is interest in building an Apple iOS app, he or she will need to learn Swift or Objective-C while using Apple’s XCode text editor.
What do Programming Languages Look Like?
Below we’ve listed some of the languages suggested above. The example code we’ve given shows how several programming languages can be used to print the text “Today is Tuesday” on the console:
Visual Block Languages (Blockly and Scratch)
Visual Block programming allows younger students to use visual blocks to create computer programs, and eliminates some of the frustrations associated with typing on a keyboard. Considered the training wheels of computer programming, visual block platforms are designed to be outgrown, but they are exc
Here’s is an example of how code written using the Blockly visual block language can be used to print the text “Today is Tuesday” on the console:
Java is still one of the most popular object-oriented programming languages in the world. It also so happens to be the language used to create the best-selling game Minecraft, which makes it a very useful language for kids coding. In this code example, we show how to write the same console printout in Java. In Java, we use a String to hold text.
HTML and CSS are programming languages that are actually not programming languages. They are requirements for anyone interested in web development. HTML tells your browser what to do with each section of a webpage, whereas CSS determines what the webpage will look like.
In this example, CSS is used to dictate font, font size, and font color.
Tip #1: If you’re not sure if your kids would like coding, try some free online resources such as Code.org or Scratch to see if they like it.
Tip #2: For young kids ages 5 to 7, it’s often best to start them with visual block languages such as Scratch and Blockly rather than risking frustration with keyboarding. As they develop an interest in coding, you can then try text based coding resources.
Tip #3: Make it fun! If you see that your kids aren’t enjoying a particular program, pull the ripcord and find something that they enjoy. It is easy to gets kids to try computer programming, but it is challenging to keep them engaged.
Do you have any thoughts on the best programming language for kids?
Please leave comments below!