# AI Programming with Python by Udacity

**#31**in category Data Science

Learning Experience | 9.2 |
---|

This Nanodegree program will let you gain expertise in foundational AI programming tools such as Python, Numpy and PyTorch including math skills.

## What is Artificial Intelligence?

Artificial intelligence (AI) is the ability of a digital computer or computer-controlled robot to perform tasks commonly associated with intelligent beings. The term is frequently applied to the project of developing systems endowed with the intellectual processes characteristic of humans, such as the ability to reason, discover meaning, generalize, or learn from past experience. It has been demonstrated that computers can be programmed through AI programming to carry out very complex tasks as, for example, discovering proofs for mathematical theorems or playing chess with great proficiency.

“Artificial intelligence will reach human levels by around 2029. Follow that out further to, say, 2045, we will have multiplied the intelligence, the human biological machine intelligence of our civilization a billion-fold.”

*—Ray Kurzweil*

## About Python Programming

Python is an open-source programming language that is high level and works as a general-purpose language. What sets Python apart from other programming languages is that it is simple to use, can be taught to a beginner, can be embedded into any application, and can run on all current operating systems, including Mac, Windows, and Linux.

“Python is the most powerful language you can still read”.

– Paul Dubois

It is also one of the most powerful languages a programmer can use and is about three and five times faster to code than JavaScript and C++, respectively.

## What you will learn from this course?

You have essential foundation required for utillizing the AI programming tools (Python, NumPy, PyTorch), the math (calculus and linear algebra), and the key techniques of neural networks (gradient descent and backpropagation).

## Why should you enroll in the AI Programming Course?

AI-powered increases in safety, productivity, and efficiency are already improving our world, and the best is yet to come! As it becomes increasingly evident how impactful AI can be, demand for employees with AI skills increases—demand is in fact already skyrocketing.

The AI Programming with Python Nanodegree program makes it easy to learn the in-demand skills employers are looking for. You’ll learn foundational AI programming tools (Python, NumPy, PyTorch) and the essential math skills (linear algebra and calculus) that will enable you to start building your own AI applications through AI programming in just three months.

## Syllabus for the AI Programming Course

### Course 1: AI Programming: Introduction to Python

##### LESSON ONE: Why Python Programming

- Learn why we program.
- Prepare for the course ahead with a detailed topic overview.
- Understand how programming in Python is unique.

##### LESSON TWO: Data Types and Operators

- Understand how data types and operators are the building blocks for Python programming.
- Use the following data types: integers, floats, booleans, strings, lists, tuples, sets, dictionaries.
- Use the following operators: arithmetic, assignment, comparison, logical, membership, identity.

##### LESSON THREE: Control Flow

- Implement decision-making in your code with conditionals.
- Repeat code with for and while loops.
- Exit a loop with break, and skip an iteration of a loop with continue.
- Use helpful built-in functions like zip and enumerate.
- Construct lists in a natural way with list comprehensions.

##### LESSON FOUR: Functions

- Write your own functions to encapsulate a series of commands.
- Understand the variable scope, i.e., which parts of program variables can be referenced from?.
- Make functions easier to use with proper documentation.
- Use lambda expressions, iterators, and generators.

##### LESSON FIVE: Scripting

- Write your own functions through python programming to encapsulate a series of commands.
- Understand the variable scope, i.e., which parts of program variables can be referenced from?
- Make functions easier to use with proper documentation.
- Use lambda expressions, iterators, and generators.

##### LESSON FIVE: Scripting

- Write and run scripts locally on your computer.
- Work with raw input from users.
- Read and write files, handle errors, and import local scripts.
- Use modules from the Python standard library and from third-party libraries.
- Use online resources to help solve problems.

##### LESSON SIX: Classes

- Object-Oriented programming provides a few benefits over procedural programming. Learn the basics by understanding how to use Classes.

### Course 2: Python programming: Anaconda, Jupyter Notebook, NumPy, Pandas, and Matplotlib

##### LESSON ONE: Anaconda

- Learn how to use Anaconda to manage packages and environments for use with Python.

##### LESSON TWO: Jupyter Notebooks

- Learn how to use Jupyter Notebooks to create documents combining code, text, images, and more.

