My son William has been playing with Scratch, a programming language that lets the user move objects around on the screen and interact with the user. People have even cloned Donkey Kong and Duck Hunt with it -- it's that powerful a tool. Even if you're not a beginner, check it out...it will make programming fun again as it's extremely easy to use and you don't have to worry about syntax errors or the like. If you ever played with Logo, you'll know what I mean.