5 starter tools and activities for teaching kids to code

In addition to math and science, many students are learning a new core discipline: coding.

This is uncharted territory for many teachers. So how can you get started? Our #ClasscraftChat gathered educators who shared their favorite tools, methods, and programs for teaching kids to code. You can find them below.

Our chat host was Rob Lockhart (@bobbylox), the creative director at Important Little Games, which is making a fantasy game called Codemancer that teaches kids ages 9-14 about coding.

Here are some ideas you can try in your classroom:

Programs that teach coding foundations

Kodable is designed to build computer science comprehension in elementary school students with a curriculum that transitions them from symbols into written code. It aims to build foundational skills and doesn’t require any prior programming experience from the teacher.


Lockhart advised that beginners focus more on learning the basics (such as with block-based methods like Kodable) and less on some of the bigger obstacles, such as typos and syntax errors. Block-based programming involves dragging and dropping simple puzzle blocks, which stand in for more complex constructs and commands. Another popular example is Scratch (and Scratch Junior).

Non-digital programming activities

Another way to introduce coding to your class is through non-digital programming methods that convey an understanding of how the processes work.


For example, Lockhart starts with a game where he pretends to be a robot, and students have to tell him how to make peanut butter and jelly sandwiches. This teaches the idea that programming involves a series of steps (coding) that computers follow. Videos, like this one on Brainpop, convey this idea.

Tactile, ‘hands-on’ learning tools

Younger students in particular may prefer the tactile feedback of more physical tools and programs.


The Think & Learn Code-a-pillar is great for kids who are 3-6 years old. With the toy, they can arrange the caterpillar’s segments into different combinations to send it in different directions, encouraging them to experiment, problem-solve, and think critically. Bee-Bot is a similar robot for young children that involves directional keys and commands for movement.

Physical-meets-digital coding tools

Other tools combine the best of both worlds: block-based, hands-on learning and digital-based programming.

For example, Bloxels enables kids to create their own video games using a game board, a tablet or phone camera, and a mobile app that transforms their physical block creations into pixels. They animate and configure what they built in the app, and then they can play what they’ve made.


Other options include Sphero and Lego Mindstorms, where kids get a robot that then they program with an app.

Self-paced learning and student choice

One important skills that Lockhart noted is teaching kids “systems thinking”—the ability to mentally simulate an interconnected system—apart from any specific system.

One way to do this is to pose a challenge or question to students and then ask them what platform or method they want to use to solve it. This is a great way to encourage team-building and collaboration, as well as metacognition, or getting students to reflect on what they’re doing and self-correct as they develop and execute their solution.

Codemancer Game

This kind of critical thinking and iteration is an important skill in coding and is essential for assessment. The more students take on new challenges and build their toolbox of skills and strategies, the better prepared they’ll be to make the leap into “real-world” programming later in life.

Photo credit: Syda Productions / Shutterstock.com
Classcraft logo

Make Your Classroom Fun & Engaging!

Play for free

Most popular