SCHOOL OF ARTIFICIAL INTELLIGENCE
AI Programming with
Python
Syllabus
UDACITY.COM
AI PROGRAMMING WITH PYTHON
Overview
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.
Programa Nanodegree Iniciante 73 hours 4.7 (624 Reviews)
Prerequisites
Prior to enrolling, you should have the following knowledge:
Elementary algebra Basic Python
You will also need to be able to communicate fluently and professionally in written and spoken English.
Skills You'll Learn
Introduction to Python for AI Programmers
Python data types | Control flow | Python operators | Python exception handling | Lambda expressions | Code
debugging | Python function definition | List comprehension | Generators | Variable scope | Iterators | Built-in Python
functions | Pip | File i/o | User input handling | Python data structures | Loops | Docstrings | Python scripting
Linear Algebra Essentials
NumPy | matplotlib | Vector visualization | Systems of linear equations | Linear algebra | Matrix multiplication
Calculus Essentials
Limits of functions | Gradient descent | Backpropagation | Integrals | Derivatives | Implicit differentiation | Chain rule
application
Programming Transformer Neural Networks with PyTorch
Transformer neural networks
Create Your Own Image Classifier
Training neural networks | Backpropagation | PyTorch | AI algorithms in Python | Gradient descent
UDACITY.COM
AI PROGRAMMING WITH PYTHON
Courses
01. Introduction to AI Programming 2 hours
Welcome to the AI programming with python Nanodegree Program!
Come and explore the beautiful world of AI.
L1 Welcome to AI Programming with Welcome to the AI Programming with Python Nanodegree program!
Python
L2 Getting Help You are starting a challenging but rewarding journey! Take 5 minutes to read
how to get help with projects and content.
L3 Get Help with Your Account What to do if you have questions about your account or general questions
about the program.
02. Introduction to Python for AI Programmers 31 hours
Explore Python fundamentals tailored for AI beginners. Master data types, control flow, functions, and scripting
through hands-on projects, gaining essential skills to lay the groundwork for AI coding success.
L1 Why Python Programming for AI Welcome to Introduction to Python! Here's an overview of the course.
L2 Using Python Data Types and Familiarize yourself with the building blocks of Python! Learn about data
Operators in AI Programming types and operators, built-in functions, type conversion, whitespace, and style
guidelines.
L3 Python Data Structures in AI Use data structures to order and group different data types together! Learn
Programming about the types of data structures in Python, along with more useful built-in
functions and operators.
L4 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.
L5 Using Python Functions in AI Learn how to use functions to improve and reuse your code! Learn about
Programming functions, variable scope, documentation, lambda expressions, iterators, and
generators.
UDACITY.COM
AI PROGRAMMING WITH PYTHON
L6 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.
L7 Introduction to Object-Oriented Learn the basics of object-oriented programming so that you can build your
Python for AI Programming own Python package.
L8 Project: In this project, you will use Python code and a created image classifier to
Use a Pre-trained Image Classifier to identify dog breeds.
Identify Dog Breeds
03. Numpy, Pandas, Matplotlib 8 hours
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).
L1 Anaconda Anaconda is a package and environment manager built specifically for data.
Learn how to use Anaconda to improve your data analysis workflow.
L2 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!
L3 NumPy Learn the basics of NumPy and how to use it to create and manipulate arrays.
L4 Pandas Learn the basics of Pandas Series and DataFrames and how to use them to
load and process data.
L5 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.
L6 Matplotlib and Seaborn Part 2 In this lesson, you will use matplotlib and seaborn to create visualizations to
depict the relationships between two variables.
04. Linear Algebra Essentials 9 hours
Learn the basics of the beautiful world of Linear Algebra and
why it is such an important mathematical tool in the world of AI.
UDACITY.COM
AI PROGRAMMING WITH PYTHON
L1 Introduction
Take a sneak peek into the beautiful world of Linear Algebra and learn why it
is such an important mathematical tool.
L2 Vectors
Learn about vectors, the basic building block of Linear Algebra.
L3 Linear Combination
Learn how to scale and add vectors and how to visualize the process.
L4 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.
L5 Vectors Lab Learn how to graph 2D vectors.
L6 Linear Combination Lab Learn how to computationally determine a vector's span and solve a simple
system of equations.
L7 Linear Mapping Lab Learn how to solve some problems computationally using vectors and
matrices.
L8 Linear Algebra in Neural Networks Take a peek into the world of Neural Networks and see how it related directly
to Linear Algebra!
05. Calculus Essentials 3 hours
This course covers foundational topics in Calculus. You will learn the foundations of calculus and understand how
to train a neural network: plotting, derivatives, the chain rule, and more. You will also see how these mathematical
skills visually come to life with a neural network example.
L1 Calculus
L2 Calculus in Neural Networks
06. Neural Networks - AI Programming with Python 13 hours
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.
L1 Welcome to Neural Networks
UDACITY.COM
AI PROGRAMMING WITH PYTHON
L2 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.
L3 Implementing Gradient Descent Mat will introduce you to a different error function and guide you through
implementing gradient descent using numpy matrix multiplication.
L4 Training Neural Networks Now that you know what neural networks are, in this lesson you will learn
several techniques to improve their training.
L5 Deep Learning with PyTorch Learn how to use PyTorch for building deep learning models.
07. Programming Transformer Neural Networks with PyTorch 4 hours
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.
L1 Introduction to Transformer Neural Explore Transformer neural networks, their architecture, and applications
Networks like ChatGPT. Delve into NLP basics, tokenization, and model training using
PyTorch for AI advancements.
L2 Building Transformer Neural Learn to build a Transformer model with PyTorch, covering tokenization,
Networks with PyTorch embeddings, multi-head attention, training, and text generation for NLP
tasks.
L3 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.
08. Create Your Own Image Classifier 4 hours
In the second and final project for this course, you'll build a state-of-the-art image classification application.
L1 Project: In this project, you'll build a Python application that can train an image
Create Your Own Image Classifier classifier on a dataset, then predict new images using the trained model.
UDACITY.COM
AI PROGRAMMING WITH PYTHON
09. Next Steps! 5 minutes
Congratulations!!!!! You finished your first nanodegree in the School of AI! What are the next steps?
L1 How Do I Continue From Here?
10. Git and GitHub 7 hours
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.
L1 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!
L2 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.
L3 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.
L4 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.
L5 Writing READMEs for Repos Learn the importance of well documented code and see how to craft
meaningful READMEs.
11. Intro to Machine Learning 12 minutes
L1 Intro An introduction to what you'll learn in this course!
L2 Linear Regression Learn how effective linear regression algorithms are in predicting numerical
data
UDACITY.COM
AI PROGRAMMING WITH PYTHON
L3 Logistic Regression Learn about one of the most basic forms of regression modeling - logistic
regression
L4 Decision Trees Learn how decision trees are a structure for decision-making where each
decision leads to a set of consequences or additional decisions.
L5 Naive Bayes Learn how powerful Naive Bayesian Algorithms are for creating classifiers for
incoming labeled data.
L6 Support Vector Machines Learn about how support vector machines can be effective models for
classification.
L7 Ensemble Methods Learn about bagging and boosting, two common ensemble methods for
improving the accuracy of supervised learning approaches.
L8 Outro Let's recap and wrap up what we've learned.
12. Learning Rate 15 minutes
Still curious about the learning rate, how sensitive it is and what role it plays in the accuracy of the training process?
L1 Visualizing The Importance Of The Visualizing the importance of the learning rate.
Learning Rate
UDACITY.COM
AI PROGRAMMING WITH PYTHON
Meet Your Instructors
Mat Leonard Andrew Paster
Content Developer Instructor
Mat is a former physicist, research neuroscientist, and data scientist. Andrew has an engineering degree from Yale, and has used his data
He did his PhD and Postdoctoral Fellowship at the University of science skills to build a jewelry business from the ground up. He has
California, Berkeley. additionally created courses for Udacity's Self-Driving Car Engineer
Nanodegree program.
Jennifer Staab Luis Serrano
Instructor Instructor
Jennifer has a PhD in Computer Science and a Masters in Biostatistics; Luis was formerly a Machine Learning Engineer at Google. He holds
she was a professor at Florida Polytechnic University. She previously a PhD in mathematics from the University of Michigan, and a
worked at RTI International and United Therapeutics as a statistician Postdoctoral Fellowship at the University of Quebec at Montreal.
and computer scientist.
Juan Delgado Juno Lee
Content Developer Instructor
Juan is a computational physicist with a Masters in Astronomy. He As a data scientist at Looplist, Juno built neural networks to
is finishing his PhD in Biophysics. He previously worked at NASA analyze and categorize product images, a recommendation system to
developing space instruments and writing software to analyze large personalize shopping experiences for each user, and tools to generate
amounts of scientific data using machine learning techniques. insight into user behavior.
Mike Yi Grant Sanderson
Data Analyst Instructor Instructor
Mike is a content developer with a multidisciplinary academic Grant Sanderson is the creator of the YouTube channel 3Blue1Brown,
background, including math, statistics, physics, and psychology. which is devoted to teaching math visually, using a custom-built
Previously, he worked on Udacity's Data Analyst Nanodegree program animation tool. He was previously a content creator for Khan
as a support lead. Academy.
UDACITY.COM
AI PROGRAMMING WITH PYTHON
Ortal Arel Ivan Mushketyk
Curriculum Lead Software Engineer
Ortal Arel has a PhD in Computer Engineering, and has been a Experienced software engineer with over ten years in the field. Worked
professor and researcher in the field of applied cryptography. She has at at AWS and Stripe, as well as several start-ups. An experienced
worked on design and analysis of intelligent algorithms for high-speed online instructor, creating courses on AI, data engineering, and AWS.
custom digital architectures. Passionate about leveraging technology to solve complex problems
and sharing knowledge with others.
UDACITY.COM
AI PROGRAMMING WITH PYTHON
Why Udacity
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
24/7 access to real human support
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 Gain valuable insights and improve your skills
Learn industry best practices
UDACITY.COM