What is the best way to introduce coding for kids without making them feel like they are in school?
Posted by Dull_Noise_8952@reddit | learnprogramming | View on Reddit | 74 comments
This isn’t for me but for my nephew who's 9. He's super into video games and building stuff in minecraft which is cool but His mom asked me to help him learn some coding basics since i'm a developer, but the problem is every time i try to explain variables or loops he just glazes over.
I'm probably approaching it wrong, maybe too technical? Wondering if there's a way to make it more game-like or hands-on so it doesn't feel like homework. He's smart but has zero patience for traditional learning formats. Does anyone here teach kids to code or remember what actually worked when you were learning young? Looking for practical suggestions that won't bore him to death in five minutes.
efine6785@reddit
My son is 10, and I’ve learned the hard way that if I start explaining things, I lose him almost immediately. I’ve found that more hands-on approaches make a big difference, where he’s actually building, moving pieces around, and seeing what happens, so it feels more like something he’s doing for fun. This is how we ended up with Kai's Education. It’s set up in a way where they’re not just sitting and listening, they’re interacting with it and figuring things out as they go. It doesn’t feel like a lesson, which is huge for my son because he has ADHD.
NicholasOfMyra315@reddit
Academic_BHEDAGHAT@reddit
To be honest, the simplest way to teach children to code is to make it seem more like play than a class. Schools like Orchids the International and Ryan emphasize practical projects. where children construct simple games. So coding comes easily and naturally to those who are curious.
LongjumpingFarm3449@reddit
Scratch, Scratch AI version, MLFK, Teachable Machine
Metalian0@reddit
Yeah, it probably just feels like school to him, which is pretty normal at 9. I’m a high school student and I’ve tutored younger kids in coding, and I’ve seen a lot of kids lose interest right when things turn into explanations instead of trying stuff. A pattern I notice a lot is that they’re fine struggling as long as they feel like they’re actually making something, but get frustrated fast when they don’t know what to do next. Is he getting stuck more on what to make or on how to make things work once he starts? If you want, I can also share something a friend and I have been working on in our free time that’s meant to keep it hands-on.
Alternative_Bit_5714@reddit
My son has really liked the Play Piper Computer Kit for this exact reason. It never felt like school to him because it starts with building the computer and then the Minecraft style coding missions show up when he turns it on. He loves hooking up the wires, buttons, and sensors and then seeing them work inside the game. It’s been a really well done coding experience for him.
jess_lov@reddit
Some families pull right away because things just aren’t working, and others wait it out so the transition feels calmer. It really comes down to how your kids are doing day to day. If they’re stressed or miserable, it can be a huge relief to start fresh now. If things are fine enough and you just want a cleaner break, finishing the year can make planning easier. Trust your gut. You’ll know which choice gives everyone the most breathing room.
Successful_Tart7402@reddit
Since kids have shorter attention spans, they often struggle to understand 'why' they're doing what they are doing. Coding can only make sense to them if they see their effort on the screen. Obviously, coding a game is much more fun than any other project (it stands true for us, adults, too), so start with that.
Here are some tips that can help:
1) Use outcome-based language, not concept-based
Instead of explaining “loops,” go with:
“Let’s make this character move forever.”
2) Learn your nephew's interests and tie everything to what he enjoys
Since he likes Minecraft, he can try developing his own 'Minecraft-like' game on a platform like Scratch or Avishkaar Maker Studio. Both platforms allow creators to use block coding, which makes the whole coding process easy and engaging for kids.
As someone from a non-tech background who's interested in game dev, block-based coding has been a lifesaver. I can't describe it in words.
3) Most importantly, try keeping the sessions short. Maybe even try the Pavlov method and take his coding 'classes' at a pastry or an ice-cream shop. So whenever he thinks about coding, he only thinks of a positive experience.
Any_Aspect444@reddit
Try AIbert X, I suggest my students in school to use it at home (because it feels very fun). This platform has cheat-free ai tutor who guides, engaging exercises, projects to practice ai and coding. And it's very easy to get started.
BuddyOrnery294@reddit
You should give JetLearn a try. Their teachers are highly engaging, and they are top-rated in the world for this reason. Kids have loads of fun and they get ready for the future while having fun in the class building amazing projects. They have a free trial class.
No_Record_60@reddit
What kind of video games does he play? If it's complex enough, leave him be. The video games might be training his logical and optimization skills better than any coding class.
drewkiimon@reddit
I didn't find this by myself, but looks like there's Code.org / Minecraft thing y'all can do.
https://code.org/id/hour-of-code/minecraft
shinyspoonwaffle@reddit
they had us learn code.org back in elementary school! No one understood a thing lol! but that's back when had everyone learn javascript long long ago i dont think the minecraft/pvz lessons were a thing yet
hardolaf@reddit
You made me feel old. By the time code.org came out, I was starting my second year of my electrical engineering program.
shinyspoonwaffle@reddit
ahaha thats my bad! Although I was talking to my nephew yesterday who was born after covid!!!
peterlinddk@reddit
Is it available in other languages? Say English? I don't understand a word of what is on that site ...
TheHighDruid@reddit
Just change the site language to English, there's a drop down selector at the bottom of the page.
peterlinddk@reddit
Ah! At the bottom!
Thank you - I was pressing every single option at the top, thinking that some of them meant "language". Never occured to me to actually scroll all the way down :) Feeling a bit stupid now ...
drewkiimon@reddit
You can translate it via Chrome. I also don't understand any of it.
flowlab@reddit
https://flowlab.io might be a good fit for him?
Rikirie@reddit
Don't explain why something is useful. Let them discover it.
Factorio is great for this. You want to build things but man does it suck having to manually mine, process, place and refuel. If only there was a better way -> introduce loops.
whooyeah@reddit
Tynker.com worked for my kids
SamuraiGoblin@reddit
There's a game called Colobots, where you have to program robots to perform some tasks. It's quite old, so not sure how available or compatible it is, but I think it is a really fun way to learn the basics of programming.
Might be worth investigating.
Hot-Significance2854@reddit
Scratch.
my brother is 10 and has made 100+ games using scratch.
he is a self taught dev. just watches tons of tutorials on scratch and earned scratcher kinda tag too.
he has build cool stuff and tries to make logic on his own
givemejumpjets@reddit
Candy rewards, obviously.
Human-Platypus6227@reddit
Did you let him code at least, I don't like reading docs when i don't need it, only read them when i need them. Doing stuff is more engaging than reading stuff imo
Grondd@reddit
Liking Minecraft is no indication he will ever take to programming. He is 9……. does mom want him to start training “the basics on olympic weightlifting” too? It’s an odd question. Why not just get more adept at reading, writing, navigating non-Mojang parts of the computer interface? There’s no way he even knows what the tilde key is called or how to spell it.
But to attempt an answer… I would start with verbal, written and flash cardy logical exercises, structured loosely like C or Assembly. Ask him: “Hey kiddo, if X, then..?” or have him ‘store’ X information on flash card #1, and then later reference it with flash card #2. Make it physical, interactive, and rewarding… (maybe with snacks). Anyway, just hoping you let the kid be a kid and come to things naturally! Good luck.
MCplayer331@reddit
Learning about other aspects of navigating a computer interface and related concepts is going to be much more important in the long run than learning programming at his age
ButchersBoy@reddit
I started when I was 9 and was fascinated so not necessarily true.
MCplayer331@reddit
I started programming when I was 8 because I was so deeply interested in that shit. Of course there’s no universal answer. Although OP is asking for help about him and his cousin who is 9 and clearly not the most into computer related concepts so
HuckleberryNo9234@reddit
I mean to be fair I was making mods and using command blocks in Minecraft when I was 9 and 10, you do have a point but maybe it really does interest the kid
DecisionOk5750@reddit
I encouraged my nephew to replicate Flappybird with Godot Engine. He did it, following tutorials on youtube.
MasalaMala0@reddit
So he didn't actually do it. Following tutorial videos that tell you exactly what to put in the editor keystroke for keystroke isn't creating anything. Idk why anyone would think it's impressive or an accomplishment, like congrats you typed the keys that you were told to type, whoopdeedoo? There's zero thought or problem solving involved in that.
If he did it again without tutorials and just used documentation that would actually be impressive
Techno-Pineapple@reddit
Yikes… we talking about kids who can’t even stop eating boogers at your suggestion. The kid is far better off for having done this. They have a taste of accomplishment and what is possible. Not sure who what in your sandwich…
MasalaMala0@reddit
But it's a false taste of accomplishment, because they didn't actually accomplish something. If anything it hurts them because now they have this false sense of "I can code!" and when it comes time to actually code they'll fall flat on their face and fail. Is that false sense of accomplishment really worth the disappointment they'll have to face later because of it? I don't see how the kid is any better off just because he watched a youtube video where someone told him exactly what to type that he remembers none of
ExtraTNT@reddit
Logic gates in minecraft into a cpu… this is how i started, back when minecraft introduced redstone…
osotramposo@reddit
https://blockly.games/
Start with the mazes
ruat_caelum@reddit
7 Billion Humans : https://store.steampowered.com/app/792100/7_Billion_Humans/
Later : Shenzen IO : https://store.steampowered.com/app/504210/SHENZHEN_IO/
arayakim@reddit
Definitely Scratch.
GWJShearer@reddit
It is very possible that the Nephew simply does NOT want to learn how to “build” a game, he just want to play it.
Over the years I have learned 4 or 5 “formal” programming languages, and 2 or 3 scripting ones.
I ended up teaching Computer Science at a University. And some folks even said I was pretty good at it.
My niece is very smart and did have an interest. But trying to teach her the basics fell flat immediately.
The famous aphorism is correct:
“You can lead a horse to water, but you can’t make it learn programming.”
Techno-Pineapple@reddit
To be fair though. Nothing in your spiel gave me any amount of confidence you could teach a young child. The learning journey is apples and oranges to a uni student. If your kid curriculum involved you talking at them… that would fail every time. Kids need easy, interactive, visual and fun introductions to concepts. Blockly, scratch, kodable etc
GWJShearer@reddit
That's a great point, and often people do try to teach this person with the techniques that are best suited for that person.
(I didn't think to add that, in a previous life, I was state-certified to teach Elementary-aged children. (I then moved to Middle School, then High School, before finally settling on teaching University students.)
But, an excellent point, none-the-less!
Kyrlen@reddit
Our local library teaches coding using a little programmable star wars robot to start. They use scratch to program it and the kids gradually move toward more advanced scratch project programs we offer if the robot catches their interest.
I think Disney still sells the BB8 version. The R2D2 version might be gone. I'm sure there are non-disney options out there somewhere.
kschang@reddit
Rabbid's Coding is probably too simple then. Worth a try though.
Maybe AlgoBot? Scratch language?
preci0ustaters@reddit
Maybe see if Factorio is his thing? A factory automation game that includes circuitry, networks, and logic. And if he does want to get into coding, Factorio uses Lua and has a well documented API he could play with.
pat_trick@reddit
Make it a project. There has to be an end goal to build towards, or else the whole thing has no point.
PearAble1421@reddit
You can try https://codesync.club/lessons, a free app, where kids can learn to code in HTML, CSS & JavaScript by building real apps, websites, infographics & games through 15-minute interactive AI teachers. The courses include an in-built code editor that allows students to practice coding in their browser.
SaunaApprentice@reddit
I don’t know, make them addicted to video games then teach them how to hack, cheat and bot in them
shinyspoonwaffle@reddit
lol!
DigThatData@reddit
introduce him to a zacklike game like infinifactory
Johnlg91@reddit
He's 9, he won't have patience for any learning. Try to research on how to educate young people, their brains work very differently from you and they don't have the same "context" in life and growing up that you have.
The only things I can think of right now is to make it more visual and physical, maybe something like this.
Play with an Arduino robot, or have a pre made game and ask him "do you want the character to fly now?" and start explaining from there.
TheHighDruid@reddit
Don't be so sure, my 9 year old nephew figured out minecraft scripts for quickly building walls so he didn't have to place every block himself. The trick is not to present them with learning for the sake of learning, but rather something they can see as useful.
arsis_qp@reddit
Scratch?
shinyspoonwaffle@reddit
i second this! I enjoyed scratch so much i became a pro at like 12 years old lol! but this was over a decade ago
wether its making games or making animation, so long as you enjoy it you attitude towards programming becomes positive :)
BruteCarnival@reddit
I learnt scratch early on and had a lot of fun with it!
josephjnk@reddit
Liking Minecraft doesn’t imply a future or interest in coding any more than it implies an interest in sculpture. There’s a dozen ways to play the game. Do you or his mom know whether he’s interested in the technical, the adventure, or the artistic aspects of it? Is the game something he does with friends? What’s his motivation to engage with it?
TBH I think 9 is too young for a kid to start feeling pressure to job prep. Exposing him to Scratch can’t hurt, but if he doesn’t take to it then I would discourage trying to force him to sit through it. Maybe get him some legos or keva planks if you want him to build something away from the computer.
Normal_Hi@reddit
Firstly, show the results themselves. Build an easy program by yourself and introduce it, but not with the technic side, rather than the result. If he's nine, he will be very impressed. I'm on a programming course with kids that learn Scratch, and they were really amazed with my work on Python. By the way, you can try to teach him Scratch. It's a nice and easy program for children.
NeedleworkerFew5205@reddit
BBC micro:bit with Makecode or micropython is an EXCELLENT environment for kids...so many kid projects. Greatest bang for buck for students. Also has student and school discounts everywhere.
desrtfx@reddit
Scratch is a graphical programming language/environment created by the MIT targeted at exactly that age group.
Scratch Playground is an excellent and free to read learning resource for that age.
DigitalJedi850@reddit
Let me introduce you to the 'Multi User Dungeon', good sir. MUDlet is a good place to start. A game genre dating to the 70s, still in play, that all but requires you to 'code' ( to what degree, is your choice ) in order to excel. I've been playing the same one for 20 years, have rewritten the code about 80 times now ( various reasons ), and I keep coming back to do it again. It's how I got started.
AnswerInHuman@reddit
I think first you gotta figure out what “likes to build stuff in Minecraft” actually is. Kids like to game for a number of reasons and that game has many mechanics. Does he like to build structures, gather and craft items to make better items, exploring around in a survival game combat… Maybe he likes the idea of mods… The social/pop culture aspect of the game? Figuring out what it is he actually likes would likely show his real aptitude and can help you figure out actually get his attention.
If you just want to teach “coding” principles to a 9 year old the best bet are probably puzzle or strategy games that they find engaging. It teaches them the basics of problem solving and following procedures. I think of games like Portal, Zelda, Tomb Raider, Uncharted… Games where you do You do A and B to then be able to do C. Actual coding, might as well be teaching him French or Chinese. If he’s not into language, it’s kinda school-like.
Remember what we do is solve problems by writing repeatable procedures. What motivates us to actually code? Somebody with money will pay us to solve their problems, while maybe personal problems motivate us for personal projects.
What motivates a 9 year old, or what personal problems could they solve through coding? If you can figure that out, you may have a better chance to get his attention earlier to more “practical” applications.
Achereto@reddit
I can't give you the "best way", but a fun way is code combat.
theredvip3r@reddit
Maybe within Minecraft itself like computercraft and other mods if he shows interest?
Komiksti@reddit
If he likes Minecraft then surely some redstone creations are a great place to start? Then command blocks as he progresses.
WorkingTheMadses@reddit
PuzzleScript, Scratch and Hopscotch. Try them out.
mjmvideos@reddit
Find a game that sneaks in programming concepts. Back in the 1990’s there was a game called The Lost Mind of Dr. Brain. That had some levels where you had to create some code to control a robot. As the levels increased the code size restrictions got tighter forcing you to create reusable subroutines. My daughter loved it.
peterlinddk@reddit
The traditional learning format sucks! There's no nice way of saying this, but learning about variables, data types, control structures, etc. is BOOORIIING! (said in my best impersonation of a 9 year old)
We all know that it is important to understand - but it isn't what programming is about, or why we are excited about programming! Most of us don't really care what a variable really is, we just use them because we have to!
Try to turn it around, and be more project oriented - find out what he would like to build, help him scale it down to the absolute minimum, e.g. just moving a figure from side to side on the screen. Help him build it, and don't worry about skipping important parts, like you can easily "skip" variables, and just read the keyboard directly, and change the 'x' and 'y' of a character. Help him understand, and only introduce theory AFTER having built something with it.
I know it sounds counter to everything we have learned as developers, but out education was (and still is) built upon our understanding of advanced maths, and how to apply that understanding to programming. And we all found that boring as hell :)
https://scratch.mit.edu/ is a very good starting point, as it allows anyone to experiment and build stuff, without first having to understand all the fundamentals. If neither of you have seen it before, take a look at some of the example projects, to get an idea what can be built with it.
If he really takes to scratch, and would like to continue to a "real programming language" I'd recommend translating some of his own scratch-games to Python (with a graphical library like PyGame) or JavaScript - especially in the latter, you can translate scratch-blocks directly to event-handling functions, so it should be "fairly straightforward".
mxldevs@reddit
Game engines like RPG Maker, where you're directly using and storing data to get stuff done.
And they get to make a game.
me-nkr@reddit
Instant feedbacks are gonna help you. I believe they can recognise patterns super quick, give them games where they have to use logic to complete the level, and move the gameplay to abstract levels. Also if just give them a chance to play CTFs, little bro's gonna love it.
TheKingE4N@reddit
A good way we do it is by using Minecraft for education. Works a treat for the IT classes we have. But ofcourse it requires a license so may not be overly suitable for OPs needs. Another good choice is scratch or microbit etc. A block code builder makes it simple to get into it for kids.
I have also found giving them a clear goal and letting them go can also work. Kids (usually) enjoy projects or knowing there will be a benefit or result to their work. We have taught kids by getting them to program rock paper scissors using python.
Alot of the issue is motivation I find, so if you can find what makes the kid eager, use it!
This_Minimum3579@reddit
9 is tough because their attention span is basically nonexistent, I'd say keep sessions super short like 15-20 min max and let him pick what he wants to build, don't worry about teaching proper concepts yet just let him experiment
Dull_Noise_8952@reddit (OP)
This is true, my cousin's kid was the same way until they got him into codeyoung with a 1 on 1 teacher, turns out he just needed someone who could explain things at his pace instead of following some rigid curriculum, now he's actually building small games and doesnt even realize hes learning lol
Beautiful_Papaya_007@reddit
Have you tried making something he actually wants together? like if he's into minecraft maybe help him make a simple mod or texture pack that he might like? Kids learn better when there's a goal they care about
Maleficent_Mine_6741@reddit
In my opinion, I think that scratch is probably your best bet, it's mostly visual so he can see things happening immediately and it's literally designed for kids, way less intimidating than actual code syntax