Andrew Ng S Machine Learning Courses Which One Sho
You type ‘Andrew Ng machine learning course’ into Google. You hit enter. And suddenly you’re staring at a wall of links — a Coursera specialization, a different Coursera specialization, YouTube playlists, a Stanford course page, and a dozen Reddit threads all swearing they know which one is ‘the real one.’ Some say it’s life-changing. Others say it’s outdated. One person insists you need to learn Octave. Another says Octave is dead and you should use Python. You just wanted to learn machine learning. Now you’re wondering if you need a course just to figure out which course to take.
You’re not alone. This is the single most common question in every machine learning forum: which Andrew Ng course should I actually take? The confusion isn’t your fault. It’s the result of a decade-long game of telephone — a legendary 2011 course that no longer exists, a replacement that most people don’t know about, and a Stanford graduate class that shares a name but serves a completely different audience.
This article will clear it all up. We’ll walk through every course that bears Andrew Ng’s name, explain what each one actually teaches, who it’s for, and — most importantly — which one matches your goals right now. No hype. No ‘just take all of them.’ Just an honest map.
Here’s the short version, in case you’re in a hurry: Andrew Ng currently offers four courses through DeepLearning.AI and Coursera. Two are technical (the Machine Learning Specialization and the Deep Learning Specialization). Two are non-technical (AI For Everyone and Generative AI for Everyone). The original 2011 course — the one everyone remembers — is gone. If you want to learn machine learning in Python and you’re nervous about the math, take the Machine Learning Specialization. It’s the course Ng rebuilt specifically for you.
Now let’s unpack all of that.
The Original 2011 Course: What Everyone Remembers (and What’s Gone)
Before we talk about what exists today, we need to talk about what doesn’t. Because half the confusion around ‘Andrew Ng’s ML course’ comes from a ghost.
In 2011, Stanford professor Andrew Ng launched a free online course called “Machine Learning.” It was taught in Octave and MATLAB, it was heavy on linear algebra and calculus, and it ran for 11 weeks. Over its lifetime, millions of people enrolled. It earned a 4.9-star rating. It became — by most measures — the most popular MOOC in history. If you read a blog post from 2017 about how someone broke into data science, there’s a good chance they credit that course.
The fact is that course no longer exists.
In 2022, Ng and his team at DeepLearning.AI retired the original course and replaced it with a completely redesigned Machine Learning Specialization. The old Octave assignments are gone. The heavy math prerequisites are gone. The course now runs in Python, uses modern libraries like scikit-learn and TensorFlow, and incorporates a decade of teaching refinements that the original never had.
Why the redesign? Ng explained it directly on the DeepLearning.AI blog: the shift to Python was a deliberate choice to serve ‘the programming language of choice for machine learning developers.’ The lowered math prerequisites were equally intentional — the old course excluded too many talented learners who could absolutely do machine learning but got stuck on the calculus.
If you go to the old course URL today — the one that used to host the 2011 version — you don’t find an archived copy. You land on the new Machine Learning Specialization. Coursera doesn’t offer the original anymore. There’s no secret link. It’s just gone.
What this means for you: if a Reddit thread from 2019 tells you to ‘take Andrew Ng’s ML course on Coursera,’ they’re recommending something that no longer exists in that form. The spirit of the recommendation is still valid — Ng’s teaching style, the intuition-first approach, the careful scaffolding — but the specific course they’re describing is a historical artifact. The new version is better in almost every way for almost every learner.
Option 1: The Machine Learning Specialization (Your Starting Point)
This is the direct successor to the 2011 course — rebuilt from the ground up for Python, lowered math prerequisites, and expanded with modern topics. If you want to learn machine learning from scratch and you’re nervous about the math, this is your course.
Here’s what it actually is: a three-course specialization on Coursera, created by DeepLearning.AI and taught by Andrew Ng. The three courses are:
- Supervised Machine Learning: Regression and Classification — linear regression, logistic regression, cost functions, gradient descent, and regularization.
- Advanced Learning Algorithms — neural networks from scratch, decision trees, random forests, XGBoost, and model evaluation.
- Unsupervised Learning, Recommenders, and Reinforcement Learning — clustering, anomaly detection, dimensionality reduction, recommender systems, and a capstone project.
Total time commitment: roughly 95 hours. If you study 10 hours a week, you’ll finish in about two and a half months. The pricing is Coursera’s standard subscription model: 100 total for a complete machine learning education.
Now let’s talk about the prerequisites, because this is where most people get stuck — and where the new course is genuinely different from the old one.
In plain English, here’s what you need to know before starting: basic programming. You should be comfortable with for-loops, if-else statements, functions, and lists. You should be able to read Python code without panicking. That’s it for the coding side.
On the math side: high-school algebra. You need to understand what a variable is, what a function is, and what it means to find the minimum of something. You do not need calculus. You do not need linear algebra. You do not need statistics. Ng teaches the necessary concepts intuitively as they come up. When gradient descent requires understanding derivatives, he explains it with pictures and plain English, not limit definitions.
What will you actually build? By the end of the specialization, you’ll have implemented linear regression, logistic regression, neural networks, decision trees, clustering algorithms, anomaly detection systems, and recommender systems. You’ll have built a full end-to-end machine learning project. You’ll have written hundreds of lines of Python using NumPy, scikit-learn, and TensorFlow.
Who is this for? Anyone who wants to start doing machine learning in Python. Anyone who’s been scared off by math-heavy courses. Anyone who needs a structured, beginner-friendly path that doesn’t assume you already have a STEM degree.
One important detail is that this course teaches you to use machine learning, not to derive it. You’ll learn what a cost function does and how to minimize it, but you won’t prove why gradient descent converges. You’ll build neural networks, but you won’t derive backpropagation from first principles. If you want the deep mathematical understanding, you’ll need to supplement this course with additional study. But for the vast majority of learners — especially those who want to build things — that’s a feature, not a bug.
Option 2: The Deep Learning Specialization (The Next Step)
If the Machine Learning Specialization is your starting point, the Deep Learning Specialization is your next step. This is not a beginner course. It assumes you already know the basics of machine learning — supervised learning, loss functions, basic Python ML workflows — and it takes you deep into neural networks, computer vision, and natural language processing.
Here’s what it covers, across five courses:
- Neural Networks and Deep Learning — the foundations: forward propagation, backpropagation, activation functions, and building a neural network from scratch.
- Improving Deep Neural Networks — hyperparameter tuning, regularization, optimization algorithms, and the practical skills that separate working models from broken ones.
- Structuring Machine Learning Projects — an entire course on the meta-skill of project design: how to split data, how to set evaluation metrics, how to diagnose errors, and how to decide what to work on next.
- Convolutional Neural Networks — image classification, object detection, face recognition, and neural style transfer.
- Sequence Models — recurrent neural networks, LSTMs, attention mechanisms, and transformers for text, speech, and time-series data.
The time commitment is about three months at 10 hours per week. Over a million people have enrolled, and it holds a 4.8 out of 5 rating. The prerequisites: you should have completed the Machine Learning Specialization or have equivalent knowledge. You should already be comfortable with vectorized operations, basic neural network concepts, and debugging Python ML code.
Who is this for? Learners who’ve finished the ML Specialization and want to specialize in deep learning. Experienced developers who already know classical ML and want to add neural networks to their toolkit. Anyone who wants to build image classifiers, object detection systems, or sequence models for text and time series.
The hard part: this course moves faster than the ML Specialization. The concepts themselves are more complex — attention mechanisms and LSTMs are genuinely harder to grok than linear regression — and the assignments assume more comfort with debugging. The math is still explained intuitively, but there’s more of it, and the vectorized operations can feel opaque if you haven’t internalized the basics.
The Non-Technical Branch: AI For Everyone and Generative AI for Everyone
Not everyone who wants to learn about AI wants to write code. If you’re a product manager, an executive, or just a curious person who wants to understand what AI can and can’t do — without touching a single line of Python — Andrew Ng has courses for you too.
AI For Everyone is a non-technical introduction to artificial intelligence. It covers what AI is, what it can do, how to spot opportunities for AI in your organization, and — critically — what AI can’t do. There’s no programming. There’s no math. It’s designed for business audiences who need to make decisions about AI without building models themselves.
Generative AI for Everyone is a newer course that does the same thing for the current wave of generative AI: large language models, image generation, and the practical implications of tools like ChatGPT and Midjourney. Again: no code, no math, pure conceptual understanding.
These are excellent courses for their intended audience. But if you’re reading this article, you probably want to build things. This article focuses on the technical track. If you don’t code and don’t want to code, these non-technical courses are your best entry point. If you do want to code, skip them and head straight to the Machine Learning Specialization.
What About CS229? The Stanford Course Everyone Confuses With the MOOCs
There’s one more ghost we need to address. Search for ‘Andrew Ng machine learning’ and you’ll inevitably stumble across CS229: Stanford’s on-campus graduate course in machine learning. A lot of learners assume this is the ‘real’ version — the one Ng actually teaches, the one with the real mathematical rigor, the one you should take if you’re serious.
Let’s clear this up.
CS229 is Stanford’s graduate-level machine learning course. The prerequisites are serious: multivariable calculus, linear algebra, probability theory, and comfort with Python and NumPy. The lectures are mathematically dense. The problem sets require deriving algorithms from first principles. This is not a gentle introduction.
Here’s the key fact: Andrew Ng doesn’t teach it anymore. The current instructors are Jehangir Amjad and Anand Avati. Ng’s name still appears on the lecture notes alongside Tengyu Ma, but he’s not in the classroom. CS229 is a Stanford course, not a DeepLearning.AI course. It’s not listed on andrewng.org among his current offerings.
Should you take it? Only if you’re a Stanford student or you have the graduate-level math background to handle it. The lecture notes are publicly available, which is wonderful — but there are no graded assignments, no certificate, and no community support for self-study. You’re on your own.
CS229 teaches you to derive machine learning algorithms from first principles, whereas the Coursera specialization teaches you to apply them. Both are valuable. Both are rigorous in their own way. But they serve completely different learners. CS229 is not a ‘better version’ of the Coursera course. It’s a different thing entirely — a graduate mathematics course that happens to share a topic and an instructor’s name with a beginner-friendly MOOC.
The Decision Framework: Which Course Matches Your Life?
We’ve covered a lot of ground. Let’s synthesize everything into a clear decision framework. Here are the most common scenarios — find the one that sounds like you.
Scenario 1: ‘I know basic Python, but I’m scared of the math.’
Take the Machine Learning Specialization. It was literally redesigned for you. The math prerequisites are high-school algebra. The calculus and linear algebra are taught intuitively as they come up. You’ll be building real models from Week 1, and the difficulty ramps up gradually enough that you won’t hit a wall.
Scenario 2: ‘I’ve already taken an intro ML course or built some models, and I want to specialize in deep learning.’
Take the Deep Learning Specialization. It assumes you know the basics and takes you straight into neural networks, CNNs, RNNs, and transformers. If you’ve already implemented linear regression and logistic regression somewhere — in a bootcamp, a previous course, or on your own — you’re ready.
Scenario 3: ‘I don’t code, but I need to understand AI for my job.’
Take AI For Everyone or Generative AI for Everyone. These are non-technical courses designed for product managers, executives, and business decision-makers. You’ll learn what AI can do, how to think about it strategically, and what questions to ask — without writing a single line of code.
Scenario 4: ‘I want the rigorous mathematical foundation, and I have the prerequisites.’
Study the CS229 lecture notes on your own, or take an equivalent university course. The Coursera track is not designed for this — it’s designed to get you building models quickly, not deriving them from first principles. If you have the multivariable calculus and linear algebra background, the CS229 notes are a fantastic resource. Just know that you won’t get graded assignments, a certificate, or community support.
Scenario 5: ‘I want to do both — learn applied ML now, then go deep on theory later.’
Start with the Machine Learning Specialization. Build things. Get comfortable with the workflow. Then, once you’ve internalized the practical skills, supplement with the CS229 notes, a linear algebra course, or a statistics textbook. This is the path many successful ML practitioners take: applied first, theory second. The applied skills give you context that makes the theory meaningful.
The one-sentence answer: if you’re reading this article and you want to code, take the Machine Learning Specialization — it’s the course Ng rebuilt specifically for you.
What You’ll Actually Learn: A Week-by-Week Glimpse
Let’s make this concrete. Here’s what the Machine Learning Specialization actually covers, week by week, in plain English — not syllabus jargon.
Course 1: Supervised Machine Learning
Weeks 1 through 3 are all about linear regression. You’ll learn what a cost function is (a way to measure how wrong your predictions are), what gradient descent does (a method for making your predictions less wrong, one small step at a time), and how to implement both in Python using NumPy. Ng explains these concepts with intuition and visualizations — you’ll watch the cost function decrease as gradient descent runs, and you’ll develop a gut feel for what’s happening under the hood.
Weeks 4 through 6 introduce logistic regression for classification problems, regularization to prevent overfitting, and the bias-variance tradeoff. By the end of Course 1, you’ll understand why a model that performs perfectly on training data might fail catastrophically on new data — and what to do about it.
Course 2: Advanced Learning Algorithms
Weeks 1 and 2 dive into neural networks. You’ll build one from scratch, implement forward propagation, and understand activation functions. This is where a lot of learners have their ‘aha’ moment — neural networks stop being magic and start being something you can build and debug.
Weeks 3 and 4 cover decision trees, random forests, and XGBoost. You’ll learn when to use a tree-based model versus a neural network, how to evaluate model performance, and how to tune hyperparameters systematically.
Course 3: Unsupervised Learning
This course covers clustering (k-means), anomaly detection, dimensionality reduction (PCA), recommender systems, and reinforcement learning. It ends with a capstone project where you bring everything together into a single end-to-end ML system.
The through-line: every week alternates between video lectures (where Ng builds your intuition), optional labs (annotated code you can run and modify), and graded programming assignments (where you build the thing yourself). You’re not just watching. You’re coding from Week 1, and the difficulty ramps up gradually enough that you won’t hit a sudden wall.
The Hidden Curriculum: What These Courses Teach Beyond ML
Here’s something that doesn’t show up in the syllabus: the meta-skills. These are the skills that actually matter on the job — debugging ML pipelines, reading documentation, structuring projects, and developing intuition for when a model is working or not. They’re baked into the course design, and they’re more valuable in the long run than any specific algorithm.
Debugging intuition. The programming assignments are designed to break in specific ways. Your gradient descent won’t converge. Your neural network will overfit. Your clustering will produce nonsense. And you’ll have to figure out why — is it your code, your data, or your model architecture? This is the hardest part of real-world machine learning, and the course forces you to practice it in a safe environment.
Project structure. The Deep Learning Specialization includes an entire course called ‘Structuring Machine Learning Projects.’ It covers how to split data, how to set evaluation metrics, how to diagnose errors, and how to decide what to work on next. Most bootcamps skip this entirely. Ng treats it as a first-class topic, because in practice, structuring the project well matters more than choosing the fanciest algorithm.
Reading documentation. The labs don’t just give you code to copy-paste. They teach you to navigate scikit-learn and TensorFlow documentation, to understand function signatures, and to figure out what a library can do without memorizing every parameter. This skill transfers to any framework, any language, any domain.
The ‘advice for applying ML’ thread. Throughout every course, Ng weaves in practical tips: how to choose a learning rate, how to know if you need more data or a better model, how to spot overfitting before it ruins your results. These aren’t in the chapter headings, but they’re the difference between someone who’s watched lectures and someone who can actually build things.
Why does this matter? The technical content — the specific algorithms and libraries — will get outdated. TensorFlow will evolve. New architectures will emerge. But the debugging skills, the project-structuring instincts, and the documentation-reading habits will serve you for your entire career.
Common Pitfalls and How to Avoid Them
Let’s talk about the ways learners fail to finish these courses — and how to make sure you’re not one of them.
Pitfall 1: ‘I’ll just watch the videos.’
The learning happens in the programming assignments. Watching the videos without writing code is like learning to swim by reading about water. You’ll feel like you understand everything, and then you’ll sit down to build something and realize you can’t. Do the assignments. All of them. Even the optional ones.
Pitfall 2: ‘I need to understand every math detail before I start.’
This is the trap that keeps smart people stuck forever. Ng explicitly tells you to skip the calculus if it’s not your background. The course is designed to teach intuition first — you can fill in the math gaps later, once you’ve internalized the concepts. Don’t let the fear of not understanding everything perfectly prevent you from understanding anything at all.
Pitfall 3: ‘I’ll finish it in two weeks.’
The 95-hour estimate is realistic. Cramming leads to burnout and superficial understanding. Your brain needs time to consolidate what it’s learning — sleep, breaks, and reflection are part of the process. Set a sustainable pace. One hour a day is better than ten hours every Saturday.
Pitfall 4: ‘I’ll take the free trial and cancel before paying.’
If $$49 per month is a barrier, apply for Coursera’s financial aid program. It’s genuinely generous, and the application takes about 15 minutes. Don’t rush through the course in a panic to avoid paying — you’ll learn less, and you’ll be miserable. Apply for aid, set a reasonable pace, and focus on learning.
Strategy for success: set a consistent schedule (one hour a day is ideal), do every programming assignment, and use the discussion forums when you’re stuck. The community around these courses is active and helpful — someone has almost certainly had the same problem you’re having, and the answer is probably already in the forums.
The Verdict: One Course to Rule Them All (For Now)
We’ve covered the history, the options, the prerequisites, the hidden curriculum, and the pitfalls. Now let’s land the plane.
For the vast majority of readers — the ones who found this article by Googling ‘which Andrew Ng course should I take’ — the answer is the Machine Learning Specialization. It’s the course Ng rebuilt for today’s learners. It uses Python, the language you’ll actually use in industry. It lowers the math prerequisites to high-school algebra, opening the door to millions of learners who were excluded by the old course. It incorporates a decade of teaching refinements — better explanations, better assignments, better pacing.
Why not the Deep Learning Specialization first? Because it assumes you already know the ML basics. Skipping straight to deep learning is like learning to build rockets before you can fly a plane. You’ll be confused, frustrated, and missing the foundational concepts that make the advanced material make sense.
Why not CS229? Because unless you’re a Stanford student or have graduate-level math, the barrier is too high — and Ng doesn’t even teach it anymore. The lecture notes are a fantastic resource for self-study after you’ve built some practical skills, but they’re not a starting point.
What should you do after the ML Specialization? By the time you finish, you’ll know enough to choose your own adventure. Maybe you’ll dive into the Deep Learning Specialization. Maybe you’ll enter a Kaggle competition. Maybe you’ll build a personal project that matters to you. Maybe you’ll circle back to the CS229 notes to understand the mathematical foundations you’ve been using intuitively. You’ll have earned the right to choose.
The honest truth: there is no single ‘best’ course. But there is a best course for you right now. And for most readers of this article, it’s the Machine Learning Specialization.
Recap: What We Learned
- The original 2011 Octave course is gone. The URL now redirects to the new Python-based Machine Learning Specialization. If a Reddit thread recommends the old course, they’re recommending a ghost.
- Andrew Ng’s current technical courses are the Machine Learning Specialization (beginner-friendly, Python, high-school math) and the Deep Learning Specialization (intermediate/advanced, assumes ML basics).
- CS229 is Stanford’s graduate course, now taught by other instructors. It’s not a ‘better version’ of the Coursera course — it’s a different, more mathematical artifact for a different audience.
- For most readers: start with the Machine Learning Specialization. It costs about $$100 if you finish in two months, teaches you to build real ML models from Week 1, and was redesigned specifically to lower the math barrier.
- The meta-skills — debugging, project structuring, reading documentation — are as valuable as the ML content itself, and they’re baked into the course design.
Check Your Understanding
Remember: Name the three courses in the Machine Learning Specialization.
Understand: In your own words, explain why Andrew Ng redesigned the 2011 course. What changed, and why?
Apply: A friend tells you they want to learn ML but failed calculus in college. Which course do you recommend, and what specific feature of that course makes it a good fit?
Analyze: Compare the prerequisites of the Machine Learning Specialization and CS229. What kind of learner is each course designed for?
Evaluate: A Reddit thread from 2020 recommends ‘Andrew Ng’s ML course on Coursera.’ Is that recommendation still valid? What would you tell the person who posted it?
Create: Design a 3-month self-study plan that combines the Machine Learning Specialization with one supplementary resource (a book, a Kaggle competition, or a personal project) to deepen your learning after the course ends.
Apply What You Learned is for Supporter and Insider subscribers.
Subscribe to unlock the exercises on this post.
See plansRelated articles
- Python Engineering Under review
Advances In Financial Machine Learning L Pez De Pr
Before we start picking winners and losers, let’s get oriented. The book has five parts spread across 22 chapters, and each part tackles a different stage of the quant research pipeline.
- Python Engineering Under review
A Data Science Glossary 100 Terms Explained In Pla
Before we talk about models or metrics, we need to agree on what “data” actually looks like in Python. When you load a CSV file, you’re not staring at raw numbers — you’re staring at a carefully labeled structure.
- Python Engineering Under review
Test-First Design: Writing the Assertion Before the Function Exists
You've just finished writing a complex function. Maybe it's a causal inference estimator. Maybe it's a simulation that generates synthetic data. You run it. It doesn't crash.
- Python Engineering Under review
Working With Aws From Python A Boto3 Crash Course
Most frustration with boto3 comes from not understanding its two personalities. The **Resource** API feels like regular Python objects — buckets have objects, objects have methods.
Looking for something else?
Search every article by title, summary or topic.