And 20 minutes later came back with "Daddy, can you help me? This program is in a loop and it will run forever"
Flash-forward a few months and he bursts into the bathroom while I'm showering to show me the game he made in their side-scrolling platformer authoring environment: "You need to grab the jetpack, then you can fly over the wall of fire to get the coin and win."
There is a real magic, interacting with a computer like that. It had almost no functionality outside of what I could program on it. It had simple graphics, sound, and tons of hidden functionality that was just a POKE away. (For instance POKE 65495,0 would increase the clock speed).
Going from BASIC to my first "real" programing language was a mind bend. It took a lot of experimentation for me to wrap my mind around variable scoping.
https://colorcomputerarchive.com/repo/Documents/Manuals/Hard...
https://docs.google.com/document/d/18qNHqaZ9CdVwQsh4sEslf3GG...
The things my son has used or is using:
* Osmo Coding Awbie (requires Osmo hardware)
* Osmo Coding Jam (requires Osmo hardware)
* Scratch Jr. To use Scratch Jr effectively, it’s good to have a book or a guide. I chose this set of example exercises: https://www.amazon.com/dp/1593278993
* Code.org (Course A or Course C)
Like an msdos without the unrelevant parts (system files, configuration,..) with a good enough/interesting set of apps tailored for 5-10yo children
In my mind the idea makes sense at least :_D
As others said, it's harder to suggest something interesting for kids to make than to actually teach them. They want shiny things immediately, so you have to make sure that each step looks somewhat closer to the target. CGI and game development is a classic attraction that still seems to work. Don't worry about dumbing everything down too much; kids easily develop superficial understanding of what you're talking about, it comes handy later in the form of easier understanding of the details.
And keep in mind that at 9-10 (YMMV) there's a severe shift from goal-less play towards attempts to make something practical. Which can leave the kid disappointed and disinterested if something goes wrong or the goal is too ambitious.
I think I'll focus on talking through decision making logic with my kids until they can read decently and then we can try some Scratch and other simple programming concepts.
Now she's 11 I found more success doing challenging math problems with her. There's a book series called "art of problem solving" which focuses on competitive level math. I can see her eyes light up after solving a hard problem and she enjoys sharing them with her friends.