RoboZZle bills itself as “a social puzzle game” but to me is is a fun and interesting way to introduce programming concepts. Yes it is a puzzle. The social aspect is that members of the community can create their own games. There are a series of tutorial puzzles to start things off. One of the things you will find is that the tutorials introduce recursion (without bringing up the term to scare people) very early in the process. I have to say that makes it a particularly interesting teaching tool for me.
Check it out at http://www.robozzle.com I think you’ll find it fun. And perhaps it is a game to get young people interested in programming.
The description of RoboZZle from the Coding 4 Fun blog is:
Robozzle is a Silverlight game that helps teach players the art of programming logic through a series of fun and challenging community-created puzzles. What's more, the game is "community sourced" meaning not only can you contribute new levels - but actually help expand the game and shape it's future.
There is a community around a part of the server-side RoboZZle code at Codeplex if you are looking for a projet like this to get involved with.