This is coming from a 17 year old.
I second the dude who mentioned Mindstorms- my dad brought home a book on robotics when I was 12 or 13 years old. I was so intrigued that a few months later I got the Lego Mindstorms 2.0 building set for Christmas. When I got some experience, we joined a FIRST Lego League team. I stayed on the team until I was too old for the competition- but it was a lot of fun. The programming environment for the RCX was this wierd, but kid-friendly visual drag-and-drop environment, and it was pretty much the same for the ROBOLAB stuff. You could define custom "blocks" as you progressed, and there were even third-party firmwares (NQC, Not Quite C). The NXT, the next-gen Mindstorms, is even better- the programming hasn't changed much, but the hardware in the $250 kit is superior.
Robotics is how I got into coding stuff, and I think it was because I could see my programming at work- much easier than on a computer. Right now I build webpages for a summer job, and I had much more fun messing around with that kit. But it's taught me how to think like a programmer.
So, give your kid a sandbox to play in. Be sure you give him tools and toys that aren't easy to break, or hard to assemble. Let him go at it. And give him some challegnes- once he knows the ropes, have him make his creation do something specific, with progressing complexity. In the competitions we had certain "tasks" we had to do within the 2.5 minute time frame of the match. But of course help him when he gets stuck- complexity and frustration early on will make anyone want to quit, especially when they could be watching TV or playing Guitar Hero ...but the latter is an excellent alternative.