Leo says that learning Python is a good starting point. Learning a language that defines and solves problems will help him to think the way he needs to in order to write good code. There's a great online book called "Python for Beginners." He can also read "How to Think Like a Computer Scientist: Learning with Python". That's a good way to learn how to think like a programmer and write better software. How to Design Programs is a great website as well.
Great online portals include CodeAcademy, and UDEMY.com. iTunesU has a great class on writing iOS apps from Stanford University that's taught by Apple employees. It's free to download and watch and he'll learn a lot. Learning basic programming will help as well. If he can get his parents to pay for it, go to BigNerdRanch for summer camp. Alice.org is another good place to go, as well as Scratch.