Nanodegree Program

Become a Machine Learning Engineer

In this program you will master Supervised, Unsupervised, Reinforcement, and Deep Learning fundamentals. You will also complete a capstone project in your chosen domain.

Classes start in

  • TIME
    2 Three-Month Terms

    Study 10 hrs/week and complete in 6 mo.

  • Classroom Opens
    November 20, 2018
  • Prerequisites
    Python & Mathematics

    See prerequisites in detail

In Collaboration With
  • Kaggle
  • AWS

Why Take Udacity's Machine Learning Nanodegree Program?

Throughout this machine learning course, you’ll master valuable machine learning skills that are in demand across countless industries. Investment levels in this space continue to rise, thousands of highly-valued startups have entered the field, and demand for machine learning talent shows no signs of leveling. Program graduates emerge uniquely prepared to excel in machine learning roles.

Why Take Udacity's Machine Learning Nanodegree Program?

ML/AI market will grow from $420 million in 2014 to an estimated $5.05 billion by 2020!

Effective and Engaging Content
Effective and Engaging Content

Effective and Engaging Content

Get started learning Machine Learning through interactive content like quizzes, videos, and hands-on programs. Our learn-by-doing approach is the most effective way to learn Machine Learning skills.

Beneficial and Supportive Project Review

Beneficial and Supportive Project Review

Advance quickly and successfully through the curriculum with the support of expert reviewers whose detailed feedback will ensure you master all the right skills.

AWS Credits to Deploy Your Models
AWS Credits to Deploy Your Models

AWS Credits to Deploy Your Models

Get free access to Amazon Web Services - the same platform used by Machine Learning Engineers around the globe - to build and deploy your models.

Career-ready Nanodegree Program

Career-ready Nanodegree Program

Learn skills that will prepare you for jobs in machine learning and you’ll be ready to deliver immediate value to any organization. You will also work with experienced careers professionals on crafting your LinkedIn and Github profiles.

Advance your Career

The Machine Learning Nanodegree program is designed to ensure your long-term success in the field. The skills you learn will prepare you for jobs in machine learning, and you’ll be ready to deliver immediate value to any organization. We will support you throughout your learning journey; from gaining valuable technical and career skills, to landing your dream job. Designed to prepare you for career success in machine learning.

Hiring PartnersMeet Top Companies

Machine learning experts are in high demand. Create your professional portfolio with Udacity and open up a world of opportunities. Our hiring partners are eager to meet you.Create your portfolio and open up a world of opportunities.

Succeed with RecruitersSucceed with Recruiters

Work with experienced careers professionals for tailored advice on how to improve your search and impress recruiters. Including feedback on your LinkedIn, GitHub, and professional brand.Work with career professionals to impress recruiters.

Build a Great NetworkBuild a Great Network

40,000+ highly-skilled grads make up your new career community. Ready to collaborate, share referrals, or hire your own team? The Udacity Alumni Network is here for you!Connect with our global community to grow your career.

What You Will Learn

Download Syllabus
Term 1

Machine Learning Foundations

In this term, you’ll begin by exploring core machine learning concepts, before moving on to supervised and unsupervised learning.

In this term, you’ll begin by exploring core machine learning concepts, before moving on to supervised and unsupervised learning.

See details

3 months to complete

Term 2

Advanced Machine Learning

In this term, you’ll cover topics in deep learning and reinforcement learning. The term will culminate with a capstone project of your choosing, that applies the machine learning techniques and algorithms you have learned.

In this term, you’ll cover topics in deep learning and reinforcement learning. The term will culminate with a capstone project of your choosing.

See details

3 months to complete

Projects that you will build


In this optional project, you will create decision functions that attempt to predict survival outcomes from the 1912 Titanic disaster based on each passenger’s features, such as sex and age. You will start with a simple algorithm and increase its complexity until you are able to accurately predict the outcomes for at least 80% of the passengers in the provided data. This project will introduce you to some of the concepts of machine learning as you start the Nanodegree program.


The Boston housing market is highly competitive, and you want to be the best real estate agent in the area. To compete with your peers, you decide to leverage a few basic machine learning concepts to assist you and a client with finding the best selling price for their home. Luckily, you’ve come across the Boston Housing dataset which contains aggregated data on various features for houses in Greater Boston communities, including the median value of homes for each of those areas. Your task is to build an optimal model based on a statistical analysis with the tools available. This model will then used to estimate the best selling price for your client’s home.


