So, I was looking for some online Python
tutorials when I came across edX
Introduction to Computer Science and Programming. I've heard about massive open online courses
("free university") before, and I've certainly visited MIT's OpenCourseWare
site frequentyly, but edX (what is it with adding X to everything these days?) seemed far more interesting than a self-study site, and 6.00x course just happened to be starting, so I registered for it to learn the Python language.
One thing lead to another, now I'm addicted to watching online lectures, and I've tried out courses in all three of the big MOOC players: Coursera
, edX, and Udacity
The difference between MOOC and other free learning resources is that they're operated like a real school. The courses run on a schedule and there are graded assignments. If you join the course too late you can't catch up, so it's best to wait until the next offering. At the end of the course you receive a PDF certificate if you reach the passing grade.
Even though they're free right now, but I imagine in the future it would cost some money to get a certificate, or perhaps a small monthly fee. In fact, as I type this I suddenly remember paying a $4.95 monthly fee for ZDnet
University years ago. It was such a great idea back then, but eventually everything fell apart because the courses rarely got updated and they weren't structured like a real school, there was no wide support outside of ZD themselves, and the Internet was way too slow back then. I actually found a link
that talks about ZDU. Good old days...
Anyway, Coursera is probably the most famous and with lots of partipating universities and hundreds of courses ranging from programming to biology to music appreciation. edX is owned by Harvard, MIT, and UC Berkeley and seems to be more technical and scientific. Udacity came out of Stanford and seems to have most "industry support" from technical leaders like Google or Intel and generally focuses on technical courses.
I really like Coursera's course offerings. I'm a technical person, but because IT is so much business now, I've been reading about the business aspects of IT, and I've been trying to hire someone into my team who didn't get started as a programmer. Coursera has everything I need. Unfortunately, Coursera's video player simply sucks. If I get any network hiccups and the video lecture pauses, attempting to resume the video just causes it to restart from the beginning. The video also plays in a pop-up window. If I accidentally click outside the pop-up window, the window closes, and if I click on the video again, it restarts too. This is quite unfortunate because all the videos I watched in Coursera appear to be really professionally made. They do offer a link to download the videos, but there are embedded quizzes inside the videos, and I believe I have to skip to the embedded quizzes to answer them even if I watch the videos offline. The web interface is really nicely made too, but apprently each course is free to do what they want with the organization, making things a bit confusing if you're taking more than one course.
(Edit: Also, because Coursera's courses are from so many different universities, each has its own stance on issuing certificates or credentials. I looked a bit and most don't seem to offer any credentials and seem to look at Coursera as an experiment to draw perspective students into their own paid online courses.)
I just wrote above that MOOC's are operated like a real school, but strangely enough, Udacity changed their policy recently to do-it-at-your-own-pace instead of scheduled classes. The reason being many people who are registered in these free classes are not full-time students, and often have trouble keeping up with the rigorous schedules more suitable for part-time or even full-time students. The problem with being at-your-own-pace though is that the forum discussions are totally messed up. I registered for a course and found many of the forum posts are from months ago, and it will get worse as time passes by. It also makes for people who just joins a course, does the final exam, and leaves with a certificate. Which is exactly what I did.
I guess this proves the certificate isn't worth much, and they should stick to scheduled courses and not open registration. But I've always had the same opinion about those MCSE
certificates. But hey, it might fool my boss. Other than that, all the videos I saw are amateurish, which isn't a problem to me since it actually feels like I'm in a meeting or a training session and not a classroom. But they could've made the slides just a bit more professional looking and not use handwritten papers for the presentations. (It does get hard to read at some points.) However, all these issues may be moot, since Udacity's courses are not based on actual courses, but they're all newly created specifically for the Udacity platform, and are often sponsored by IT industry giants, and all of Udacity's courses are computer or technology related at this point.
As for edX that I started with in the first place, it turns out that I prefer it the most. I'm enjoying the 6.00x Python course tremendously. I joined to learn the Python language and to refresh some computer science concepts, so the programming problems are really simple for me, and so I ended up spending most of the time in the forum trying to help others with their programming issues after I'm done submitting my homework. The video lectures are released on a schedule and programming homework have to be submitted on time. (The server crashed on the due time the first few times due to the sheer number of submissions.) Because everything is on a schedule, the forum discussions are current and viable. I have no trouble with the video player and if I do, I can click on a link and the video opens up in YouTube. The only drawback with edX is that they seem to have designed the site for people with huge monitors, I keep having to scroll up and down to view the course materials.
I tried a few different courses in edX and all the offerings have similar layouts, but it's still up to each course's designer how to organize their course material. 6.00x has really poor lecture notes, with each lecture's note separated into its own PDF file. But the CS188.1x
AI course's lecture notes are organized into one large PDF file ready for printing out.
Speaking of printing out, one more cool thing about the 6.00x class is that the textbook (Introduction to Computation and Programming Using Python
) used in the course is readable online inside the course material area. (And yeah, some of the Coursera courses I looked at seem more like disguised ads in order to sell the teachers' books.) When I first saw the textbook I noticed it looked pixelated instead of smooth like a PDF file. Sure enough, right clicking the page allowed saving the page as a 1700x2200 png file. The significance of that size is that it's a letter sized page at 200 dpi, perfectly suitable for printing out!