Tell HN: Midway review of Stanford online ML, AI, DB classes
I am taking all these three classes currently being offered by Stanford, and we are right around midway through them. Just a few thoughts I wanted to share and invite discussion from other HNers taking the classes.

Database Class, taught by Prof. Jennifer Widom: This class covers a lot of the Database background theory and practical that anyone working with knowledge/information storage systems will find useful. Quite frankly, being well versed with both SQL and NoSQL databases, my initial interest in this class was non-existent; I only signed up for it with the intention of later dropping out. Midway through, I think in terms of learning delivered, this class handily beats the other two. The way the class is being run leaves absolutely no cause for complaints.

1. The material has (obviously) been very painstakingly prepared by Prof. Widom. When teaching about XML databases, she spent the entire class time working in an actual text editor with XML file open, demonstrating the concepts. Similarly, for the SQL class, she spent the entire time in an actual SQL query GUI. This is VERY effective. Instead of just scribbling on a sheet of paper, this conveys a lot more information, in far less time. It is also a lot more rigorous - which is the next point. Lectures are broken into 10-30 minute "topics" following natural breaks in the material.

2. The entire material, including the exercises are VERY rigorously prepared. There are rare errors in speaking (and there can be no errors when demo-ing with real query engines, for example). When there are those rare errors, Prof. Widom has taken the time to review the recordings and added corrective annotations which do not detract. It is easy to underestimate the value of this point - in a live class one can always stop and question the prof about something that confuses you, but in a recording you can't. Rigour is essential to an effective video lecture.

3. The exercises have been developed with a lot of thought. They are moderately tough, rarely easy. Also, they come with actual query/db workbenches for you to try out your answers before submitting. This has enabled about as much learning as the lecture itself. If the questions were typical bookish variety or busywork, they would have not taught anything. The fact that trial and error is allowed also aids significantly in learning.

4. The professor also takes the time out to do fireside "chats" every week. This adds a rather nice touch of interactivity.

Pros: Good technical/platform, very well prepared material, perfect presentation, challenging exercises.
Cons: no feedback on quiz questions after due date. Considering how challenging some of them are, a review session going over the "ideal" solutions after the due date would be very helpful.

All in all, a VERY successful implementation. Kudos as well as thanks to Prof. Widom and team!

Machine Learning class: Taught by Prof. Andrew Ng. Prof. Ng is famous for (amongst other things) his popular tutorials on various things in machine learning. He is clearly a good educator, and the course follows, technologically, the same structure as DB class. That said, the course seems to target a (very low) common denominator, and at least in my opinion wastes a lot of time in basics. An entire set of videos were spent teaching Octave. About halfway through only very basics of machine learning have been covered - even there, an inordinate amount of time is spent on terminology and very little on actually taking about real world applications and problems related to that (this was the promise when the course started). The review questions aid in review of the material present, but rarely challenges one to learn beyond what has been said in the lectures. The programming exercises are a very nice feature and the test-and-submission-rig that has been built are quite good. That said, once again, a typical programming exercise involves not more than 1-2 lines of code in each part with 5-8 parts to an exercise. This yet again, just seems like learning to code in Octave.

Overall, I'd say that its a very good introductory class, but spends too much time on very basic stuff. The technical infrastructure is good, content is well prepared but is just not challenging enough. It does not transfer enough knowledge per unit time consumed. If its content level were improved, it would be a great class.

Pros: Good tech, well prepared material.
Cons: low knowledge transfer rate, low level content.

Artificial Intelligence: Taught by Profs. Thrum and Norvig. Both of them are giants in the field of AI, and Prof. Norvig literally wrote the Bible on it :-)

That said, the technical infrastructure around the class is detracting. Review question embedded inside the videos themselves, while cool in theory, are very distracting when actually trying to understand something. Also, breaking up lecture segments into 1-3 minutes chunks disrupts all focus. While the material is reasonably advanced (and thus makes for a terrific potential to learn things), there is a distinct lack of rigour in the way its presented. Having errors in algorithms scribbled on screen (while natural) is very disruptive when actually trying to understand. Around due dates, the website invariably dies, last time remaining unavailable for over a day.

Pros: good set of topics, good material
Cons: Bad technology/platform - very disruptive to actual learning. Lack of rigour and preparation in presentation.

These are ofcourse my personal views and I do not wish to detract from the humongous efforts on the part of all the faculty, the knowledgelabs team and all other people who have worked very hard to bring these classes to hundreds of thousands of people.

How do the other HNers feel about the classes you are taking?