There are two versions of Ng's course, one is on Coursera, the other one taught at Stanford, both available online. Just wanted to point out that the Coursera one is much easier.
The Stanford cs classes on ML and deep learning were honestly surprisingly easy for a Stanford DL class. Or maybe that was because they were good teachers, who knows :)
Maybe not if you are someone lucky enough to have gone to Stanford, and are a CS major.
When I took the ML Class (I also took the AI Class at the same time, but had to drop out due to personal reasons - but I stayed in on the ML Class and finished it), I hadn't really touched linear algebra since high school.
I graduated high school in 1991; Ng's course was 20 years later.
I also didn't have any stats or probability experience under my belt. Nor anything about derivatives or integrals.
I basically had to pick all of this up on-the-fly (fortunately there are internet resources), and even to this day, I barely understand them (I understand matrix operations mostly, but I struggle with probabilities, and I have little-to-no idea on derivatives or integrals).
After high school I went on to get a 1 year, virtually worthless today associates degree from a now-defunct voc-tech school here in Phoenix. Since then, I've been steadily employed as a software engineer here in the valley, and well compensated (I believe) for it. I own my own house, and I have zero debt except for a mortgage.
Given all of that, one should be able to see how such a course would be a challenge. There were a ton of people who signed up, but from what I understand, the majority dropped out after the first couple of weeks. This actually seems "par for the course" though for MOOCs.
I know it was a simplified intro to ML, but for me, it and what I took of the AI Class taught me more than what I ever was able to figure out on my own, especially on neural networks. The light really clicked on for me there. But I was really disappointed to have to drop out of the AI Class.
Later, in the Spring 2012, after Udacity had been established, they weren't able to offer the AI Class as one of their courses. So Thrun came up with another course, which was originally titled "CS373 - How to Build Your Own Self-Driving Vehicle" - and I jumped on that one, and completed it as well. I found it fairly challenging too (but not as challenging as the AI Class was). This course has since been renamed to "AI for Robotics" - which is more apt, I think.
It took a while - but eventually the AI Class was made into a course (I think there was some kind of licensing issue, but I don't know for sure, that was preventing it from being part of Udacity's offerings). I have yet to retake it, but it is on my list (plus a ton of others).
Today, I'm in the home stretch of the 3rd term of Udacity's Self-Driving Car Engineer nanodegree. I'm struggling mightily to get my path planner project to work properly, but I almost have it done (it can make it around the track, but for some reason my behavior planner isn't costing things properly). Got an elective, and the integration project to do, all by mid-October or so.
I don't know if any of this will lead anywhere for me career-wise. I'm happy with my current employer, so I expect to stick around here for a while. I have hopes, dreams, ambitions to perhaps get a degree of some sort in CompSci. I want to really learn more mathematics. I've always been a lifelong learner, but this kind of stuff is really fascinating to me, even if it is (what seems to me at least) complex and not always intuitive. But if it were easy, it probably wouldn't be as fun (but I will say Keras and Tensorflow really make things much easier than when we had to implement a neural net in Octave and Python).
> I'm struggling mightily to get my path planner project to work properly
Having not completed an AI course, I tread lightly.. However, I would guess that this project involves re-implementing an established solution. -- It is work like this that drives me away from such courses; as I can't imagine how creative practices are promoted, instead "correct" techniques are repeatedly hammered in.
> I don't know if any of this will lead anywhere for me career-wise. I'm happy with my current employer, so I expect to stick around here for a while.
Professionals learning to program late in their career typically have a misconception that they're only eligible for entry-level positions in the field of software engineering. Many fail to realize that the 10+ years of experience in their own field can be coupled with their newfound-skill, giving them a background unlike that of many existing professional developers.