|September 29th, 2011|
|learning, mlclass [html]|
There are a range of ways of learning online, which I would arrange from most to least similar to standard schools as:
- Online colleges (western governors university)
- College courses, presented online and open to all (stanford's ml, ai, and db classes)
- College course materials and lectures available online (mit's open courseware, stanford's see)
- Educational videos, not connected to a college (khan academy)
- Websites (wikipedia, mathworld, stack overflow)
I think the most important variable here is structure. I've learned important and useful things through unstructured reading. Most of what I know about the process of software development and what makes good code is from online reading; my cs program didn't cover it much at all. Unstructured reading has to be interesting and novel for me to keep at it, though. I've at various points downloaded a large pdfs full of useful knowledge, and have never gotten vary far into them. This is the same issue I have with non-fiction: the drier and more informative a book the less I get into reading it in my spare time. So while this works well for information that I can learn in entertaining bits over time, it doesn't work well for large bodies of work. Perhaps this is partly because short articles online can't assume much about what you already know, and so have trouble building. 
When I would sign up for courses in high school or college, we would be all excited at registration about how exciting the courses would be and how much we wanted to learn the material. Then when we were taking the classes we complained a lot more, and our excitement was more limited. Signing up for a course lets you magnify your willpower to the benefit of your future self. It's so much easier to say "I'm going to take this class, and I'll do all the work until I finish" than it is to actually do all the work. Once you're committed, though, backing out is hard.
With an online course, especially a fully automated one, there's little reason to match the calendar. Why not let people start whenever and work through at their own pace? This should be one of the benefits of online learning, but for me I think it's a downside. If a course is offered yearly, I can't say "I'll do it next week". If there are fixed deadlines, I can't justify putting things off. So far I'm enjoying the way stanford's ml-class (cs229a ) having deadlines is keeping me learning, though we'll have to see whether this lasts through the course.
 Online learning is not really a new thing. It's just the latest iteration of learning that's not in person. Since the development of the post office there have been correspondence courses, and many people have learned on their own from reading books.
 lesswrong tries to deal with this by arranging the material in sequences of posts. The main problem I've had with this approach is that some of the posts are not that good, and I'll stop reading a sequence at that point.
 Some people are annoyed that the class is on applied instead of theoretical machine learning, but I'm excited about it as is. I think the applied class is more likely to be useful to me as a programmer.