I put together a website collecting links to various programming languages/environments specifically targeting children (if anybody wants to make a prettier stylesheet for it, let me know):
Generally I'd advise starting with something interactive and fun, like eToys or Mindstorms. After that a project like Hackety Hack, Löve or Processing might be a good bridge into more "serious" programming. Some people also seem to like the HTML and JavaScript approach, because the development environment (a browser) is available virtually everywhere and it has a very short feedback cycle. I'm not too convinced of that, but YMMV.
Once your kid has the basics down, possibilities are almost endless. There's a plethora of freely available books (legally), of which I compiled a small subset here:
I'm also involved in teaching Ruby courses on RubyLearning.org, and while definitely not targeted at 10 year olds, our core Ruby course should be doable for a motivated teenager willing to learn.
Whatever you do, I think the most important thing is to focus on the fun. If kids enjoy what they do, they can learn super fast and will happily come back for more :-)
http://www.happynerds.net/
Generally I'd advise starting with something interactive and fun, like eToys or Mindstorms. After that a project like Hackety Hack, Löve or Processing might be a good bridge into more "serious" programming. Some people also seem to like the HTML and JavaScript approach, because the development environment (a browser) is available virtually everywhere and it has a very short feedback cycle. I'm not too convinced of that, but YMMV.
Once your kid has the basics down, possibilities are almost endless. There's a plethora of freely available books (legally), of which I compiled a small subset here:
http://citizen428.net/archives/434
I'm also involved in teaching Ruby courses on RubyLearning.org, and while definitely not targeted at 10 year olds, our core Ruby course should be doable for a motivated teenager willing to learn.
Whatever you do, I think the most important thing is to focus on the fun. If kids enjoy what they do, they can learn super fast and will happily come back for more :-)