Adding discussion to another forum.
How much programming do you know yourself? How interested are you in programming yourself? What is the child interested in? Do you have devices like Raspberry Pis or similar already? You should be able to run most programming language on most PCs, except that my latest C book purchase says that there isn't a good range of C compilers for Windows®.
There is also the Lego First Robotics league. Many schools and organizations (scouts, YMCA) have teams. you build and program robots to complete tasks. In the middle school level, the use the Lego Mindstorms system.
There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
I've also recently started teaching my kids basics of coding and recommend all of the resources listed above.
My recommendations for books include:
"Computational Fairy Tales" by Jeremy Kubica - This is a book that explains problem solving using algorithms and data structures in a way that is easy for kids to understand.
Hello Ruby series - Educational story and activities to learn coding.
The other activity that we are doing is using CodeMonkey to learn basics of game programming.
I taught my kids programming the same way I learned in college, the teacher makes the appropriate framework for the student to do their work and studies in, then give them an assignment that is age appropriate and child interest specific. then have a discussion on the part you want them to fill in or what you want to do that is learning specific for their level. May kids will NOT pick up a book and read it, especially a technical manual on how to program or on Java or any other language.
the first things I did with them was just make bounding balls. I made a graphics engine that you would drop a graphics object into a specific folder and it would instantiate the object in the running instance and the child could see their object bounding around the screen. They were younger than 12, but that is the first step in understanding objects and creation of dependent object to interact in a known environment. they loved it.
I had them make their favorite color geometric object, shape, as supported by Java and I'd drop it in, then have them make changes like color, shape, or movement and they could see it change on the screen and see the multiple object interact. I would then ask them what they thought and we would go from there, often it became the child telling me where they wanted to go for many lessons. I was happy to do so, because they were engaged and they were getting hands on.
One thing in this to remember: if it's not fun, then a kid will just drop it. There is no carrot at the end of the stick trying to get them to understand college prep, college study, problem solving, or a future career. it has to be fun and they must want to do it, so keep them engaged by letting them help design, tell you, what they want to do. do not fall into the trap of saying: "here is the Java tutorial..." that is a sure way of getting a kid to find other interestes.
Out on HF and heard nobody, but didn't call CQ? Nobody heard you either. 73 de N7GH
"think twice, code once" as they say. I would encourage to create a process that helps your child to first become a better thinker and in turn to be a better coder. Developing his/her ability to be a good thinker and creating the enthusiasm to code the process/program that your Child thought of would go a long way I believe.
Have you taught your child the usage of flowcharts as a simple method to visualize the input and output of code. There are a multitude of online flowcharting software programs that allow you to quickly and easily visualize your programs. These come with built in shapes that demonstrate areas in coding such as input, output, connectors, decision, terminal and so forth. Have your child give it a try.
The practice of effectively planning and detailing out a process before development allows for more robust programs. Flowcharting is key to developing a broader way of thinking, and it allows you to account for more of the “big picture” stuff.
Somebody has pointed out that you might have connections with some of those products you are suggesting. It would be dishonest of anybody to do that without mentioning that it is their own product or that they work with its supplier.
This one time, at bandcamp, I had relations with a tiny ad.