##### LESSON THREE: NumPy Basics

- Learn the value of NumPy and how to use it to manipulate data for AI problems.
- Mini-Project: Use NumPy to mean normalize an ndarray and separate it into several smaller ndarrays.

##### LESSON FOUR: Pandas Basics

- Learn to use Pandas to load and process data for machine learning problems.
- Mini-Project: Use Pandas to plot and get statistics from stock data.

##### LESSON FIVE: Matplotlib Basics

- Learn how to use Matplotlib to choose appropriate plots for one and two variables based on the types of data you have.

### Course 3: AI Programming: Linear Algebra Essentials

##### LESSON ONE: Introduction

- Learn the basics of the beautiful world of Linear Algebra and learn why it is such an important mathematical tool.

##### LESSON TWO: Vectors

- Learn about the basic building block of Linear Algebra.

##### LESSON THREE: Linear Combination

- Learn how to scale and add vectors and how to visualize them in 2 and 3 dimensions.

##### LESSON FOUR: Linear Transformation and Matrices

- Learn what a linear transformation is and how is it directly related to matrices. Learn how to apply math and visualize the concept.

##### LESSON FIVE: Linear Algebra in Neural Networks

- Learn about the world of Neural Networks and see how it relates directly to Linear Algebra.

##### LESSON SIX: Labs

- VECTORS LAB – Learn how to graph 2D and 3D vectors.
- LINEAR COMBINATION LAB – Learn how to computationally determine a vector’s span and solve a simple system of equations.
- LINEAR MAPPING LAB – Learn how to solve problems computationally using vectors and matrices.

### Course 4: AI Programming: Calculus Essentials

##### LESSON ONE: Introduction

- Visualize the essence of calculus. Learn why it is such a powerful concept in mathematics.

##### LESSON TWO: Derivatives Through Geometry

- Learn about the derivative, one of the most important tools in calculus.
- See how a derivative can measure the steepness of a function and why it is such an important indicator in the world of machine learning.

##### LESSON THREE: Chain Rule and Dot Product

- Learn how to find the derivative of a composition of two or more functions, a very important tool in training a neural network.

##### LESSON FOUR: More on Derivatives

- Learn more about derivatives while focusing on exponential and implicit functions.

##### LESSON FIVE: Limits

- Learn about the formal definition of a derivative through understanding limits.

##### LESSON SIX: Integration

- Learn about the inverse of a derivative: the integral.

##### LESSON SEVEN: Calculus in Neural Networks

- Learn more about the world of neural networks and see how it relates directly to calculus through an explicit example.

### Course 5: AI Programming: Neural Networks

##### LESSON ONE: Introduction to Neural Networks

- Acquire a solid foundation in deep learning and neural networks. Implement gradient descent and backpropagation in Python.

##### LESSON TWO: Training Neural Networks

- Learn about techniques for how to improve the training of a neural network, such as early stopping, regularization, and dropout.

##### LESSON THREE: Deep Learning with PyTorch

- Learn how to use PyTorch for building deep learning models or neural networks.

## This Nanodegree Program Include:

- Experienced Project reviews.
- Technical mentor support.
- Personal career services.

## How is the Nanodegree program structured?

The AI Programming with Python Nanodegree program is comprised of content and curriculum to support two (2) projects. They also estimate that students can complete the program in three (3) months working 10 hours per week.

Also, 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.

## About Project description

In this project, you will be testing your newly acquired Python coding skills by using a trained image classifier. You will need to use the trained neural network to classify images of dogs (by breeds) and compare the output with the known dog breed classification. You will have a chance to build your own functions, using command line arguments, testing the runtime of the code and creating a dictionary of lists, and more.

## Prerequisites:

- Basic computer skills like managing files, navigating the Internet, and running programs will be useful.
- Basic algebra, and programming knowledge in any language.

*Note: Your review matters*

*If you have already done this course, kindly drop your review in our reviews section. It would help others to get useful information and better insight into the course offered.*

FAQ

- About our policies and review criteria.
- How can you choose and compare online courses?
- How to add Courses to your Wishlist?
- You can suggest courses to add to our website.

## Description

## What is Artificial Intelligence?

