A new form of online learning is starting to emerge the Massive Open Online Course (MOOC). Major ivy league universities created these courses and you can attend them for free.
Currently there are several course providers:
MIT, Berkley, Harvard offer courses on this platform.
They are designed that you can take them in your spare time. The difficulty is designed for beginners as well as more advanced students.
The courses are offered by Stanford, but they opened their platform for other universities as well
This platform only focuses on programming related courses.