Skills you'll learn:

AI Programming with Python
Nanodegree Program
Develop a strong foundation in Python programming for AI, utilizing tools like NumPy, pandas, and Matplotlib for data analysis and visualization. Learn how to use, build, and train machine learning models with popular Python libraries. Implement neural networks using PyTorch. Gain practical experience with deep learning frameworks by applying your skills through hands-on projects. Explore generative AI with Transformer neural networks, learn to build, train, and deploy them with PyTorch, and leverage pre-trained models for natural language processing tasks. Designed for individuals with basic programming experience, this program prepares you for advanced studies in AI and machine learning, equipping you with the skills to begin a career in AI programming.
Develop a strong foundation in Python programming for AI, utilizing tools like NumPy, pandas, and Matplotlib for data analysis and visualization. Learn how to use, build, and train machine learning models with popular Python libraries. Implement neural networks using PyTorch. Gain practical experience with deep learning frameworks by applying your skills through hands-on projects. Explore generative AI with Transformer neural networks, learn to build, train, and deploy them with PyTorch, and leverage pre-trained models for natural language processing tasks. Designed for individuals with basic programming experience, this program prepares you for advanced studies in AI and machine learning, equipping you with the skills to begin a career in AI programming.
Beginner
3 months
Last Updated January 14, 2025
Prerequisites:
Beginner
3 months
Last Updated January 14, 2025
Skills you'll learn:
Prerequisites:

Skills that demand high salaries
Python developers, particularly those working in AI, are experiencing substantial demand with a projected job growth rate of 25% between 2021 and 2031.*
AI Developer
Low
$102,474
Average
$130,662
High
$179,600

