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.