Hi all,
A fair while ago I asked the community here advice as my 8yo lad wanted to experiment with programming: Old Post.
Thanks so much for all the words of wisdom - there’s still stuff we can explore in the replies.
Thought I’d just give a little update.
So I installed dual boot Linux Mint / OSX on an old intel MacBook Air (dual boot in case his homework/school stuff needs it, but he hasn’t used OSX much!).
It was much easier than I thought it’d be. Perhaps it’s just the hardware/OS choice, but I don’t consider myself to be ‘properly’ technical and it was a breeze. Perhaps the only difficult part was creating a bootable OSX restore disk just in case I destroyed the OS… it’s almost like Mac really don’t want you to be doing this.
He’s working his way through foundational courses on programming, in codeacademy, and using scratch as usual. So far, so good.
Is there an IDE you’d recommend that has some element of a tutorial to it?
Neovim and language servers tbh
For IDE, VSCode is the usual recommendation. Some of the plugins really help making code readable and digestible.
Kinda a neat utility for kids. I thought it was kinda neat when I used it as a kid.
I feel a lot of advice here is trying to push the learning envelope without considering fun & the learning experience. This is for an 8 yr old, and I’m seeing suggestions that would seriously challenge high schoolers, college students, and even some software engineers in industry I’ve encountered.
For the software aspects of programming, I would suggest looking at programming(-esque) games and web browser programming environments. Here’s a solid short list, vaguely sorted from “proramming-esque” to “actual programming”:
- https://upperstory.com/turingtumble/ - A physical algorithmic marble and lever puzzle “board game”. Great (and designed for?) for kids. Not programming.
- Factorio - A factory-building game that “feels” a lot like software development. Not programming.
- Opus Magnum - mechanical puzzle game by Zachtronics, build algorithmic “molecule-building machines”. Not programming.
- <Any other game by Zachtronics> - varies from “not-programming” to “contains programming”. Can get pretty difficult sometimes.
- Human Resource Machine - Programming puzzle game using assembly-like language. Later stages are challenging.
- 7 Billion Humans - “sequel” to Human Resource Machine, more featureful language, has concurrency and randomness. Later stages are challenging.
- https://www.hedycode.com/ - An innovative learning programming lang and “levels” method that makes Scratch primitive by comparison. Has free online lesson plan & environment. Hedy level 18 is vanilla Python.
- https://www.codecademy.com/ - you said you’re using this already
Suggestions to go physical tinkering with electronics is good, but I’m unable to make good suggestions there.
A real computer and coding environment/shell could be good for system admin skills, but the learning curve is steep. You’ll also have to be okay with letting him accidentally brick the computer (best way to learn!).
Amazing thanks so much. Yes, structured ‘play’ might be just what he’s after. He can then tinker in an IDE - I did wonder if anyone had built one for kids specifically.
I can teach him a bit of CLI / Shell and I’m ok if he bricks the computer, hence the choice of OS. Super easy for me to nuke and start again.
I’ll be checking these out.
Assuming your 8 year old wants to write a game (who doesn’t?!), I recommend grabbing a free copy of Pyxel.
Pyxel games are coded in Python, and has opinionated libraries for building games. It comes with a built-in sprite editor, map editor, and music editor.
The Pyxel tutorial ecosystem isn’t as mature as Scratch, or Microsoft’s Code.org, but it’s a strong next step for a kid who wants a bit more power from their code.
You can also host the games your 8 year old ceates on a static website, or in other easy sharing forms, if you’re so inclined.
The only thing Pyxel doesn’t include is a code editor. I heartily endorse the previous recommendations for VSCode or VSCodium.
While I’m a die-hard fan of Codium, doing the extra work to find plugins outside the Microsoft ecosystem, or point Codium into the Microsoft plugin ecosystem, probably isn’t the best use of your or your 8 year old’s time. But if you’re particularly privacy minded, you can easily use the Microsoft plugin ecosystem within Codium, by searching the Codium wiki pages for the two files that need modified.
I would definitely encourage finding and using the Microsoft published VSCode/VSCodium Python plugin pack, to support your 8 year old’s learning journey, if you go this route.