My son taught himself programming by using “Visual Basic for Dummies” when he was in elementary school. He learned Java at a summer camp. He fooled around a bit with MIT’s Open Sourceware. Taught himself C++. Got interested in Linux through computer fora I think. And learned SQL during a summer job. A kid who is interested in computer science can teach themselves a lot.