CharityML is a fictitious charity organization located in the heart of Silicon Valley that was established to provide financial support for people eager to learn machine learning. After nearly 32,000 letters sent to people in the community, CharityML determined that every donation they received came from someone that was making more than $50,000 annually. To expand their potential donor base, CharityML has decided to send letters to residents of California, but to only those most likely to donate to the charity. With nearly 15 million working Californians, CharityML has brought you on board to help build an algorithm to best identify potential donors and reduce overhead cost of sending mail. Your goal will be evaluate and optimize several different supervised learners to determine which algorithm will provide the highest donation yield while also reducing the total number of letters being sent.


A wholesale distributor recently tested a change to their delivery method for some customers, by moving from a morning delivery service five days a week to a cheaper evening delivery service three days a week.Initial testing did not discover any significant unsatisfactory results, so they implemented the cheaper option for all customers. Almost immediately, the distributor began getting complaints about the delivery service change and customers were canceling deliveries — losing the distributor more money than what was being saved. You’ve been hired by the wholesale distributor to find what types of customers they have to help them make better, more informed business decisions in the future. Your task is to use unsupervised learning techniques to see if any similarities exist between customers, and how to best segment customers into distinct categories.


In the not-so-distant future, taxicab companies across the United States no longer employ human drivers to operate their fleet of vehicles. Instead, the taxicabs are operated by self-driving agents — known as **smartcabs** — to transport people from one location to another within the cities those companies operate. In major metropolitan areas, such as Chicago, New York City, and San Francisco, an increasing number of people have come to rely on **smartcabs** to get to where they need to go as safely and efficiently as possible. Although **smartcabs** have become the transport of choice, concerns have arose that a self-driving agent might not be as safe or efficient as human drivers, particularly when considering city traffic lights and other vehicles. To alleviate these concerns, your task as an employee for a national taxicab company is to use reinforcement learning techniques to construct a demonstration of a **smartcab** operating in real-time to prove that both safety and efficiency can be achieved.


Classify images from the CIFAR-10 dataset using a convolutional neural network.


In this capstone project, you will leverage what you’ve learned throughout the Nanodegree program to solve a problem of your choice by applying machine learning algorithms and techniques. You will first **define** the problem you want to solve and investigate potential solutions and performance metrics. Next, you will **analyze** the problem through visualizations and data exploration to have a better understanding of what algorithms and features are appropriate for solving it. You will then **implement** your algorithms and metrics of choice, documenting the preprocessing, refinement, and postprocessing steps along the way. Afterwards, you will collect **results** about the performance of the models used, visualize significant quantities, and validate/justify these values. Finally, you will construct **conclusions** about your results, and discuss whether your implementation adequately solves the problem.


In this project, you will update your resume according to the conventions that recruiters expect and get tips on how to best represent yourself to pass the "6 second screen". You will also make sure that your resume is appropriately targeted for the job you’re applying for. We recommend all students update their resumes to show off their newly acquired skills regardless of whether you are looking for a new job soon.


For this project, you will be given five technical interviewing questions on a variety of topics discussed in the technical interviewing course. You should write up a clean and efficient answer in Python, as well as a text explanation of the efficiency of your code and your design choices. A qualified reviewer will look over your answer and give you feedback on anything that might be awesome or lacking—is your solution the most efficient one possible? Are you doing a good job of explaining your thoughts? Is your code elegant and easy to read?

Learn with the best

Arpan Chakraborty
Arpan Chakraborty


Arpan is a computer scientist with a PhD from North Carolina State University. He teaches at Georgia Tech (within the Masters in Computer Science program), and is a coauthor of the book Practical Graph Mining with R.

Mat Leonard
Mat Leonard


Mat is a former physicist, research neuroscientist, and data scientist. He did his PhD and Postdoctoral Fellowship at the University of California, Berkeley.

Luis Serrano
Luis Serrano


Luis was formerly a Machine Learning Engineer at Google. He holds a PhD in mathematics from the University of Michigan, and a Postdoctoral Fellowship at the University of Quebec at Montreal.

Alexis Cook
Alexis Cook


Alexis is an applied mathematician with a Masters in computer science from Brown University and a Masters in applied mathematics from the University of Michigan. She was formerly a National Science Foundation Graduate Research Fellow.

