When I was in about 8th grade I downloaded a copy of Visual Basic 3, which was my first introduction to a higher-level language. Before that, I had played around with basic on one of those toy computers. How would you introduce a child in middle school to programming? Does anyone know of any studies done?
I got into it through HTML and javascript. This was in the Geocities and Tripod days. Websites were really the only application that I could create something cool easily.<p>I also played about with VB and Pascal, but stopped because it took too long to create anything usable. Although HTML and JS are not terrible complicated, it allows for simple development and it is very usable later in life. You could get them into server side scripting too.<p>Also, check out the Torque game engine. It is pretty easy to create a video game with no programming at all. When you want to get more advanced you can do some Lua scripting. When you want to get really advanced you can work on the C++ that the engine is built on. Torque is pretty well supported and you can even port the games to XBox.
I don't have direct experience, but I can share some of my favorite links on the subject.<p>This is my ultimate favorite:<p><a href="http://teachingkids.railsbridge.org/2009/08/15/teaching-ruby-to-high-school-girls.html" rel="nofollow">http://teachingkids.railsbridge.org/2009/08/15/teaching-ruby...</a><p>I also like this guy's blog:<p><a href="http://blogs.msdn.com/b/alfredth/" rel="nofollow">http://blogs.msdn.com/b/alfredth/</a>