Skills that demand high salaries
AI Developer
Python developers, particularly those working in AI, are experiencing substantial demand with a projected job growth rate of 25% between 2021 and 2031.*
Salary Ranges
- Low
- $102,474
- Average
- $130,662
- High
- $179,600
Courses In This Program
Course 1 • 2 hours
Introduction to AI Programming
Welcome to the AI programming with python Nanodegree Program! Come and explore the beautiful world of AI.
Lesson 1
Welcome to AI Programming with Python
Welcome to the AI Programming with Python Nanodegree program!
Lesson 2
Getting Help
You are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.
Lesson 3
Get Help with Your Account
What to do if you have questions about your account or general questions about the program.
Course 2 • 1 month
Introduction to Python for AI Programmers
Start coding with Python, drawing upon libraries and automation scripts to solve complex problems quickly.
Lesson 1
Why Python Programming for AI
Welcome to Introduction to Python! Here's an overview of the course.
Lesson 2
Using Python Data Types and Operators in AI Programming
Familiarize yourself with the building blocks of Python! Learn about data types and operators, built-in functions, type conversion, whitespace, and style guidelines.
Lesson 3
Python Data Structures in AI Programming
Use data structures to order and group different data types together! Learn about the types of data structures in Python, along with more useful built-in functions and operators.
Lesson 4
Using Control Flow in AI Programming
Build logic into your code with control flow tools! Learn about conditional statements, repeating code with loops and useful built-in functions, and list comprehensions.
Lesson 5
Using Python Functions in AI Programming
Learn how to use functions to improve and reuse your code! Learn about functions, variable scope, documentation, lambda expressions, iterators, and generators.
Lesson 6
Python Scripting for AI Programming
Set up your own programming environment to write and run Python scripts locally! Learn good scripting practices, interact with different inputs, and discover awesome tools.
Lesson 7
Introduction to Object-Oriented Python for AI Programming
Learn the basics of object-oriented programming so that you can build your own Python package.
Lesson 8 • Project
Use a Pre-trained Image Classifier to Identify Dog Breeds
In this project, you will use Python code and a created image classifier to identify dog breeds.
Course 3 • 2 weeks
Numpy, Pandas, Matplotlib
Let's focus on library packages for Python, such as : Numpy (which adds support for large data), Pandas (which is used for data manipulation and analysis) And Matplotlib (which is used for data visualization).
Lesson 1
Anaconda
Anaconda is a package and environment manager built specifically for data. Learn how to use Anaconda to improve your data analysis workflow.
Lesson 2
Jupyter Notebooks
Jupyter Notebooks are a great tool for getting started with writing python code. Though in production you often will write code in scripts, notebooks are wonderful for sharing insights and data viz!
Lesson 3
NumPy
Learn the basics of NumPy and how to use it to create and manipulate arrays.
Lesson 4
Pandas
Learn the basics of Pandas Series and DataFrames and how to use them to load and process data.
Lesson 5
Matplotlib and Seaborn Part 1
Learn how to use matplotlib and seaborn to visualize your data. In this lesson, you will learn how to create visualizations to depict the distributions of single variables.
Lesson 6
Matplotlib and Seaborn Part 2
In this lesson, you will use matplotlib and seaborn to create visualizations to depict the relationships between two variables.
Course 4 • 2 weeks
Linear Algebra Essentials
Learn the basics of the beautiful world of Linear Algebra and why it is such an important mathematical tool in the world of AI.
Lesson 1
Introduction
Take a sneak peek into the beautiful world of Linear Algebra and learn why it is such an important mathematical tool.
Lesson 2
Vectors
Learn about vectors, the basic building block of Linear Algebra.
Lesson 3
Linear Combination
Learn how to scale and add vectors and how to visualize the process.
Lesson 4
Linear Transformation and Matrices
What is a linear transformation and how is it directly related to matrices? Learn how to apply the math and visualize the concept.
Lesson 5
Vectors Lab
Learn how to graph 2D vectors.
Lesson 6
Linear Combination Lab
Learn how to computationally determine a vector's span and solve a simple system of equations.
Lesson 7
Linear Mapping Lab
Learn how to solve some problems computationally using vectors and matrices.
Lesson 8
Linear Algebra in Neural Networks
Take a peek into the world of Neural Networks and see how it related directly to Linear Algebra!
Course 5 • 3 hours
Calculus Essentials
Covers foundational topics in CalculusLearn the foundations of calculus to understand how to train a neural network: plotting, derivatives, the chain rule, and more. See how these mathematical skills visually come to life with a neural network example.
Lesson 1
Calculus
Lesson 2
Calculus in Neural Networks
Course 6 • 3 weeks
Neural Networks - AI Programming with Python
This course on neural networks explains how algorithms inspired by the human brain operate and puts to use those concepts when designing neural networks to solve particular problems.
Lesson 1
Welcome to Neural Networks
Lesson 2
Introduction to Neural Networks
In this lesson, Luis will give you solid foundations on deep learning and neural networks. You'll also implement gradient descent and backpropagation in Python right here in the classroom.
Lesson 3
Implementing Gradient Descent
Mat will introduce you to a different error function and guide you through implementing gradient descent using numpy matrix multiplication.
Lesson 4
Training Neural Networks
Now that you know what neural networks are, in this lesson you will learn several techniques to improve their training.
Lesson 5
Deep Learning with PyTorch
Learn how to use PyTorch for building deep learning models.
Course 7 • 4 hours
Programming Transformer Neural Networks with PyTorch
This course will guide you through the essential concepts of Transformer Neural Networks and their implementation using PyTorch. Starting with an introduction to Transformers, you will learn to build and train Transformer models from scratch. Additionally, you will explore the advantages of using pre-trained Transformer models and how to leverage them effectively in your projects. By the end of this course, you will have a solid foundation in programming Transformer Neural Networks with PyTorch.
Lesson 1
Introduction to Transformer Neural Networks
Explore Transformer neural networks, their architecture, and applications like ChatGPT. Delve into NLP basics, tokenization, and model training using PyTorch for AI advancements.
Lesson 2
Building Transformer Neural Networks with PyTorch
Learn to build a Transformer model with PyTorch, covering tokenization, embeddings, multi-head attention, training, and text generation for NLP tasks.
Lesson 3
Using Pre-Trained Transformers
Master the use of pre-trained transformers, including their training, fine-tuning, limitations, and applying them to NLP tasks like text generation and QA.
Course 8 • 4 hours
Create Your Own Image Classifier
In the second and final project for this course, you'll build a state-of-the-art image classification application.
Lesson 1 • Project
Create Your Own Image Classifier
In this project, you'll build a Python application that can train an image classifier on a dataset, then predict new images using the trained model.
Course 9 • 5 minutes
Next Steps!
Congratulations!!!!! You finished your first nanodegree in the School of AI! What are the next steps?
Lesson 1
How Do I Continue From Here?
(Optional) Course 10 • 1 week
Git and GitHub
Programmers use version control software to manage changes to software projects large and small. In these lessons you will learn to keep track of changes to your code using the Git version control software, and collaborate with other programmers using GitHub.
Lesson 1
What is Version Control
Version control is an incredibly important part of a professional programmer's life. In this lesson, you'll learn about the benefits of version control and install the version control tool Git!
Lesson 2
Create a Git Repo
Now that you've learned the benefits of Version Control and gotten Git installed, it's time you learn how to create a repository.
Lesson 3
Commits, Tags, Conflicts
Knowing how to review an existing Git repository's history of commits is extremely important. You'll learn how to do just that in this lesson.
Lesson 4
Remotes and Developer Repos
In this lesson, you'll learn how to fork another developer's project. Collaborating with other developers can be a tricky process, so you'll learn how to contribute to a public project.
Lesson 5
Writing READMEs for Repos
Learn the importance of well documented code and see how to craft meaningful READMEs.
(Optional) Course 11 • 12 minutes
Intro to Machine Learning
Lesson 1
Intro
An introduction to what you'll learn in this course!
Lesson 2
Linear Regression
Learn how effective linear regression algorithms are in predicting numerical data
Lesson 3
Logistic Regression
Learn about one of the most basic forms of regression modeling - logistic regression
Lesson 4
Decision Trees
Learn how decision trees are a structure for decision-making where each decision leads to a set of consequences or additional decisions.
Lesson 5
Naive Bayes
Learn how powerful Naive Bayesian Algorithms are for creating classifiers for incoming labeled data.
Lesson 6
Support Vector Machines
Learn about how support vector machines can be effective models for classification.
Lesson 7
Ensemble Methods
Learn about bagging and boosting, two common ensemble methods for improving the accuracy of supervised learning approaches.
Lesson 8
Outro
Let's recap and wrap up what we've learned.
(Optional) Course 12 • 15 minutes
Learning Rate
Still curious about the learning rate, how sensitive it is and what role it plays in the accuracy of the training process?
Lesson 1
Visualizing The Importance Of The Learning Rate
Visualizing the importance of the learning rate.
Taught By The Best

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

