Free Programming Languages for Youth and Tweens
After your child begins reading code, the door opens for additional programming languages and environments. Even the most basic of reading skills affords your beginner coder the ability to recognize code-based tiles, as well as type a few commands in text-based languages that require use of a QWERTY keyboard.
As your young coder progresses into her tweens (pre-teen years), she can type more content to create longer programs in a text-based environment, as well as follow along with written tutorials that accompany some offerings.
Scratch is often considered the gold-standard for starter programming languages. It’s an intuitive, feature-rich, tile-based coding environment that’s perfect for learning all the basics of coding — and having fun while doing so! Code tiles show words, but a huge number of language options are available (Mandarin, French, Spanish, Hebrew, Arabic, you name it!), and you can quickly switch the language display of the interface. Scratch is a web-based program that operates in your browser, so you can use any computer to access it. There is also an offline version available. If you have a spotty Internet connection, this is a great option.
Scratch offers an intuitive interface for building all sorts of programs. Young coders enjoy the built-in backgrounds, sprites (objects), animated costumes, sound effects, and music. They also find the categories of code tiles easy-to-navigate, and playground “code-and-test” workspace welcoming and forgiving.
Scratch offers most critical command structures, including motion, loops, event handlers, math operations, logic operations, sensing, messaging, variables, and lists. The only “authentic” command it lacks is arrays, but most kids find that the list command comes close to meeting their programming needs.
There’s no error reporting in Scratch; however, young coders understand that when code tiles don’t snap together, they’re not compatible. They can observe visually whether their programs function as they intend, and then make changes instantly, if needed.
One of the most exciting features of Scratch is its extensive, online community. Kids (and coders of all ages!) build, share, and comment on projects shared online. Every member of the Scratch community can “see inside” a shared project to learn from its code, and users can remix (with attribution) any shared project.
Scratch is one of the languages used by some high schools in its AP Computer Science Principles course. It’s also the language of choice in the Introduction to Programming course for undergraduates at the University of California, Berkeley!
Hopscotch is a fun and full-featured new app development environment that’s ideal for youth and tweens. Available free for iOS device, Hopscotch uses a drag-and-drop interface that provides fabulous components including collisions, variables, and custom graphics. It also makes excellent use of mobile device sensors including the touch sensor, the microphone, and the accelerometer — features that really allow young coders to create inventive interactions that make their games pop!
Hopscotch includes both tutorial and playground modes, and young coders love sharing their creations in the moderated online community.
Kodu is a downloadable, desktop program for Windows PC devices and the Xbox. Kodu provides a simple programming environment in which kids can use either a keyboard and mouse or game controller to develop their programs.
Young coders can create elaborate 3D worlds, add characters, and then program those characters and their behaviors in the world. Kodu encourages its coders to share their creations in its online community, sparking new ideas for its audience. Parents, coding coaches, and teachers also appreciate the database of interdisciplinary curriculum materials available at the Kodu site.