What’s the best way to teach my kid programming. I don’t know how. He’s interested. He’s done well in school with Scratch. He’s expressed interest in Python, owns a Thumby, but never gets too far on his own. Instead of a Winter sport, we’re leaning towards a Python class, however there’s none in person. How can i help my kid embrace his passion and learn this skill which will help him his whole life.
He’s got Mu installed and has perused youtube tutorials, but they dont hold his interest. Any help is appreciated. Edit: He’s 10.
I think the biggest thing is, instead of learning for learning’s sake, they should decide on a simple project they want to make (choose your own adventure games would likely be a good choice) and then just learn enough to make a bare-bones version of that.
Like, I would recommend learning basic string handling, input, print, and maybe variables if you want to track Strength or HasWeapon or things like that. Then, once they’re familiar with that, they can add features by learning more about the language as necessary.
Even for me, a 30-something, watching YT tutorials is boring if it’s not specifically addressing a problem in facing on a project I care about.
Python is a great first language. Websites can be a lot of fun, because all you really need is an html file for your browser to read. It gets arbitrarily complex but is simple at first, to do layouts and styles. I used to make little text adventure games as a kid, “go left” “attack monster” kinda stuff with hit points and a town
https://www.khanacademy.org/computing/computer-programming is an epic free resource / course, with interactivity. Not for Python specifically, but for coding fundamentals, and includes little interactive stuff
Brilliant is also quite successful, and they are really trying to keep it simple, with visual coding
Overall, I’m not too sure what a 10 year old can absorb, but probably more than expected
Seconding the linked Khan Academy course, i taught a class for a few years that followed those lessons. The lessons are a little outdated, but they’re perfectly suitable for learning fundamental JS syntax.
The visual aspect, imo, is super helpful when first learning. Being able to see the results of your code makes understanding what’s happening way easier. Additionally, those lessons provide hints and friendly reminders to help with syntax errors.
Those lessons in particular use a JS library called P5.js if you want to play around with it outside of the Khan Academy environment. More than enough for making a simple game, and the documentation is pretty great too.
https://www.hedycode.com/ might be exactly what you are looking for. It’s designed to teach python to children by starting with a super simplified version of the language, and then gradually adding in syntax and features until it’s full python. Here’s a great talk by its creator: https://youtu.be/fmF7HpU_-9k?si=pa7jkOELQ5X7xeuu
If you can find a local team, Lego robotics competitions are a great thing: https://www.firstinspires.org/robotics/fll/game-and-season
My local team codes in Python. Not necessarily the greatest thing for learning to code properly, but the engineering experience is invaluable IMO.
In a similar vein, if there are no local teams near you, getting some sort of microcontroller that runs micropython could be fun too. I’m a big fan of microbit for younger kids, lots of options for lights and sounds, with a few pins for adding sensors/buttons etc.
A former professor of mine is developing a game called “Joy of programming”. It’s basically a UE5 simulation that has some scenarios that you need to solve by writing python. It’ll be part of the upcoming steam next fest in october, so you can give it a shot there.
A 10 year old won’t be able to do it alone, but I think the first few levels are great with a bit of supervision.
Ya this is like doing a science fair project with your kid to help them understand the scientific method. It’s a good way to get them motivated to learn since a lot of being educated is really how to teach yourself
Harvard has its CS50 lectures online for free. Can’t hurt.
I don’t have anything to add, but I’ve got to say thanks for posting this. There’s so much good info in this thread and I can’t wait to dig into it with my kids. Cheers everyone
I can find no use for the turtle module, but it might be mighty interesting for a younger mind.
If he likes games, check out “Invent Your Own Computer Games with Python”: https://inventwithpython.com/invent4thed/