Andrew Paster
Instructor
Andrew has an engineering degree from Yale, and has used his data science skills to build a jewelry business from the ground up. He has additionally created courses for Udacity's Self-Driving Car Engineer Nanodegree program.

Jennifer Staab
Instructor
Jennifer has a PhD in Computer Science and a Masters in Biostatistics; she was a professor at Florida Polytechnic University. She previously worked at RTI International and United Therapeutics as a statistician and computer scientist.

Luis Serrano
Instructor
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.

Juan Delgado
Content Developer
Juan is a computational physicist with a Masters in Astronomy. He is finishing his PhD in Biophysics. He previously worked at NASA developing space instruments and writing software to analyze large amounts of scientific data using machine learning techniques.

Juno Lee
Instructor
As a data scientist at Looplist, Juno built neural networks to analyze and categorize product images, a recommendation system to personalize shopping experiences for each user, and tools to generate insight into user behavior.

Mike Yi
Data Analyst Instructor
Mike is a content developer with a multidisciplinary academic background, including math, statistics, physics, and psychology. Previously, he worked on Udacity's Data Analyst Nanodegree program as a support lead.

Grant Sanderson
Instructor
Grant Sanderson is the creator of the YouTube channel 3Blue1Brown, which is devoted to teaching math visually, using a custom-built animation tool. He was previously a content creator for Khan Academy.

