Where Should a Middle Schooler Start with Coding Education?
My child has shown interest in making games, and I'm not sure what to teach them. Should we start with Python, or jump straight into making games with Unity?
When I ask around, people say, "Just getting them to have fun comes first," but for them to enjoy it, I think they need to see results quickly. I'd love to hear from parents with experience or instructors.
10 answers
Agreed, fun comes first.
Me too. Getting results quickly is really important.
Go straight to Unity. If you make games with Python, you’re stuck at the level of text in the console, and the results come too late to spark a middle schooler’s interest. C# is tough, but there are plenty of well-structured beginner “Unity 2D tutorials” on YouTube, so just following along will get you a rolling-ball game in a few days.
Is there a source?
Oh, I didn't know that.
From an instructor’s perspective, the order “Entry/Scratch → Unity” is a safe bet. But the key isn’t the tool—it’s helping them understand how games work. Once they get a feel for just four things—variables, conditionals, loops, and collision detection—switching tools afterward is quick. Also, don’t start by looking into academies; pick one YouTube course and try it together for just two weeks. If the child keeps sitting through it, that’s genuine interest; if they lose interest in three days, they were just imitating.
Exactly lol At first, just having a single rolling ball float was enough to make the kids' eyes light up
I agree that “getting them hooked first” matters, but defining fun solely by “how fast they produce results” is a bit off. My child kept going for a year because they enjoyed making pixel art of their own character more than the fun of finishing a game. If you chase only quick results, it just turns into homework and they get bored fast. Start by asking your child what they find fun about games.
My child started with Entry in 7th grade, did it for about a year, and then moved on to Unity. If you throw them into Unity from the start, they get really frustrated at concepts like variable declarations, coordinates, and the physics engine. Entry is block coding, but it’s more than enough for making “games,” so I recommend letting them build a sense of achievement with it first before switching.
Well, I’m not sure—isn’t Unity C# a bit much for a middle schooler? I’m curious whether you mean everyone around you started that way, or if that’s from your own experience. I work as an instructor, and when students start with code right away, half of them quit within a month.