Programming Languages for Kids (and Grown Ups)!

Kid ProgrammingProgramming Languages for Kids (and Grown Ups)!

Codeguru caters to programmers. Most of the programmers on Codeguru are adults or college students working with companies or writing programs for their own use. Most don’t likely know what regulations such as COPPA are. If they do know what COPPA is, it’s likely because they are making sure their apps and sites are COPPA compliant, not because they are running into COPPA gates on sites.

The world is changing. One area of change is that many schools are adding more and more classes around programming concepts. The local high school in my town is adding advanced programming classes as well as a cyber security class for the students. The state legislation is considering pushing programming into the lower classes at the public schools as a mandated requirement, possibly all the way down into elementary schools.

Although pushing elementary kids to program might seem crazy, the reality is that many elementary teachers are already teaching programming by using a variety of games, customized kits (such as Spheros and Osmos), and simplified or customized programming languages. The reality is that there could be kids coming out of high school with years of programming experience.

In the following slides, I present some of the programming languages and tools that are available for kids (and grownups). Many of these are simplified versions that focus as much on the concepts of program structure as on the actual building of applications. Some can be used to create full applications; others are simply runtime environments. Each provides kids with a platform or tool to get started in programming and to learn the concepts.

Don’t look for C, C++, Java, Ruby, Python, or the common languages that you see developers using every day. Kids certainly can use these, but they are not the focus of these slides. Rather, what you will see are languages and tools aimed at kids. Even though they are aimed at kids, you might find that some are a lot of fun to use!

ScratchScratch Programming for Kids

Scratch is one of the most popular programming tools for kids. Scratch can be used to create stories, projects, and programs that can be shared with a community of others. There are millions of projects already online, including games, animations, and interactive stories. Coding is primarily done by dragging and dropping blocks together to build a storyboard as shown in the slide.

Scratch was developed by MIT Media Lab and is free to use. Version 2.0 of Scratch is generally used through a modern Web browser, including Firefox, Chrome, Safari, and Edge. Scratch is a visual, scripting language. One unique feature of Scratch is that it is available in over 40 languages.

Link: https://scratch.mit.edu/

AliceAlice Programming for Kids

Alice also uses a drag and drop interface to program. With Alice, you can build interactive elements into a game, interactive story, or other application. Like Scratch, Alice is also used in classrooms and schools.


The language is named after Alice in the Lewis Carroll book, Alice’s Adventures in Wonderland. Like the books, the emphasis is on communicating complex ideas in simple, fun ways. As with the book, the programming language is available for free in the public domain.


Alice has multiple versions, with the most recent (as of the writing of this slideshow) being Alice 3. The previous version, Alice 2, is considered simpler. The Alice site provides resources for using either version, including exercises, lessons, how-tos, and even textbooks.


One of the unique features of Alice, especially Alice 3, is that it is positioned to be a stepping stone towards Java development. Additionally, Alice also is designed to target 3D solutions as well as 2D. Alice can be used on Windows, Macs, and Linux systems; however, there is a minimum configuration due to the level of graphics and features provided.

Link: http://www.alice.org/

BlocklyBlockly Library for Programming for Kids

Blockly, also presented at Block.ly, is a JavaScript-based library for visual programming. Like other kid-based programming languages, Blockly uses visual blocks to create programs. One difference is that Blockly outputs actual textual code in a variety of languages, including JavaScript, Python, PHP, Lua, and Dart. Another difference is that Blockly is more of a library and tools. While these can be injected into web pages for use, the hurdle to starting your first program from the core libraries is going to be higher than some of the other languages and tools.


Blockly is a Google project, but is used in a variety of projects and platforms, including Microsoft MakeCode, App Inventor, CODE, and even with the Ozobots. As mentioned, it can be used in browsers, including Chrome, Firefox, Safari, Opera, and Internet Explorer. Because it is script-based, it can run on browsers and other clients without the need of a server.


One unique feature of Blockly is that it can run natively on iOS. It is also tightly integrated with Android for building apps. It is also worth noting that Scratch, mentioned in a previous slide, is built on Blockly technology.

Link: https://developers.google.com/blockly/

StencylStencyl Programming for Kids

Stencyl is an easy-to-use programming tool and IDE that can be used for game development. Stencyl can be used to target iOS, Android, Windows, Mac, Linux, and Flash. HTML5 was experimental at the time this slideshow was being written. Like the previous kid programming languages, Stencyl uses the drag-and-drop block format to coding.

Although you can do drag-and-drop, block-based programming, Stencyl allows for writing code as well. Stencyl uses Haxe, which is similar to ActionScript. It also includes an image editor, Pencyl.

Stencyl is free if you publish to the Web. If you want to target the desktop, iOS, Android, or other platforms, you’ll need to purchase a subscription. The subscription is sold on an annual basis.

Link: http://www.stencyl.com/

KudoKodu Programming for Kids

Kudo Game Lab started as a way for kids to learn to program, but evolved to be a way for kids to create games. Kudo provides a visual development environment to produce 3D games, interactive storyboards, and more.

