I've completed the Machine Learning Nanodegree, the Data Analyst Nanodegree, the Deep Learning Nanodegree, and two terms of the Self-driving Car Nanodegree. If you're trying to choose which nanodegree to pursue, then this post can be of help.

Theoretical Background and Nanodegrees

These nanodegrees are vocational in nature, so you won't be given the theoretical background behind the various techniques that you learn.

Why is theoretical background important? Because in real-world, the first solution that you apply won't always work. You need a good conceptual understanding in order to come up with a Plan B.

However, just learning the theory does not allow you to put things into practice. This is where Udacity comes in. You improve your vocabulary of concepts, and then research them by yourself.

Value is in the Projects

The greatest value you're going to derive from these nanodegress are from the projects and the suggestions given by your reviewer. The concepts covered in the video alone, you'd probably find in a lot of other places. Just watching the nanodegree videos has little value, unless you put a lot of effort into getting your projects perfect.

Machine Learning Nanodegree

This is one the first nanodegree that Udacity came up with. I completed this when it still followed to monthly payment model.

This nanodegree has a lot of breadth to it. You'll learn to apply a wide variety of concepts, which will improve your machine learning vocabulary.

I like the fact that this nanodegree covers all major aspects of machine learning: supervised learning, unsupervised learning, reinforcement learning, and even deep learning to some extent now.

If machine learning is something that you want to learn, then this nanodegree would be a great start.

Deep Learning Nanodegree

The deep learning nanodegree, on the other hand, is not as thorough as the machine learning nanodegree. The Siraj sections are pretty fast-paced, and don't capture the essence of what you should be learning.

To understand concepts behind deep learning, Andrew Trask's Grokking Deep Learning is pretty good. I own it and have read it, and it should help anyone trying to dive into deep learning.

To actually dive into coding work, I'd recommend Jason Brownlee's Deep Learning with Python. This should give you more value for money than the nanodegree.

Data Analyst Nanodegree

Once you've done the Machine Learning nanodegree, the Data Analyst nanodegree is also a great continuation. A big aspect of machine learning is acquiring data, cleaning it, doing preliminary analysis, then trying out predictive models.

In the machine learning nanodegree, a lot of data that you work with has been acquired and cleaned for you. The problem statement has also been defined for you. Defining the problem statement and getting the right data for it is the biggest challenge in applying machine learning, not the specific of the algorithms used.

The Data Analyst nanodegree teaches you exploratory analysis, and makes you work through tedious projects that require you to acquire and clean data, and also perform more analysis on the results (the maps project).


For anyone wanting to get their feet wet in machine learning, I'd recommend the Machine Learning nanodegree followed by the Data Analyst nanodegree.

Do note that there are a lot more alternative resources on data science and analysis than there is for machine learning. Datacamp is also a good resource, and I've been a subscriber for over a year. DataQuest is another, slightly pricier resource.