

Tell HN: Midway review of Stanford online ML, AI, DB classes - ghoul2

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.<p>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 <i>will</i> 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.<p>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.<p>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 <i>are</i> 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.<p>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.<p>4. The professor also takes the time out to do fireside "chats" every week. This adds a rather nice touch of interactivity.<p>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.<p>All in all, a VERY successful implementation. Kudos as well as thanks to Prof. Widom and team!<p><i>Machine Learning class</i>: 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.<p>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.<p>Pros: Good tech, well prepared material.
Cons: low knowledge transfer rate, low level content.<p><i>Artificial Intelligence</i>: 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 :-)<p>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.<p>Pros: good set of topics, good material
Cons: Bad technology/platform - very disruptive to actual learning. Lack of rigour and preparation in presentation.<p>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.<p>How do the other HNers feel about the classes you are taking?
======
firebones
I disagree about the ML Class...I'm getting a lot more out of the approach
given my limited time budget than when I was trying to follow along the
2008-era lectures which were very proof-heavy. (Those are still out there if
you feel the need for something deeper.)

Why? Because the emphasis seems to be on mastering the material and the
intuition behind what Ng is teaching.

Plus, I can't say enough about the way in which they've managed to improve the
virtual learning experience:

* Video lectures broken into discrete 5 to 14 minute units with interactive review questions built in, with annotated slides using Khan-like software. * Slides reflecting the annotated slides. * Adaptive review questions with some answer randomization and time delays to prevent random guessing, along with the encouragement to retake these again as review (with your highest score counted). * Programming exercises that are manageable (and which scale to the 60K or so odd participants in the class). * Consistent use and explanation of terminology * Great discussion forums.

The net effect is that you are strongly encouraged to go at a pace that
ensures mastery of the topics and fundamentals. Yes, the first couple of weeks
were designed to refresh people on Linear Algebra, how to use Octave, and
learning the programming exercise submission process. I have been incredibly
impressed at the amount of design work that has gone into this class
experience, and the depth of understanding that I've come away with compared
to trying to barrel through the original recorded CS229 lectures focused
almost exclusively on proofs. I'm glad I went through those lectures, but this
is so much more of a superior approach to learning the fundamentals of machine
learning that I wish every class I took was created with as much care. There's
a model here for a way to scale learning of complex topics.

If you want more challenge, I would suggest working through the original CS229
materials. It focuses much more on the proofs, and there are some practical
examples there as well related to debugging ML applications. I believe that as
this course progresses, he'll introduce more info. As he said after the second
or third week of lectures, a lot of what "real world" ML people are doing in
industry is centered around what the first 3-4 weeks covered--linear
regression and logistic regression, and I see a lot of applications of what
I've learned to date in my daily work.

------
hhimanshu
I would disagree for ML class too. The course is designed keeping in mind to
clear the basic of Machine Learning and maths behind the intuition. It helps
you understand why some algorithm actually works and how you can work those
with a high level language like Octave. QnA forums are really a good place to
discuss. I personally feel I am gaining understanding and more interest in
this field

~~~
clyfe
I find ML of great quality too, maybe the best of all 3 courses. Maybe I'm
biased because I already have good knowledge on the topics in DB, although DB
is high quality too.

------
glimcat
That pretty much matches my impressions.

* The DB class is a solid introduction to the field.

* The ML class is good as far as it goes, but it lacks the depth to be more than an overview.

* The AI class has good content, but the attempts at gamification get in the way.

