I was once in a similar position. I was a pre-teen who was eager to learn about programming and I was exhilarated by watching a computer execute commands as I instructed. I wasn't interested in web development, rather I was initially interested in quite the opposite: hacking/exploiting. Nonetheless, I believe my experience with learning to program will be relevant. I believe the key to teaching a youth how to program is encouragement. This is something I wish I would have had more of. My parents are not exactly tech-savvy nor is anyone in my family, and because of that, I did not receive a lot of encouragement or support in learning/honing my programming skills. You have taken the right step by asking others for their thoughts and that shows you are supportive of his interests. The best advice I can give to the parent/guardian/mentor of a child who's interested in programming is simple: do not let them become discouraged or overwhelmed. A child can easily feel discouraged or overwhelmed when working on a large problem. It is your job to make sure that doesn't happen. As for how you can encourage him, that's a little more complicated. Every child is different. My parents started being supportive and encouraging when I was in my final years of high school. I found the most encouragement when they would come into my room, sit down with me, ask about what I was working on, listen to me explain it in detail, watch me run it for them, and appear to be interested. Today I no longer believe my parents harbored much interest in my explanations or details, but at the time I was convinced they did and it helped me feel satisfied and accomplished with my work. Take the time to sit down with him, look at what he has built, discuss it with him, ask questions, and seem enthused. It will make him feel special and it will provide positive reinforcement. You may not be able to offer him help or show him how to do something, but your interest will give him the fuel he needs to find the solution for himself. One of the best ways to learn programming is to find a difficult goal and make that a focal point of development. In my case, I focused on one particular goal when I was 16. I was focused on developing a program to exploit a very popular android/iphone game at that time. I became fixated on that goal and worked toward it for months. Finally I was able to build an application for it and then my goal became more broad. After I reached that goal, I then worked towards expanding the program and adding more features to it. Over the next year and a half, I made multiple programs which accomplished that goal and housed features I never once thought I could achieve. I will say, my motivation to expand further was money. I created an online business that sold the game-exploit software I wrote. However, his motivation can be anything. It does not have to be money or selling what he creates. He can simply find motivation in the satisfaction of achieving an end goal. It does not matter what motivates him, what matters is that he is motivated. ---------- Here are some of the best resources I have found for learning to program: 1. YouTube: This may seem like a poor suggestion, but let me explain. Search for "<Whatever language he wants to learn> tutorial" and choose a playlist. There are many great tutorials for a lot of languages on YouTube ranging from beginner to advanced. 2. Khan Academy: I did not find this until a year ago, but Khan Academy has a free programming course. I skimmed through the course and it does seem to be a very good course for a beginner programmer. It covers the basic concepts and it is very understandable. It could be a good resource for him. 3. "TeachMeComputer": TeachMeComputer is the YouTube name of a man who was created great tutorials for Visual Basic .NET and PHP. He has organized all of them and provided additional content on [www.HowToStartProgramming.com][1]. With the child's interest in web development, this could be a valuable asset for learning PHP. I believe VB.NET is a great beginner programming language, so that set of tutorials might be very useful to him as well. [1]: http://howtostartprogramming.com/