The tool depends on the age. Up to ten it is
Scratch: the child assembles the program from ready-made blocks and sees the result at once. From ten to twelve, Roblox, where he builds a game and invents the rules for its players. From twelve, Python Start with real code. The format is the same throughout: online, forty lessons, each carrying on from the last.
For a child of twelve,
Python Start usually fits: typing is easier for him than dragging blocks, and the problems can be bigger. In the early lessons he writes a number-guessing game where the program narrows the range from the answers it gets, and decides for himself what it does when the player lies. Then come lists: a class timetable, a set of scores that has to be sorted.
When a project stops working, the teacher does not hand over a finished solution. The question is always the same: what is the program doing where it breaks. Teacher selection here runs in three rounds, with reassessment every quarter. For younger children the way in is Scratch, which we have
written about separately.