Last year my daughter took an online class in advanced placement computer science from here: http://course.hscompsci.com last year. What's nice is that since she took the AP Test, she used that to get out of her gen. ed. computer class at the community college in Pasadena.
What was interesting was the instructors approach. They did graphics from day one, and my daughter is a very visual student.
That being said, I do not recommend this class for someone with low computing skills, as it is a college level class.