Welcome to AI Programming with Python

Start using AI techniques and developing skills related to programming, linear algebra, and neural networks.

Why Python Programming

Start coding with Python, drawing upon libraries and automation scripts to solve complex problems quickly.

Data Types and Operators

Control Flow

Functions

Scripting

Lab Classifying Images

In this project, learners will be testing their newly-acquired Python coding skills by using a trained image classifier. They 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. Learners will have a chance to build their own functions, use command line arguments, test the runtime of the code, create a dictionary of lists, and more.

NumPy

Learn how to use all the key tools for working with data in Python: Jupyter Notebooks, NumPy, Anaconda, Pandas, and Matplotlib.

Pandas

Matplotlib and Seaborn Part 1

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

Matplotlib and Seaborn Part 2

Introduction

Learn the foundational math needed for AI success—vectors, linear transformations, and matrices—as well as the linear algebra behind neural networks.

Vectors

Linear Combination

Linear Transformation and Matrices

Vectors Lab

Linear Combination Lab

Linear Mapping Lab

Linear Algebra in Neural Networks

Introduction to Neural Networks

Gain a solid foundation in the latest trends in AI: neural networks, deep learning, and PyTorch.

Implementing Gradient Descent

Training Neural Networks

Deep Learning with PyTorch

Create Your Own Image Classifier

How Do I Continue From Here

34.2 Quiz: More With Dictionaries

This code includes TODOs that guide you through the following steps:

1. *Create a dictionary for contacts:* This involves defining nested dictionaries to store phone numbers and email addresses for each person.
2. *Print Alice’s contact information:* This involves accessing the dictionary for Alice and printing her phone number and email address.
3. *Add a new contact named Charlie:* This involves creating a new dictionary for Charlie and adding it to the contacts dictionary.
4. *Update Bob’s phone number:* This involves modifying the phone number entry for Bob in the contacts dictionary.
5. *Delete Alice’s contact information:* This involves removing the dictionary for Alice from the contacts dictionary.
6. *Print the updated contact list:* This involves iterating through the contacts dictionary and printing the information for each contact.
7. *Check for David’s contact information:* This involves using the in keyword to determine if David exists in the contacts dictionary.

This exercise will help you understand how to work with nested dictionaries, add and update entries, and perform checks on dictionary contents.


# TODO: Create a dictionary to store the contact information of several people
# The keys should be the names of the people and the values should be dictionaries containing their phone numbers and email addresses


# TODO: Print the contact information of Alice


# TODO: Add a new contact named Charlie with phone number '555-222-3333' and email address 'charlie@example.com'


# TODO: Update Bob's phone number to '555-444-5555'

# TODO: Delete the contact information of Alice

# TODO: Print the updated contact list


# TODO: Check if a contact named David exists in the contact list

→ Submit your solution