Artificial intelligence (AI) is the ability of a digital computer or computer-controlled robot to perform tasks commonly associated with intelligent beings. The term is frequently applied to the project of developing systems endowed with the intellectual processes characteristic of humans, such as the ability to reason, discover meaning, generalize, or learn from past experience. It has been demonstrated that computers can be programmed through AI programming to carry out very complex tasks as, for example, discovering proofs for mathematical theorems or playing chess with great proficiency.

“Artificial intelligence will reach human levels by around 2029. Follow that out further to, say, 2045, we will have multiplied the intelligence, the human biological machine intelligence of our civilization a billion-fold.”

*—Ray Kurzweil*

## About Python Programming

Python is an open-source programming language that is high level and works as a general-purpose language. What sets Python apart from other programming languages is that it is simple to use, can be taught to a beginner, can be embedded into any application, and can run on all current operating systems, including Mac, Windows, and Linux.

“Python is the most powerful language you can still read”.

– Paul Dubois

It is also one of the most powerful languages a programmer can use and is about three and five times faster to code than JavaScript and C++, respectively.

## What you will learn from this course?

You have essential foundation required for utillizing the AI programming tools (Python, NumPy, PyTorch), the math (calculus and linear algebra), and the key techniques of neural networks (gradient descent and backpropagation).

## Why should you enroll in the AI Programming Course?

AI-powered increases in safety, productivity, and efficiency are already improving our world, and the best is yet to come! As it becomes increasingly evident how impactful AI can be, demand for employees with AI skills increases—demand is in fact already skyrocketing.

The AI Programming with Python Nanodegree program makes it easy to learn the in-demand skills employers are looking for. You’ll learn foundational AI programming tools (Python, NumPy, PyTorch) and the essential math skills (linear algebra and calculus) that will enable you to start building your own AI applications through AI programming in just three months.

## Syllabus for the AI Programming Course

### Course 1: AI Programming: Introduction to Python

##### LESSON ONE: Why Python Programming

- Learn why we program.
- Prepare for the course ahead with a detailed topic overview.
- Understand how programming in Python is unique.

##### LESSON TWO: Data Types and Operators

- Understand how data types and operators are the building blocks for Python programming.
- Use the following data types: integers, floats, booleans, strings, lists, tuples, sets, dictionaries.
- Use the following operators: arithmetic, assignment, comparison, logical, membership, identity.

##### LESSON THREE: Control Flow

- Implement decision-making in your code with conditionals.
- Repeat code with for and while loops.
- Exit a loop with break, and skip an iteration of a loop with continue.
- Use helpful built-in functions like zip and enumerate.
- Construct lists in a natural way with list comprehensions.

##### LESSON FOUR: Functions

- Write your own functions to encapsulate a series of commands.
- Understand the variable scope, i.e., which parts of program variables can be referenced from?.
- Make functions easier to use with proper documentation.
- Use lambda expressions, iterators, and generators.

##### LESSON FIVE: Scripting

- Write your own functions through python programming to encapsulate a series of commands.
- Understand the variable scope, i.e., which parts of program variables can be referenced from?
- Make functions easier to use with proper documentation.
- Use lambda expressions, iterators, and generators.

##### LESSON FIVE: Scripting

- Write and run scripts locally on your computer.
- Work with raw input from users.
- Read and write files, handle errors, and import local scripts.
- Use modules from the Python standard library and from third-party libraries.
- Use online resources to help solve problems.

##### LESSON SIX: Classes

- Object-Oriented programming provides a few benefits over procedural programming. Learn the basics by understanding how to use Classes.

### Course 2: Python programming: Anaconda, Jupyter Notebook, NumPy, Pandas, and Matplotlib

##### LESSON ONE: Anaconda

- Learn how to use Anaconda to manage packages and environments for use with Python.

##### LESSON TWO: Jupyter Notebooks

- Learn how to use Jupyter Notebooks to create documents combining code, text, images, and more.

##### LESSON THREE: NumPy Basics

- Learn the value of NumPy and how to use it to manipulate data for AI problems.
- Mini-Project: Use NumPy to mean normalize an ndarray and separate it into several smaller ndarrays.

