Children from as young as 10 years old can easily learn the priciples of programming, but they may find the process too dull.
They can get an early start on programming by playing games that have a stong programming theme, or by programming robots. Once they have the interest in programming they may want to move on to real programming.
- SpaceChem - A game about building modules to change elements, using loops, conditions and modular 'programs'. A lot more fun than it sounds!
- Human Resource Machine - Program little office workers to solve puzzles using loops and conditions.
- Factrio - Real-time strategy game about creating process flows.
- Hacknet - A fun way to learn the basics of Unix and Linux commands.
- Lego Mindstorms EV3 - Build lego rebots then program them to act intelligently on their own. (Not available in remote sessions)
Children can certainly gain many of the advantages by simply playing the games themselves, but I can add guidance, information on how the skills learnt apply to real programming, and keep the child progressing, so they don't lose interest. Also, the Lego Minstorms robot kit is expensive to purchase and I have additional sensors and parts that the base set does not include.