I ran across Scratch in a PC World article a while back. It’s a free download from MIT, and is primarily a drag and drop programming environment. You can do if/then, loops, and it also supports sprites for animation. There are a bunch (thousands) of projects you can download to ‘see how they did it’, including one that has a car on a race track that drifts around corners. I gave it a try and parts of it are just elegant, parts of it I found mildly confusing (no longer a child perhaps?). Not sure what the right age is for this, my guess would be 8-10, old enough to understand some logic. In my experience people either get programming logic or they don’t, so it makes me wonder how early we can figure that out. Probably we can’t decide at age 10 who will be a programmer, but the sooner we identify aptitude and interest, might make a lot of difference in where they go in life.
As I think about it, I haven’t looked, but I don’t think we have something similar for databases, and that could be really interesting. Just like code, most people either get data or they don’t, but having a database that was approachable by a child might open some doors. Sounds like a fun project, but I imagine not an easy one.