Kudo is available for Windows XP and later. Additionally, Kudo programs can be played on an Xbox 360. One unique feature of the Kudo environment on Windows is that games can be created and updated using just a game controller. Although Kudo is easy to use, it is one of the older tools on the market, so support and updates might not happen at the same rate as some of the others.

Even though many of the kid programming IDEs and tools shown were block based, Kudo is based primarily on icons, rules, conditions, and actions. Kudo provides programming concepts with digital art.

One unique thing about Kudo is that it can also be used with micro:bits (although only as a legacy language). Micro:bit is covered in the next slide!

Link: https://www.kodugamelab.com/

Download Information: https://www.microsoft.com/en-us/download/details.aspx?id=10056

Micro:bitMicro:bit Programming for Kids

BBC micro:bit is actually not a programming language or development environment. It is a small, codable hardware device. Mentioned in the previous slide, Kudo is more of a legacy language for working with micro:bit. JavaScript Block is the current approach to coding for these devices, and can be accomplished with Micro:bit’s JavaScript Blocks Editor. For kids who are a bit more advanced, Micro:bit also has a Python editor that can be used.

Micro:bit can be programmed from browsers by using the tools mentioned, as well as programmed with JavaScript, Scratch, and other languages without having to buy additional software. The hardware includes buttons, an accelerometer, a compass, programmable LEDs, input and output rings, and much more.

Because micro:bit is a hardware device, you can consider it an introduction to IoT for Kids! One key feature of the hardware is that it can receive code wirelessly via Bluetooth from Android and iOS apps!

Link: http://microbit.org/
Link: https://makecode.microbit.org/

LogoLogo and Turtle Logo Programming for Kids

Logo is one of the oldest programming languages that has tended to be used by kids. The Logo language centered around writing code to do graphics as well as to move an object (a small robot called a turtle) around a screen.

Logo is like C and C++ in that there are multiple adaptations of the language. Over the years, nearly 200 versions of Logo have been released, as well as programs that refer to themselves as “turtle-graphics.” Some of the more popular ones are Dr. Logo produced by Digital Research and UCBLogo.

Even though there are a lot of implementations, if you want a quick look at working with Logo, you can use an online interpreter to type in logo commands and then run them. One such interpreter can be found at http://www.calormen.com/jslogo/. This interpreter is what is shown in the slide. If you want to re-create the star and block, the code for the example is:

to randomcolor
  setcolor pick [red blue green violet orange ]
  End
to star
  repeat 5 [fd 100 rt 144]
End
clearscreen
randomcolor
star
randomcolor
rt 90 fd 100 lt 90 fd 200 lt 90 fd 200 lt 90 fd 200 lt 90 fd 100

Link: http://www.calormen.com/jslogo/

Link: https://github.com/jasonsikes/QLogo

MindcraftMindcraft Programming for Kids

Mindcraft is a game, but it is also a platform that can be used to teach kids to code. Microsoft MakeCode for Mindcraft is a programming editor for coding that is available at https://minecraft.makecode.com/. The editor presented in the slide should look like what you’ve seen in previous slides. This is because the editor uses a Scratch Block user interface, which is based on Blockly and Scratch.

What is unique about this implementation, beyond the focus on using Mindcraft as a platform, is that there has been a focus on making programming work by using a touch screen. Because the MakeCode editor is targeting Mindcraft, there are block elements from the game that can be used in programming as well as many other elements and features form the game. In many ways, MakeCode for Mindcraft uses the gaming aspects of Mindcraft to help engage kids into programming!

Link: https://minecraft.makecode.com/setup

MindStormLego Mindstorm for Kids

Where micro:bit was a kid programming tool that also can be seen as an introduction into IoT for kids as well, Lego Mindstorm has a programming interface that is great for kids to learn coding concepts while at the same time also learning robotics.

Lego Mindstorm can be used to teach programming concepts by having kids connect programming icons together in the EV3 programming tool. These icons can be used to control the various robotic components within the Lego Mindstorm sets. The Lego Mindstorm EV3 software can be installed on Microsoft Windows and Mac OS X. There is also a mobile app for iOS and Android that can be used as well.

Because EV3 programming is used to control Lego Mindstorm gadgets, there is a cost barrier to using it to learn programming concepts.

Link: https://www.lego.com/en-us/mindstorms/downloads/download-software

Other Programming Languages for KidsOther Programming Languages for Kids

I’ve covered a few of the more popular programming languages and tools for kids. There are many other languages and tools that are also popular that are aimed more at kids than grownups. These include:

  • HopScotch (iOS)
  • Hackety Hack
  • Kodable (iOS)
  • Lego Mindstorm
  • RoboMind / ROBO
  • Swift Playground (Swift)
  • Tynker
  • Waterbear
  • Twine
  • Sonic Pi
  • GameMaker
  • StarLogo TNG
  • PyGame

As mentioned before, because of the power of programming, there are tools that can be used by school districts that mandate programming at the lower grade levels. As this happens, teachers will find plenty of options for languages and tools to use within the classroom!

COPPA is the Child Online Privacy and Protection Act, which impacts how you can interact with kids under the age of 13. It will be interesting to see how applications written by kids under the age of 13 who write online applications apply COPPA legislation to their own applications!

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read