Great course if you lack math sophistication (and if you don't lack the math -- try taking in parallel with the Stanford CS229 lectures / lecture notes -- see at the bottom). Sadly though, for people with a good math background, he often skips any intuition for where things come from (e.g., with back propagation he just hands the equations and makes little to no attempt to justify how its derived). Or with "advanced" optimization methods, there's no brief lecture on what conjugate gradient method is, when its better than other methods, etc.

I also find it very patronizing when he says after 2-3 weeks of classes, he adds things like "You now know more about machine learning than most engineers doing ML in Silicon Valley" after teaching just simple linear and logistic regression.

(Prior to this course, I would have answered I knew next to nothing about ML, as I never consider curve fitting/optimization as ML. But from experimental physics courses knew how to use maximum likelihood and minimum of least squares, and the "advanced" stuff like conjugate gradient method of finding a minimum, that's far beyond this course. Granted I did learn a lot about Neural nets and SVM in a very accessible way).

However, it is a very easy very accessible introduction to the materials. I also find the programming assignments too spoon-fed. E.g., each part of the assignment leave out one line of octave code, and then give you the equation in the lecture which is trivial to switch into octave. Unlike other courses where you get a feel of "I managed to implement something on my own to solve a problem", you feel more like I can just change one relevant line in code written by someone else.

EDIT: I've changed my review to 5 Stars as I found the stanford version of this class at http://cs229.stanford.edu/ (for handouts) and with youtube videos at: http://www.youtube.com/course?list=ECA89DCFA6ADACE599

These lectures and lecture notes are awesome and fill in the gory details of most of what's glossed over in the coursera course. Rating this material, I'd put it medium/hard. (The easy grade above was for the coursera material). Also I find that this does provide a good guide for how to use existing ML techniques, and you do find lots of people blindly applying ML without understanding what they are doing and why it will never work. E.g., see: http://blog.yhathq.com/posts/digit-recognition-with-node-and-python.html or http://blog.yhathq.com/posts/image-classification-in-Python.html

to see how not to do Machine Learning.