Jay Alammar
Jay Alammar


Jay is a software engineer, the founder of Qaym (an Arabic-language review site), and the Investment Principal at the Riyad Taqnia Fund, a $120 million venture capital fund focused on high-technology startups.

Sebastian Thrun
Sebastian Thrun


As the founder and president of Udacity, Sebastian’s mission is to democratize education. He is also the founder of Google X, where he led projects including the Self-Driving Car, Google Glass and more.

Ortal Arel
Ortal Arel


Ortal Arel is a former computer engineering professor. She holds a PhD in Computer Engineering from the University of Tennessee. Her doctoral research work was in the area of applied cryptography.


Learn now, pay later

To make it even easier to learn, you can finance your Nanodegree through Affirm.

  • Calendar

    Easy monthly payments

    As low as $84 per month at 0% APR.

    Learn more.

  • Finance

    Flexible Payments

    Pay your monthly bill using a bank transfer, check, or debit card.

Term 1
Become a Machine Learning Engineer
$999 USD


Become a Machine Learning Engineer. Master skills by building models that solve real-world challenges.

Term 2
Advanced Machine Learning
$999 USD


Learn to deploy state-of-the-art deep learning and reinforcement learning algorithms, and build a job-ready portfolio of projects.


    Program Details
  • Why should I enroll in the Udacity Machine Learning Nanodegree Program?
    Machine learning is everywhere, and is often at work even when we don't realize it. Google Translate, Siri, and Facebook News Feeds are just a few popular examples of machine learning's omnipresence. The ability to develop machines and systems that can automatically improve themselves puts machine learning at the absolute forefront of virtually any field that relies on data. If you are interested in the field of Machine Learning, and want to get hands on experience building models to topical datasets, so that you can join the pioneers who lead this field in the industry today, this program is ideal.

    This program is also excellent for Data Analysts who want to move into a more machine learning centric role because this program focuses specifically on building real world skills that you will be able to apply to your Machine Learning Engineer job. The goal of the Machine Learning Nanodegree program is to equip you with key skills that will prepare you to fill roles within companies seeking machine learning experts as well as those looking to introduce machine learning techniques to their organizations. Those skills cover Supervised Learning, Unsupervised Learning, Reinforcement Learning, and Deep Learning.
  • Where can I find the syllabus for this Machine Learning course?
    Please take a look.
  • Will content from the program also be available for free outside of the Nanodegree program?
    While some of the video material is available outside of the program, most of the material will only be available to currently enrolled Nanodegree students. Access to project feedback, instructor support, and hiring partners are benefits exclusive to the Nanodegree programs.
  • How is this Nanodegree program structured?
    The Machine Learning Nanodegree program is comprised of two (2) Terms of three (3) months each. A Term has fixed start and end dates. To graduate, students must successfully complete a total of seven (7) projects across both terms, each of which affords you the opportunity to apply and demonstrate new skills that you learn in the lessons. Each project will be reviewed by the Udacity reviewer network. Feedback will be provided and if you do not pass the project, you will be asked to resubmit the project until it passes.
  • What payment methods do you accept?
    At this time we only accept credit cards in Europe. Since last year, students in Germany, Austria and Switzerland also have the option to pay via SEPA direct debit. We are working to offer you more payment options (like Paypal) in the near future.
    Please note that you can always change your payment method.
  • Is there a free trial period for this program?
    No, there is no free trial period for this program.
  • What is the refund policy?
    There is a 7-day refund policy. During this time, you can visit the Settings page of your Udacity classroom where you can unenroll and request a full refund. This 7-day window begins the day the classroom opens. After the first 7 days, course fees are non-refundable.
  • Are there any scholarships available for this program?
    All current scholarship opportunities are posted on our scholarships page.
  • What is a Nanodegree Program?
    To read more about our Nanodegree program structure, please refer to Udacity FAQ.
  • Is this program online, in-person, or some combination of both?
    The program is online, and students interact with peers, mentors, coaches, and instructors in our virtual classrooms, in forums, and on Slack.
  • Is this Machine Learning Nanodegree self-paced?
    It is not. This is a unique, termed program that requires students to keep pace with their peers throughout the duration of the program. If a student does not complete a term by the term deadline, they will be removed from the program and will need to re-enroll in a new term and pay the full term fee in order to continue.
  • Can I enroll in the program at any time?
    Yes! We admit students on a rolling basis, and you will automatically be added to the next available term once you've successfully enrolled. Every term has a fixed start date, and content becomes available on that date.
  • Can I enter the classroom prior to the start of my term?
    Yes, but you won't be able to access the content, as it stays locked until your term begins. In the classroom, you'll see a countdown to your term's start date.
  • What happens if I don't complete a project on time?
    It is strongly recommended that you complete each project on time to ensure you meet graduation requirements. To graduate, you must complete, submit, and meet expectations for all required projects within six months of your start date. While there is no penalty for missing a project deadline, missing one puts you at risk to be removed from the program if you do not stay on track and complete all required projects before the term ends. Finally, by keeping pace with your fellow students, you'll gain much more value from forums and Slack channels!
  • What happens if I don't complete a term by the term deadline?
    You will receive a free four-week extension, which is automatically applied to your account if you do not complete the term within the allotted six-month timeframe. If you do not complete the term within the extension, you will be removed from the program and will no longer be able to access course content. To resume access to the course, you would need to pay the term fee again. Your progress would carry over, so you would be able to continue where you left off.
  • Will I be able to pause or defer my Nanodegree program?
    No. Due to the fixed-term nature of the Machine Learning Nanodegree program, and the need for maintaining a consistent and stable student body throughout, it will not be possible to pause or defer your enrollment in this program. We ask that you please make sure to enroll for a term only if you are able to commit to the entire time frame.
  • Will I have access to the material even after the term ends?
    No. You will retain access to the program materials for a period of time after graduation and you may download certain materials for your own records if you wish. Please note however, that students who leave the program—or who are removed from the program for failure to meet deadlines—prior to successfully graduating, will cease to have access.
  • What are the prerequisites for enrollment?
    Prior to entering the program, you should have the following knowledge:

    Intermediate Python programming knowledge, including:
    • Strings, numbers, and variables
    • Statements, operators, and expressions
    • Lists, tuples, and dictionaries
    • Conditions, loops
    • Procedures, objects, modules, and libraries
    • Troubleshooting and debugging
    • Research & documentation
    • Problem solving
    • Algorithms and data structures

    Intermediate statistical knowledge,including:
    • Populations, samples
    • Mean, median, mode
    • Standard error
    • Variation, standard deviations
    • Normal distribution
    • Precision and accuracy
    • Hypothesis testing
    • Problem solving
    • Confidence Interval, P-values, T-test, Statistical Significance

    Intermediate calculus and linear algebra mastery, including:
    • Derivatives
    • Integrals
    • Series expansions
    • Matrix operations through eigenvectors and eigenvalues
  • What courses do you recommend if I do not meet these prerequisites?
  • What software and versions will I need in this program?
    We recommend having Anaconda installed with Python 2.7 as a minimum. Virtually any 64-bit operating with at least 8GB of RAM will be suitable.
  • Is payment due before the term begins?
    Yes. In this way, we know exactly how many student are in a term, and can optimize our instructional and support resources accordingly. Additionally, this approach ensures a consistent and stable student body throughout the program, which fosters a deeper sense of community, and enables richer collaborations as students work together as a group.
  • Can I enroll in other Nanodegree programs while I'm enrolled in the Machine Learning Nanodegree program?
    Our programs require a serious time commitment from students, so while we do not recommend doing so, we do not prohibit concurrent enrollments. This is an intensive, paced program, and students must proceed throughout the programs at the required rate of progress. To make the most of your experience, we believe you are best served by focusing on one program at a time and being fully immersed in the unique structure and pacing. You can always take one after the other!
  • What jobs will this program prepare me for?
    This program can certainly be very valuable in your job and career as it's preparing you for Data Scientist and Machine Learning Engineer jobs. After successfully completing the program you'lI receive a Machine Learning Nanodegree credential and your portfolio of first-class projects will showcase your skills to potential employers.
  • Will I receive a credential when I graduate, as with other Nanodegree programs?
    Yes! You will receive a Machine Learning Nanodegree program credential after you successfully complete the program.
  • I've graduated from the Machine Learning Nanodegree program, but I want to keep learning. Where should I go from here?
    Many of our graduates continue on to our Artificial Intelligence and Self-Driving Car Engineer Nanodegree programs. Feel free to explore other Nanodegree program options as well.

Become a Machine Learning Engineer