Ortal Arel
Curriculum Lead
Ortal Arel has a PhD in Computer Engineering, and has been a professor and researcher in the field of applied cryptography. She has worked on design and analysis of intelligent algorithms for high-speed custom digital architectures.

Ivan Mushketyk
Software Engineer
Experienced software engineer with over ten years in the field. Worked at at AWS and Stripe, as well as several start-ups. An experienced online instructor, creating courses on AI, data engineering, and AWS. Passionate about leveraging technology to solve complex problems and sharing knowledge with others.
Student Reviews
Average Rating: 4.7 Stars
624 Reviews
Saif A.
February 27, 2023
That project is more than excellent; it provides a solid foundation for deep learning. But the content is so large that you need to take care of each part to get the maximum benefit. And the Udacity team is extremely helpful. 
Xavier A.
November 7, 2022
good review
VIVEK B.
October 29, 2022
Excellent program.
Muhammad Z.
October 9, 2022
It was a wonderful experience working in a real-time environment. The course plan was perfectly aligned with my study and future goals.
Abdul R.
September 23, 2022
very helpful program
The Udacity Difference
Combine technology training for employees with industry experts, mentors, and projects, for critical thinking that pushes innovation. Our proven upskilling system goes after success—relentlessly.

Demonstrate proficiency with practical projects
Projects are based on real-world scenarios and challenges, allowing you to apply the skills you learn to practical situations, while giving you real hands-on experience.
Gain proven experience
Retain knowledge longer
Apply new skills immediately

Top-tier services to ensure learner success
Reviewers provide timely and constructive feedback on your project submissions, highlighting areas of improvement and offering practical tips to enhance your work.
Get help from subject matter experts
Learn industry best practices
Gain valuable insights and improve your skills

Enroll in AI Programming with Python. Choose the plan that works for you
All Access monthly
Cancel Anytime
Unlimited access to our top-rated courses
Hands-on projects with expert feedback
Personalized career coaching and interview prep
Program Certificates
Best Value
All Access bundle1
All the same great benefits as our monthly plan
The most cost-effective way to develop the skills you want
- 1Discount applies to the first 4 months of membership, after which plans are converted to month-to-month.
Your subscription also includes:
Your subscription also includes:

(186)
2 months
Advanced

1 month
Beginner

4 months
Advanced

(90)
1 month
Beginner

(275)
2 months
Intermediate

(832)
2 months
Beginner

(966)
3 months
Intermediate

(248)
2 months
Intermediate

(356)
4 months
Advanced

(4)
2 months
Advanced

(134)
4 months
Advanced

(309)
2 months
Advanced

1 week
Advanced

(477)
2 months
Advanced

(8)
2 months
Intermediate

4 weeks
Intermediate
About AI Programming with Python
Our AI Programming with Python Nanodegree program offers a beginner-friendly exploration into Python AI programming. This course covers Python, NumPy, Pandas, Matplotlib, PyTorch, and Linear Algebra, laying a solid foundation for building neural networks. You'll engage in practical projects like vector visualization and Python data types, gaining real-world experience. Taught by experts like Mat Leonard and Luis Serrano, this Python AI course combines hands-on learning with industry insights, making it ideal for those starting in AI. At Udacity, we're dedicated to your success. With our approach, you don't just learn – you apply. Our practical projects, based on real-world scenarios, ensure that you gain experience and retain knowledge, enabling you to immediately apply your new skills. Embrace this opportunity to kickstart your career in AI with Udacity, where innovation and success are part of our DNA.