I have done a lot of research on introducing programming to elementary aged children, but when I received an email asking what advice I would give to a 13 year old I was a bit stumped. At 13 years old the child should be taking control of his/her education. S/he should be allowed free reign of the internet and the ability to make mistakes - that means getting involved in Maker communities, hacker communities and finding online challenges. Here is the draft advice I gave.
I want to add one more thing: Become a Mentor. Teach programming to others. (The basics of scaffolding. ) Also check out Computer Science Education Week. December 9-15 (celebrating Admiral Grace Murray Hopper) http://csedweek.org/
I wouldn't consider myself an expert in STEM education, but I am learning and trying to lead our school and the schools in our community into the future with STEM, but more specifically robotics and programming/coding. Currently I coach two teams of FLL: http://www.firstlegoleague.org/ Although a 13 year old would need to join either FTC or FRC - both with the FIRST program (http://www.usfirst.org/) and should be available at a nearby school. FIRST combines programming and engineering and teaches children real-world skills that they will encounter in the workplace; coopertition, community, public speaking, working together, working with adults, etc.
If his interest lie in programming then I would learn AND master every language I could get my hands on. My kids are young (under 12 years) and we are focusing on Scratch (developed by MIT scratch.mit.edu). But as my children get older I will introduce them to Java and C++ and possibly Python.
However, there are LOTS of other "children's" languages including Ruby, Alice, etc. You can find more on my blog.
There are also lots of challenges like the one that Google is hosting right now - Code In 2013 A similar challenge is offered for college students as well.
If technology is interesting to him then check out Raspberry Pi or Arduino. He can build the computer, then program it - all for less than $50.
Unfortunately programming means self-learning at this point. Our schools have not caught up and realized how important it is for students to learn computational thinking. But there are dozens of FREE ways to learn to program. Code.org is a big one.
Make connections and network. Hang out on G+ and join some communities like Coding for Kids, Scratch, Maker, STEM, etc. Do some research and compete in the Google Science Fair. Find a Coder Dojo near you. Ask someone who works at a technology firm to host a Coder Dojo.
There are summer camps that are pretty expensive that offer programming classes, but I don't have first hand experience with them and I am inclined to believe that making use of the free options would be just as good.
The important part is to just do it. and then do it again. Its the iterative process that will make him successful. Programming is just like any language. We don't teach our kindergarteners to learn his/her letters and declare "he can read". We keep teaching them, for years, about sentence structure, grammar, poetry, different styles of writing, etc. The same is true of programming. You become an expert and have mastery of programming after spending years doing it. Find an online community and share the code and projects.
As a mother it would be hard and scary for me to let my child loose on the internet - but that is absolutely what needs to happen so children can learn. The information is out there. Its just a matter or googling or youtubing and then practicing.
I hope this was helpful. Please feel free to follow me on G+. I post STEM related stuff daily.
P.S. Your little kids are ready to code too! Check out some of the great programming apps.
There is even a board game that teaches programming: