There’s a moment I keep coming back to. A student, eight years old, sitting in front of the screen with an expression I could only read as “what even is this.”
I had just explained the concept of a loop. Three times already. In three different ways. He still hadn’t “clicked.”
So I asked: “What game do you like?”
“Minecraft.”
“Okay. If you wanted to build 100 houses in Minecraft, would you build them one by one, or is there a faster way?”
Two minutes later, he understood loops.
The Problem Was Never the Kids
I’ve been teaching coding at DigiKidz long enough to draw a fairly confident conclusion: almost no kid is incapable of learning programming logic. What’s broken is the approach.
Coding curricula for kids tend to spend too much time explaining what something is, when kids respond far more to what it’s for. They don’t need a definition of a variable. They need a reason to care about it.
Once that reason exists — usually a game, an animation, something they can show a friend — the rest tends to follow on its own.
Three Things I Changed
Start from the output, not the concept. Sessions I opened with “today we’re building a character that can move” were always more productive than ones opened with “today we’re learning about conditionals.” Same concept. Different order of presentation.
Errors aren’t the enemy. This is the hardest thing to change, both in students and in parents’ expectations. A kid afraid of being wrong won’t experiment. A kid who doesn’t experiment won’t learn debugging. And debugging is 70% of what a real programmer’s job actually is.
I deliberately make mistakes in front of the class, then walk slowly through figuring out why. Not to show off. To show that not knowing the answer is a normal starting point, not a sign of failure.
Give them projects they can claim as their own. There’s a huge difference between “do this exercise” and “build something you actually want to build.” A student with their own project, however simple, comes back with much sharper questions. Because those questions come from real need, not from a worksheet.
What I Learned About Myself
Teaching changed the way I write code.
When you have to explain something to an eight-year-old, you can’t hide behind jargon. You have to genuinely understand what you’re explaining, starting from its foundation, not just how to use it. A lot of concepts I thought I understood turned out to have gaps in places I never expected.
People say the best way to learn something is to teach it. I agree. But more specifically, the best way to truly understand something is to teach it to someone who shares none of your context.
Kids are the best teachers for that. They won’t pretend to understand when they don’t.