Just ran across this Great blog post by DrTechniko about teaching 5-7 year olds how to program. Reminds me of teaching Geek sort algorithms very early (maybe at 3 or 4?) using colored legos, colored blocks, etc. Then we’d do different sorts: by color, by shape, etc. We’d make a game of how few you could touch to sort them and so on. I just called it a “plan” or “strategy” rather than the too big and odd “algorithm”. There are lots of opportunities to teach strategies aka algorithms using play.
Then we moved to Stagecast and then Scratch when it came out. I haven’t looked at Stagecast in a long time (10 years?), but I’d highly recommend Scratch. The only downside with Scratch is that it’s so good you might have trouble getting them to take the next step of typing in code.