Regarding programming environments, I highly recommend MicroBlocks(https://microblocks.fun/). I was a big MicroPython fan before, and since switching to MicroBlocks, I've never looked back.
If your child has experience with Scratch, then MicroBlocks will make him feel very familiar.
If your child has experience with Scratch, then MicroBlocks will make him feel very familiar.