There are coding camps, programs and lesson plans for children as young as six years old. But how can kids learn to code before they learn to write?
Visual programming is a way for kids to graphically write code, usually with drag-and-drop “building blocks.” The focus is on overall structure, methods and programmatic thinking instead of specific rules.
For example, the loop below is shown in both graphical code and regular Python. The fundamentals remain the same, but the visual version is similar to a puzzle. The pre-made pieces can be modified but need to be moved into place.
This starting point makes it easier for young and beginner programmers to build algorithms that would otherwise seem hidden behind text.
Versions of these kinds of languages are often bright and colorful to help engage children. Also, the pre-made blocks mean that kids don’t have to worry about typing, spelling or syntax errors.
Visual programming also helps tap into a different kind of learning than traditional text does. An experiment comparing the efficacy of using visual and verbal cues to teach science found that “creating a visual explanation was superior and benefitted participants of both high and low spatial ability.”
Age-by-Age Guide to Coding With Visual Languages
There are programming and algorithm curriculum guidelines for students throughout the K–12 range, compiled by the K–12 Computer Science Standards from the Computer Science Teachers Association (CSTA) (PDF, 346 KB). Graphical programming can facilitate these learning goals at every stage.
What Visual Programming Languages and Editors Are Available for Kids?
From The Scratch Foundation and MIT
A free coding community and visual coding interface for kids to create digital stories, games and animations. Primarily meant for kids ages six to 18, Scratch is available in more than 70 languages and does not require an internet connection. ScratchJr is for children younger than seven years old.
From Google developers
From The Pencil Code Foundation
A programming site and code editor that uses visual programming to draw art, make games and play music. This editor primarily imitates the CoffeeScript language.
From Carnegie Mellon University
A free visual programming software with an accompanying library of how-tos, lessons, exercises, projects, textbooks and curriculums. Alice also has an audio library available for users to code things such as music videos.
What Resources Are Available to Teach Children Visual Programming?
There are games, apps and lesson planning services available to help teach visual programming languages. Browse some of the options below to find kid-friendly options.
Blockly Games: A series of educational games that get progressively more complex using Blockly programming.
CodaKid: A set of coding courses with hundreds of challenges centered around video and gamification using games like Minecraft.
Google CS First: One-hour lessons using Scratch to build stories and games or to augment existing coding curricula.
Daisy the Dinosaur: Available for iPad, a drag and drop interface application for children to animate a dinosaur using code blocks.
Game Builder Garage: Available on the Nintendo Switch, step-by-step lessons on the foundations of game design and visual programming.
iRobot Coding App: An app that allows students to program physical responses from the accompanying robot, progressing from graphical to text coding.
micro:bit: A miniature computer that connects to the Microsoft MakeCode platform to animate the display, code rhythm or make a compass.
ITCH Lessons: Coding courses and a lesson building platform for educators using Scratch.
SAM Labs: Wireless blocks and coding platform featuring lesson plans and dedicated educator support.
Kai’s Clan: A toolset compatible with Blockly and micro:bit that allows users to collaboratively code their robots.
GameSalad: A professional visual programming platform that allows users to create games from scratch and share them with the community.
LearnToMod: Minecraft modification software where users can learn how to create their own mods, texture packs and schematics for the Minecraft community.