Recently I graduated from Udacity Data Science Nanodegree, which was my second program with this MOOC platform. 1
Because Udacity restructured the program I took, this post is basically the review of two programs - Udacity Data Science Nanodegree and Intro to Machine Learning Nanodegree. Due to restructuring, Data Science Nanodegree causes now a lot of confusion as it is not exactly what you might expect from its name.
In this post, I explain how the two programs differ and what program suits better to whom. I also answer the few common questions regarding the programs such as:
- I don’t have coding experience. Should I take it?
- Udacity Nanodegrees are expensive. Are they worth it?
No Coding Skills - No Problem
When I started the program in February 2019, I was a bit scared taking the full leap into Python and Git without having any prior knowledge.2 The correct way would have been probably to start with either Data Analyst or Programming for Data Science with Python programs and build up the Python skills first.
Luckily for me, Udacity provided the necessary material in Extracurricular. And what’s good - you don’t have to meet the deadlines for each project, you just need to complete all the projects by the program deadline which is final. This flexibility allowed me to skyrocket my programming skills. It was intense, but managable. Audacious approved!3 😉
Part I - Intro to Machine Learning Nanodegree
- people who are new to Machine Learning
- recommended both for those seeking Data Scientist roles (building ad-hoc business ML models) and Machine Learning Engineer roles (who want to work on ML as a product in Computer Vision, NLP etc.)
“Intro to Machine Learning” covers supervised machine learning (ML), unsupervised ML and deep learning. This was my first introduction to Machine Learning and I really liked it. You get immediately your hands dirty with three relevant projects such as:
- Find Donors for CharityML (Supervised ML - you choose your own models to train data on)
- Build an Image Classifier (Deep Learning - mine was PyTorch edition)
- Create Customer Segments (Unsupervised Learning - PCA, K-Means)
All in all, I think Intro to Machine Learning Nanodegree is well worth pursuing if you haven’t taken Machine Learning courses before.
Part II - Data Science Nanodegree
- not for Computer Science students, would be probably boring
- good for people with basic Data Science skills who want to improve the quality of code and get exposure to the whole Data Science pipeline (from web scraping to app deployment into cloud)
Data Science Nanodegree is a more advanced program that doesn’t teach you Machine Learning. At the same time, this is probably the only program that makes you actually practice the whole spectrum of Data Science skills (communication, data engineering, clean code).
That said, the program focuses more on developing proper Data Science practices with basic introduction into Software Engineering and Data Engineering for Data Scientists:
- how to do the full Data Science Cycle and communicate the results to various stakeholders (general/technical audiences)
- how to write a clean code, create unit tests and build classes
- how to run Machine Learning pipelines, transform data, build models and deploy solutions to the cloud as an app
- how to design experiments and analyze A/B test results
You complete the following projects:
- a blog post with link to GitHub repo and proper ReadMe
- Disaster Response Flask app deployed on Heroku
- Recommendation engines (collaborative filtering, rank based and content based)
As a Capstone, you have several options:
- Bertelsmann/Arvato Project
- Starbucks Project
- Dog Breed Classifier
- Spark Project
- your own project
I chose Starbucks project as I want to pivot my Data Science skills towards Marketing.
I am rather ambivalent about the program. If I had the choice4, I would probably skip the Data Science Nanodegree. However, after completing it, I recognize its value. I do use a lot of coding practices that I learned by taking the program (like code refactoring, writing clean functions, writing proper Readmes on GitHub, etc), which I think differentiates me from other Data Science candidates. At the same time, I can’t say that I can now easily deploy data products into the cloud. What you get is merely an overview of Data Engineering and Software Developing worlds, which is good but is not super pressing in terms of skills for Data Scientists.
Projects’ Evaluation after Submission
In order to graduate, you need to submit your projects for evaluation. Like most of the MOOCs, the projects are reviewed by the Udacity community itself, which keeps growing and thus becomes self-serving.
On the plus side of this model, you can count on very quick review which facilitates fast learning loop. On the minus side, however, is the quality of reviews. Sometimes you get really good personalized feedback which points to some real problems in your code, sometimes you get a very generic feedback that would suit any student with some subjective instructions what to change.
But I believe that is common for any online education platform. Ultimately, it’s up to you to ensure the quality of your learning. If you take it seriously and don’t cheat, Udacity Nanodegrees are great stepping stones for further in-depth study.
Is it Worth the Money?
Evaluation in Terms of Employability
Full disclaimer - I haven’t got a job as Data Scientist yet, so I can’t tell you how employable you are after graduation. With so many people completing the projects, it is clear that their value in terms of employability diminishes. What counts is the portfolio of own projects, which I am currently working on.
Recommendation: No, don’t expect to get hired after completing Udacity Nanodegree(s).
Evaluation in Terms of What You Learn
I have had experience with different MOOC platforms - Coursera, Udemy and DataCamp. I still think Udacity projects are among the most practical ones. People that create these projects are practitioners (unlike academics like on Coursera). They produce standalone real-world projects (unlike bit-size walk-throughs like on DataCamp). Hence, it takes much more time to complete Udacity programs, but you learn tremendously.
Recommendation: Yes, Udacity Nanodegrees are worth the money if you understand that it is only the beginning of your Data Scientist journey. Pick the program that challenges you and you will learn a lot in a very short period of time. Plus, Udacity often has promotional offers (especially at the beginning of the year), so keep an eye on their website.
The first one is “Predictive Analytics for Business” which teaches the same analytical techniques (Classification Models, A/B Testing, Segmentation and Clustering, etc.) but using Alteryx instead of Python. ↩
I learned some R in 2013/2014 for my academic projects, but haven’t applied it for like five years now. Beyond that, I did’t really have much experience in programming. ↩
The company’s name “Udacity” is a word play of ‘audacious’ - willingness to take bold risks. ↩
My program had 2 terms and I didn’t get any certificate after completing the first term. ↩