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?
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.