##### LESSON FOUR: Pandas Basics

- Learn to use Pandas to load and process data for machine learning problems.
- Mini-Project: Use Pandas to plot and get statistics from stock data.

##### LESSON FIVE: Matplotlib Basics

- Learn how to use Matplotlib to choose appropriate plots for one and two variables based on the types of data you have.

### Course 3: AI Programming: Linear Algebra Essentials

##### LESSON ONE: Introduction

- Learn the basics of the beautiful world of Linear Algebra and learn why it is such an important mathematical tool.

##### LESSON TWO: Vectors

- Learn about the basic building block of Linear Algebra.

##### LESSON THREE: Linear Combination

- Learn how to scale and add vectors and how to visualize them in 2 and 3 dimensions.

##### LESSON FOUR: Linear Transformation and Matrices

- Learn what a linear transformation is and how is it directly related to matrices. Learn how to apply math and visualize the concept.

##### LESSON FIVE: Linear Algebra in Neural Networks

- Learn about the world of Neural Networks and see how it relates directly to Linear Algebra.

##### LESSON SIX: Labs

- VECTORS LAB – Learn how to graph 2D and 3D vectors.
- LINEAR COMBINATION LAB – Learn how to computationally determine a vector’s span and solve a simple system of equations.
- LINEAR MAPPING LAB – Learn how to solve problems computationally using vectors and matrices.

### Course 4: AI Programming: Calculus Essentials

##### LESSON ONE: Introduction

- Visualize the essence of calculus. Learn why it is such a powerful concept in mathematics.

##### LESSON TWO: Derivatives Through Geometry

- Learn about the derivative, one of the most important tools in calculus.
- See how a derivative can measure the steepness of a function and why it is such an important indicator in the world of machine learning.

##### LESSON THREE: Chain Rule and Dot Product

- Learn how to find the derivative of a composition of two or more functions, a very important tool in training a neural network.

##### LESSON FOUR: More on Derivatives

- Learn more about derivatives while focusing on exponential and implicit functions.

##### LESSON FIVE: Limits

- Learn about the formal definition of a derivative through understanding limits.

##### LESSON SIX: Integration

- Learn about the inverse of a derivative: the integral.

##### LESSON SEVEN: Calculus in Neural Networks

- Learn more about the world of neural networks and see how it relates directly to calculus through an explicit example.

### Course 5: AI Programming: Neural Networks

##### LESSON ONE: Introduction to Neural Networks

- Acquire a solid foundation in deep learning and neural networks. Implement gradient descent and backpropagation in Python.

##### LESSON TWO: Training Neural Networks

- Learn about techniques for how to improve the training of a neural network, such as early stopping, regularization, and dropout.

##### LESSON THREE: Deep Learning with PyTorch

- Learn how to use PyTorch for building deep learning models or neural networks.

## This Nanodegree Program Include:

- Experienced Project reviews.
- Technical mentor support.
- Personal career services.

## How is the Nanodegree program structured?

The AI Programming with Python Nanodegree program is comprised of content and curriculum to support two (2) projects. They also estimate that students can complete the program in three (3) months working 10 hours per week.

Also, 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.

## About Project description

In this project, you will be testing your newly acquired Python coding skills by using a trained image classifier. You will need to use the trained neural network to classify images of dogs (by breeds) and compare the output with the known dog breed classification. You will have a chance to build your own functions, using command line arguments, testing the runtime of the code and creating a dictionary of lists, and more.

## Prerequisites:

- Basic computer skills like managing files, navigating the Internet, and running programs will be useful.
- Basic algebra, and programming knowledge in any language.

*Note: Your review matters*

*If you have already done this course, kindly drop your review in our reviews section. It would help others to get useful information and better insight into the course offered.*

FAQ

## Specification:

- Udacity
- Microdegree
- Self-paced
- Beginner
- 1-3 Months
- Paid Course (Paid certificate)
- English
- Python
- Jupyter Notebook
- Basic Computer Literacy Linear Algebra Previous Programming Experience
- Artificial intelligence Calculus Essentials Data Science with 'Python' Deep learning Linear Algebra Essentials Neural Networks Pytorch

There are no reviews yet.