For the first 6 weeks of this summer's internships, I had my intern, who had never seen .Net or C# in his life, working on various little tutorial tools. A console "kill" command for processes, an ASP.Net document share application, the data access layer for a requirements tracking system, etc.
However, I know that all CS majors want to be game developers. Hell, I did. So, last week I unveiled his final project while he's here. He and I are working on a Battleship (Milton Bradley) clone in XNA. He's been really excited, and all I've really done for him is some photoshopping of textures and little prods here and there in the right direction. I wrote the requirements for him and we sat and dissected them for an exercise in OOA&D, then off he went. The menu system is done and we're moving on to the gameplay screen now.
I'm really excited for him, because this will be something he can take back to his senior year in college and really show off. It's gotten him really excited about software development in general, but game development particularly.
Have any of you ever used game development as a teaching tool?