My In-Depth Review of the Udacity Machine learning Nanodegree
I just graduated from the Udacity Machine Learning Nanodegree earlier this week and I will be sharing with you my experience with the course, the prerequisites I took before the course, and the skills I gained during the Nanodegree.
What is Nanodegree anyway?
A regular degree from a university takes around 4 years to complete. A regular degree also has a few core courses, some electives, and some open-ended projects. Regular degrees provide certification to signal that the student is ready to work in a field.
A Nanodegree program is like a regular degree in the sense that it also has some core parts and electives. But the timeline for a Nanodegree program is much smaller, around 3–7months. (hence ‘nano’). Udacity partners with different companies like Kaggle, Facebook, and Google for creating courses. Each Nanodegree program finishes with a capstone project. Students apply their knowledge gained in the coursework to the capstone in novel ways.
My Background
I am a Machine learning enthusiast, who has been learning the ins and out of machine learning for a year and a half now. I had been learning the maths behind machine learning for a while and had just graduated from the AI Saturday Lagos machine learning cohort in January 2021 and felt like I needed to apply my machine learning knowledge hence my reason for taking the course.
Prerequisites
For this course, you should have Intermediate Python programming knowledge, including at least 40 hours of programming experience, familiarity with data structures like dictionaries and lists, and experience with libraries like NumPy and pandas
You’d also need intermediate knowledge of machine learning algorithms, including supervised learning models, such as linear regression, unsupervised models, k-means clustering, deep learning models, and neural networks (ideally in PyTorch).
Personally, I took the these two free courses to prepare for the Nanodegree: Intro to Deep Learning with PyTorch and AWS Machine Learning Foundations Course to get myself familiar with the portion of the neural network of the course.
Table of content
- Welcome to the Nanodegree
- Software Engineering Fundamentals
- Machine Learning in Production
- Machine Learning, Case Studies
- Improvements that Udacity could take to improve the course
- Who should study the Deep Learning Nanodegree?
- Can I work as a Machine learning engineer after graduation?
- Is it worth the money?
- Is the price reasonable?
- How long does it take to finish a Nanodegree?
- Conclusion
Welcome to the Nanodegree
Udacity gives welcomes you to the course and gives you a breakdown of the contents of the course, the extra-curricular materials, and a guide on how to navigate around the site.
Software Engineering Fundamentals
This section basically teaches you software engineering practices in general and how they relate to data science practices. It covers how to write clean and modular code, write code efficiently, how to refactor code, document your thought process in writing code, and finally how to use Version control.
This segment also teaches you about unit testing and integrated testing. The course explains that the best way to develop programs is to code with “Test-driven development” i.e writing tests before you write the code that’s being tested. Your test fails at first, and you know you’ve finished implementing a task when the test passes.
Here, I was able to learn the basics of object-oriented programming and how you can build your own python package. It basically breaks down the object-oriented programming vocabulary, teaches you the ins and out of Inheritance, and a couple of advanced object-oriented programming Languages.
Then you finally get to build your own package and upload it PyPI. My package was a command-line version of a bank account and a gaussian distribution which I named “Nife-distribution” :)
Machine Learning in Production
In this section, you learn how to deploy machine learning models, the dynamic capacity of cloud infrastructure (see below), and the other advantages of deploying your machine learning on the cloud, You also learn how to build and deploy a model using Aws Sagemaker.
You also learn how to hyperparameter tune your model using Aws Sagemaker and finally how to update your model when there is a change in the underlying data.
Project
You use the knowledge and skill gained from this section to work on your own sentiment analysis project.You can find mine in this github link
Machine Learning, Case Studies
In this section, you get to apply different machine learning models to an array of applications like Population segmentation, Payment fraud detection, Time-series forecasting, and finally deploy a custom model using PyTorch.
There is also an Expert interview segment with Dan Mbanga, The head of Product strategy, Ml at AWS on SageMaker as a tool and the Future of Ml
For the project, you will build and deploy a plagiarism detector using the knowledge and practice gained so far. The link to my project can be found here.
Before the next segment, Udacity offers a service to review your Github and ensure that your profile is on par with leaders in your field.
Also, Udacity provides quick feedback on your LinkedIn page to ensure your profile attracts relevant leads that will grow your professional network.
Now for the final section of the course, we make our Machine Learning Capstone project as a way to apply the knowledge you have gained to complete the course. My capstone project was applying unsupervised machine learning models to the Starbucks Dataset provided by Udacity to glean more information about its customers
Improvements that Udacity could take to improve the course
My major and only problem with the Nanodegree was the boilerplate code used throughout the course.
Most projects and exercises contain a lot of boilerplate code so you never need to write everything yourself. While this might be comfortable, it’s not what reality looks like. To work around this, I wrote out the code from the platform to make sure I understood each and every line.
Who should study the Deep Learning Nanodegree?
The course is perfect for a data scientist who wants to add Machine learning to their toolkit. It’s also great for software engineers who wish to learn new concepts or solidify the essentials. You don’t need prior machine learning experience to take this course, but it’s good to be comfortable with Python. Even if you have a lot of experience with machine learning, like me, you’ll likely learn something new from this course.
Can I work as a Machine learning engineer after graduation?
No, but hear me out. There are no online courses about programming or machine learning that can replace hands-on practice. Becoming a great machine learning engineer takes a long time. However, programs such as this one can accelerate your learning curve by ensuring you have a solid foundation to start from.
I want to emphasize that this is true for traditional education as well. It’s just as unlikely for someone to hire a university-educated person if they don’t have a Github account that shows how they’ve been able to use their skills and knowledge. Programming is a craft, and the only way to prove your skills is to show what you’ve built.
Is it worth the money?
Udacity courses cost more than most other online programs, so the price is an essential topic for this Machine Learning Nanodegree review. Currently, the base price is $399 a month until you finish all the projects. You can get the price down by buying multiple months at once or wait for a discount as I did.
Is the price reasonable?
It’s critical to remember that Udacity has a different online education strategy compared to platforms like Coursera and Udemy. Instead of having thousands of courses, they focus on a few high-quality alternatives.
Note also that Udacity doesn’t outsource the creation of courses. They hire instructors and do everything themselves. As a consequence, they need to charge a price that can support their business and salaries. It’s up to them to prove that the price is reasonable.
How long does it take to finish a Nanodegree?
According to Udacity, the program takes three months to complete if you study twelve hours each week. You can study more or less than twelve hours a day, so it really depends on you.
It’s possible to finish the Machine Learning Nanodegree in a lesser amount of time if you do want to speed things up. However, your best option would be to make the purchase when you know you are ready to dedicate the required number of hours per week.
Conclusion
The Machine Learning Nanodegree is one of the most popular programs on Udacity. They cover many relevant use-cases, and you learn everything you need to start your journey on becoming a machine learning engineer.
If you want to learn more about machine learning and Artificial intelligence, make sure to follow my Twitter and Medium page as I share a lot of content about my journey and experiences in this field.