We can study computer science and programming online. I am involved in two lessons (BERKELEYX CS169.1x Software as a Service and MITX 6.00x Introduction to Computer Science and Programming).
After a few weeks I think it's a very good way to learn things. There is a mix of video lessons to watch, chapters of books to read, short exercises to do and homeworks. Teachers know their stuff and share it with students. You learn a lot.
I also enjoy the discussion area with other students. When I feel confused about something and can't find the answer by myself I start a discussion.
Learn more at www.edx.org/courses