I spent my High School years with Connections Academy. While there were many advantages to be had, I especially enjoyed the format of the programming courses offered. We spent one semester with VB.NET, discussing general computer concepts. The second semester used Java, focusing more on OOP. Surrounding this time period, I also spend a lot of time on codecademy.com.