My favorite was teaching the level 2 course where I taught kids about making 2D sprite based games in C#. We basically give them a very simple 2D engine and then teach them all the programming and math required to move things around, detect collisions and perform general game logic. It's really fun to teach because I love programming and (almost) every kid there is very eager to learn. It's really cool to see how fast many of them pick things up simply because they're motivated and truly curious.
Oh, did I mention they do this in 2 weeks? The first week is heavy teaching and the second week they make their own games. These kids were anywhere from late middle school to high school.