The BEST Machine Learning course for beginners and practitioners alike

Chouaieb Nemri
5 min readSep 16, 2022


The aim of this article is to review Andrew Ng’s revamped Machine Learning Specialization on Coursera. I did a lot of MOOCs and online trainings and’s Specialization clearly stands out as the best resource out there, whether you are getting started or you got some practical experience. This training has a a good balance between theory and practice. You’ll be able to develop intuition and dive deep about the internals of famous Machine Learning models such as Linear and Logistic regression, Neural Networks, XGBoost, Random Forest etc … while solving practical problems by implementing some of the latter.

Note: I have received no compensation for writing this piece. Please consider supporting mine and others’ writing by becoming a Medium member with this link.

A bit of history

Andrew Ng created the first version of this course back in late 2011. It rapidly became the world’s most popular online course with a number of learners totalling 4.8M so far. Its outstanding popularity prompted Prof. Ng to Co-found Coursera in early 2012.

The course is very academic, trying to mirror its on-campus counterpart. The course didn’t shy away from the math that underpins machine learning models, ensuring that learners would not only be able to use the models but would also understand their internals.

While ML basics haven’t fundamentally changed (i.e. We’re still minimizing losses, using Gradient Descent and mainly working on Supervised learning problems), the course started showing its age for quite some time, in particular due to some of Prof. Ng’s initial technical choices.

For instance, the programming exercises featured Octave, a high-level programming language primarily intended for scientific computing and numerical computation, very similar to MATLAB. On the other hand, Python has become the de facto language of artificial intelligence, and thereby, of machine learning. But that wasn’t the case back when Prof. Ng launched his course, hence why he favored a now considered niche programming language.

Over the years, some aspects of the course were updated, and there were ways to complete the