Nanodegree key: nd229
Version: 6.0.0
Locale: enus
This is a course that introduces machine learning using PyTorch
Content
Part 01 : Introduction to Machine Learning

Module 01: Introduction to Machine Learning

Lesson 01: Welcome to Machine Learning
Welcome to the Machine Learning Engineer Nanodegree program! Learn about the program structure and the projects you'll work on in this program.

Lesson 02: Get Help with Your Account
What to do if you have questions about your account or general questions about the program.

Lesson 03: Career Services
Learn what resources are available to you via Udacity's careerrelated tools.

Lesson 04: Setting Up Your Computer
In this lesson, get your computer set up with Python 3 using Anaconda, as well as setting up a text editor.
 Concept 01: Intro
 Concept 02: Python Installation
 Concept 03: [For Windows] Configuring Git Bash to Run Python
 Concept 04: What is Anaconda?
 Concept 05: Installing Anaconda
 Concept 06: Managing Packages
 Concept 07: Python versions at Udacity
 Concept 08: Running a Python Script
 Concept 09: Programming Environment Setup
 Concept 10: What are Jupyter notebooks?
 Concept 11: Installing Jupyter Notebook
 Concept 12: Launching the Notebook Server
 Concept 13: Notebook Interface
 Concept 14: Markdown Cells
 Concept 15: Code Cells
 Concept 16: Keyboard Shortcuts
 Concept 17: Magic Keywords
 Concept 18: Converting Notebooks
 Concept 19: Creating a Slideshow
 Concept 20: Outro

Part 02 : Supervised Learning

Module 01: Supervised Learning

Lesson 01: Machine Learning Bird's Eye View
Before diving into the many algorithms of machine learning, it is important to take a step back and understand the big picture associated with the entire field.
 Concept 01: Introduction
 Concept 02: History  A Statistician's Perspective
 Concept 03: History  A Computer Scientist's Perspective
 Concept 04: Types of Machine Learning  Supervised
 Concept 05: Types of Machine Learning  Unsupervised & Reinforcement
 Concept 06: Deep Learning
 Concept 07: Scikit Learn
 Concept 08: Ethics in Machine Learning
 Concept 09: What's Ahead
 Concept 10: Text: Recap

Lesson 02: Linear Regression
Linear regression is one of the most fundamental algorithms in machine learning. In this lesson, learn how linear regression works!
 Concept 01: Intro
 Concept 02: Quiz: Housing Prices
 Concept 03: Solution: Housing Prices
 Concept 04: Fitting a Line Through Data
 Concept 05: Moving a Line
 Concept 06: Absolute Trick
 Concept 07: Square Trick
 Concept 08: Quiz: Absolute and Square Trick
 Concept 09: Gradient Descent
 Concept 10: Mean Absolute Error
 Concept 11: Mean Squared Error
 Concept 12: Quiz: Mean Absolute & Squared Errors
 Concept 13: Minimizing Error Functions
 Concept 14: Mean vs Total Error
 Concept 15: Minibatch Gradient Descent
 Concept 16: Quiz: MiniBatch Gradient Descent
 Concept 17: Absolute Error vs Squared Error
 Concept 18: Linear Regression in scikitlearn
 Concept 19: Higher Dimensions
 Concept 20: Multiple Linear Regression
 Concept 21: Closed Form Solution
 Concept 22: (Optional) Closed form Solution Math
 Concept 23: Linear Regression Warnings
 Concept 24: Polynomial Regression
 Concept 25: Quiz: Polynomial Regression
 Concept 26: Regularization
 Concept 27: Quiz: Regularization
 Concept 28: Feature Scaling
 Concept 29: Outro

Lesson 03: Perceptron Algorithm
The perceptron algorithm is an algorithm for classifying data. It is the building block of neural networks.
 Concept 01: Intro
 Concept 02: Classification Problems 1
 Concept 03: Classification Problems 2
 Concept 04: Linear Boundaries
 Concept 05: Higher Dimensions
 Concept 06: Perceptrons
 Concept 07: Perceptrons as Logical Operators
 Concept 08: Perceptron Trick
 Concept 09: Perceptron Algorithm
 Concept 10: Outro

Lesson 04: Decision Trees
Decision trees are a structure for decisionmaking where each decision leads to a set of consequences or additional decisions.
 Concept 01: Intro
 Concept 02: Recommending Apps 1
 Concept 03: Recommending Apps 2
 Concept 04: Recommending Apps 3
 Concept 05: Quiz: Student Admissions
 Concept 06: Solution: Student Admissions
 Concept 07: Entropy
 Concept 08: Entropy Formula 1
 Concept 09: Entropy Formula 2
 Concept 10: Entropy Formula 3
 Concept 11: Quiz: Do You Know Your Entropy?
 Concept 12: Multiclass Entropy
 Concept 13: Quiz: Information Gain
 Concept 14: Solution: Information Gain
 Concept 15: Maximizing Information Gain
 Concept 16: Calculating Information Gain on a Dataset
 Concept 17: Hyperparameters
 Concept 18: Decision Trees in sklearn
 Concept 19: Titanic Survival Model with Decision Trees
 Concept 20: [Solution] Titanic Survival Model
 Concept 21: Outro

Lesson 05: Naive Bayes
Naive Bayesian Algorithms are powerful tools for creating classifiers for incoming labeled data. Specifically Naive Bayes is frequently used with text data and classification problems.
 Concept 01: Intro
 Concept 02: Guess the Person
 Concept 03: Known and Inferred
 Concept 04: Guess the Person Now
 Concept 05: Bayes Theorem
 Concept 06: Quiz: False Positives
 Concept 07: Solution: False Positives
 Concept 08: Bayesian Learning 1
 Concept 09: Bayesian Learning 2
 Concept 10: Bayesian Learning 3
 Concept 11: Naive Bayes Algorithm 1
 Concept 12: Naive Bayes Algorithm 2
 Concept 13: Quiz: Bayes Rule
 Concept 14: Building a Spam Classifier
 Concept 15: Spam Classifier  Workspace
 Concept 16: Outro

Lesson 06: Support Vector Machines
Support vector machines are a common method used for classification problems. They have been proven effective using what is known as the 'kernel' trick!
 Concept 01: Intro
 Concept 02: Which line is better?
 Concept 03: Minimizing Distances
 Concept 04: Error Function Intuition
 Concept 05: Perceptron Algorithm
 Concept 06: Classification Error
 Concept 07: Margin Error
 Concept 08: (Optional) Margin Error Calculation
 Concept 09: Error Function
 Concept 10: The C Parameter
 Concept 11: Polynomial Kernel 1
 Concept 12: Polynomial Kernel 2
 Concept 13: Polynomial Kernel 3
 Concept 14: RBF Kernel 1
 Concept 15: RBF Kernel 2
 Concept 16: RBF Kernel 3
 Concept 17: SVMs in sklearn
 Concept 18: Recap & Additional Resources

Lesson 07: Ensemble Methods
Bagging and boosting are two common ensemble methods for combining simple algorithms to make more advanced models that work better than the simple algorithms would on their own.
 Concept 01: Intro
 Concept 02: Ensembles
 Concept 03: Random Forests
 Concept 04: Bagging
 Concept 05: AdaBoost
 Concept 06: Weighting the Data
 Concept 07: Weighting the Models 1
 Concept 08: Weighting the Models 2
 Concept 09: Weighting the Models 3
 Concept 10: Combining the Models
 Concept 11: AdaBoost in sklearn
 Concept 12: More Spam Classifying
 Concept 13: Recap & Additional Resources

Lesson 08: Model Evaluation Metrics
Learn the main metrics to evaluate models, such as accuracy, precision, recall, and more!
 Concept 01: Intro
 Concept 02: Outline
 Concept 03: Testing your models
 Concept 04: Confusion Matrix
 Concept 05: Confusion Matrix 2
 Concept 06: Accuracy
 Concept 07: Accuracy 2
 Concept 08: When accuracy won't work
 Concept 09: False Negatives and Positives
 Concept 10: Precision and Recall
 Concept 11: Precision
 Concept 12: Recall
 Concept 13: F1 Score
 Concept 14: Fbeta Score
 Concept 15: ROC Curve
 Concept 16: Sklearn Practice (Classification)
 Concept 17: Regression Metrics
 Concept 18: Sklearn Practice (Regression)
 Concept 19: Text: Recap
 Concept 20: Summary

Lesson 09: Training and Tuning
Learn the main types of errors that can occur during training, and several methods to deal with them and optimize your machine learning models.
 Concept 01: Types of Errors
 Concept 02: Model Complexity Graph
 Concept 03: Cross Validation
 Concept 04: KFold Cross Validation
 Concept 05: Learning Curves
 Concept 06: Detecting Overfitting and Underfitting with Learning Curves
 Concept 07: Solution: Detecting Overfitting and Underfitting
 Concept 08: Grid Search
 Concept 09: Grid Search in sklearn
 Concept 10: Grid Search Lab
 Concept 11: [Solution] Grid Search Lab
 Concept 12: Putting It All Together
 Concept 13: Outro

Lesson 10: Finding Donors Project
You've covered a wide variety of methods for performing supervised learning  now it's time to put those into action!

Lesson 11: Optimize Your GitHub Profile
Other professionals are collaborating on GitHub and growing their network. Submit your profile to ensure your profile is on par with leaders in your field.
 Concept 01: Prove Your Skills With GitHub
 Concept 02: Introduction
 Concept 03: GitHub profile important items
 Concept 04: Good GitHub repository
 Concept 05: Interview with Art  Part 1
 Concept 06: Identify fixes for example “bad” profile
 Concept 07: Quick Fixes #1
 Concept 08: Quick Fixes #2
 Concept 09: Writing READMEs with Walter
 Concept 10: Interview with Art  Part 2
 Concept 11: Commit messages best practices
 Concept 12: Reflect on your commit messages
 Concept 13: Participating in open source projects
 Concept 14: Interview with Art  Part 3
 Concept 15: Participating in open source projects 2
 Concept 16: Starring interesting repositories
 Concept 17: Next Steps

Part 03 : Deep Learning

Module 01: Deep Learning

Lesson 01: 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.
 Concept 01: Instructor
 Concept 02: Introduction
 Concept 03: Classification Problems 1
 Concept 04: Classification Problems 2
 Concept 05: Linear Boundaries
 Concept 06: Higher Dimensions
 Concept 07: Perceptrons
 Concept 08: Why "Neural Networks"?
 Concept 09: Perceptrons as Logical Operators
 Concept 10: Perceptron Trick
 Concept 11: Perceptron Algorithm
 Concept 12: NonLinear Regions
 Concept 13: Error Functions
 Concept 14: Logloss Error Function
 Concept 15: Discrete vs Continuous
 Concept 16: Softmax
 Concept 17: OneHot Encoding
 Concept 18: Maximum Likelihood
 Concept 19: Maximizing Probabilities
 Concept 20: CrossEntropy 1
 Concept 21: CrossEntropy 2
 Concept 22: MultiClass Cross Entropy
 Concept 23: Logistic Regression
 Concept 24: Gradient Descent
 Concept 25: Logistic Regression Algorithm
 Concept 26: PreLab: Gradient Descent
 Concept 27: Notebook: Gradient Descent
 Concept 28: Perceptron vs Gradient Descent
 Concept 29: Continuous Perceptrons
 Concept 30: Nonlinear Data
 Concept 31: NonLinear Models
 Concept 32: Neural Network Architecture
 Concept 33: Feedforward
 Concept 34: Backpropagation
 Concept 35: PreLab: Analyzing Student Data
 Concept 36: Notebook: Analyzing Student Data
 Concept 37: Outro

Lesson 02: Implementing Gradient Descent
Mat will introduce you to a different error function and guide you through implementing gradient descent using numpy matrix multiplication.
 Concept 01: Mean Squared Error Function
 Concept 02: Gradient Descent
 Concept 03: Gradient Descent: The Math
 Concept 04: Gradient Descent: The Code
 Concept 05: Implementing Gradient Descent
 Concept 06: Multilayer Perceptrons
 Concept 07: Backpropagation
 Concept 08: Implementing Backpropagation
 Concept 09: Further Reading

Lesson 03: Training Neural Networks
Now that you know what neural networks are, in this lesson you will learn several techniques to improve their training.
 Concept 01: Instructor
 Concept 02: Training Optimization
 Concept 03: Testing
 Concept 04: Overfitting and Underfitting
 Concept 05: Early Stopping
 Concept 06: Regularization
 Concept 07: Regularization 2
 Concept 08: Dropout
 Concept 09: Local Minima
 Concept 10: Random Restart
 Concept 11: Vanishing Gradient
 Concept 12: Other Activation Functions
 Concept 13: Batch vs Stochastic Gradient Descent
 Concept 14: Learning Rate Decay
 Concept 15: Momentum
 Concept 16: Error Functions Around the World

Lesson 04: Deep Learning with PyTorch
Learn how to use PyTorch for building deep learning models.
 Concept 01: Welcome
 Concept 02: PreNotebook
 Concept 03: Notebook Workspace
 Concept 04: Single layer neural networks
 Concept 05: Single layer neural networks solution
 Concept 06: Networks Using Matrix Multiplication
 Concept 07: Multilayer Networks Solution
 Concept 08: Neural Networks in PyTorch
 Concept 09: Neural Networks Solution
 Concept 10: Implementing Softmax Solution
 Concept 11: Network Architectures in PyTorch
 Concept 12: Network Architectures Solution
 Concept 13: Training a Network Solution
 Concept 14: Classifying FashionMNIST
 Concept 15: FashionMNIST Solution
 Concept 16: Inference and Validation
 Concept 17: Validation Solution
 Concept 18: Dropout Solution
 Concept 19: Saving and Loading Models
 Concept 20: Loading Image Data
 Concept 21: Loading Image Data Solution
 Concept 22: PreNotebook with GPU
 Concept 23: Notebook Workspace w/ GPU
 Concept 24: A Note on Transfer Learning
 Concept 25: Transfer Learning
 Concept 26: Transfer Learning II
 Concept 27: Transfer Learning Solution
 Concept 28: Tips, Tricks, and Other Notes

Lesson 05: Image Classifier Project
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.

Lesson 06: Industry Research
You're building your online presence. Now learn how to share your story, understand the tech landscape better, and meet industry professionals.
 Concept 01: SelfReflection: Design Your Blueprint for Success
 Concept 02: Debrief: SelfReflection Exercise Part 1
 Concept 03: Debrief: SelfReflection Exercise Part 2
 Concept 04: Map Your Career Journey
 Concept 05: Debrief: Map Your Career Journey
 Concept 06: Conduct an Informational Interview
 Concept 07: How to Request an Informational Interview
 Concept 08: Ways to Connect
 Concept 09: Ask Good Questions
 Concept 10: Debrief: Sample Questions Quiz
 Concept 11: Keep the Conversation Going

Lesson 07: Take 30 Min to Improve your LinkedIn
Find your next job or connect with industry peers on LinkedIn. Ensure your profile attracts relevant leads that will grow your professional network.
 Concept 01: Get Opportunities with LinkedIn
 Concept 02: Use Your Story to Stand Out
 Concept 03: Why Use an Elevator Pitch
 Concept 04: Create Your Elevator Pitch
 Concept 05: Use Your Elevator Pitch on LinkedIn
 Concept 06: Create Your Profile With SEO In Mind
 Concept 07: Profile Essentials
 Concept 08: Work Experiences & Accomplishments
 Concept 09: Build and Strengthen Your Network
 Concept 10: Reaching Out on LinkedIn
 Concept 11: Boost Your Visibility
 Concept 12: Up Next

Part 04 : Unsupervised Learning

Module 01: Unsupervised Learning

Lesson 01: Clustering
Clustering is one of the most common methods of unsupervised learning. Here, we'll discuss the Kmeans clustering algorithm.
 Concept 01: Video: Introduction
 Concept 02: Text: Course Outline
 Concept 03: Video: Two Types of Unsupervised Learning
 Concept 04: Video: KMeans Use Cases
 Concept 05: Video: KMeans
 Concept 06: Quiz: Identifying Clusters
 Concept 07: Video: Changing K
 Concept 08: Video: Elbow Method
 Concept 09: Screencast: KMeans in Scikit Learn
 Concept 10: Notebook: Your Turn
 Concept 11: Screencast: Solution
 Concept 12: Video: How Does KMeans Work?
 Concept 13: Screencast + Text: How Does KMeans Work?
 Concept 14: How Does KMeans Work?
 Concept 15: Video: Is that the Optimal Solution?
 Concept 16: Video: Feature Scaling
 Concept 17: Video: Feature Scaling Example
 Concept 18: Notebook: Feature Scaling Example
 Concept 19: Notebook: Feature Scaling
 Concept 20: Screencast: Solution
 Concept 21: Video: Outro
 Concept 22: Text: Recap

Lesson 02: Hierarchical and Density Based Clustering
We continue to look at clustering methods. Here, we'll discuss hierarchical clustering and densitybased clustering (DBSCAN).
 Concept 01: Kmeans considerations
 Concept 02: Overview of other clustering methods
 Concept 03: Hierarchical clustering: singlelink
 Concept 04: Examining singlelink clustering
 Concept 05: Completelink, averagelink, Ward
 Concept 06: Hierarchical clustering implementation
 Concept 07: [Lab] Hierarchical clustering
 Concept 08: [Lab Solution] Hierarchical Clustering
 Concept 09: HC examples and applications
 Concept 10: [Quiz] Hierarchical clustering
 Concept 11: DBSCAN
 Concept 12: DBSCAN implementation
 Concept 13: [Lab] DBSCAN
 Concept 14: [Lab Solution] DBSCAN
 Concept 15: DBSCAN examples & applications
 Concept 16: [Quiz] DBSCAN

Lesson 03: Gaussian Mixture Models and Cluster Validation
In this lesson, we discuss Gaussian mixture model clustering. We then talk about the cluster analysis process and how to validate clustering results.
 Concept 01: Intro
 Concept 02: Gaussian Mixture Model (GMM) Clustering
 Concept 03: Gaussian Distribution in One Dimension
 Concept 04: GMM Clustering in One Dimension
 Concept 05: Gaussian Distribution in 2D
 Concept 06: GMM in 2D
 Concept 07: Quiz: Gaussian Mixtures
 Concept 08: Overview of The Expectation Maximization (EM) Algorithm
 Concept 09: Expectation Maximization Part 1
 Concept 10: Expectation Maximization Part 2
 Concept 11: Visual Example of EM Progress
 Concept 12: Expectation Maximization
 Concept 13: GMM Implementation
 Concept 14: GMM Examples & Applications
 Concept 15: Cluster Analysis Process
 Concept 16: Cluster Validation
 Concept 17: External Validation Indices
 Concept 18: Quiz: Adjusted Rand Index
 Concept 19: Internal Validation Indices
 Concept 20: Silhouette Coefficient
 Concept 21: GMM & Cluster Validation Lab
 Concept 22: GMM & Cluster Validation Lab Solution

Lesson 04: Dimensionality Reduction and PCA
Often we need to reduce a large number of features in our data to a smaller, more relevant set. Principal Component Analysis, or PCA, is a method of feature extraction and dimensionality reduction.
 Concept 01: Video: Introduction
 Concept 02: Video: Lesson Topics
 Concept 03: Text: Lesson Topics
 Concept 04: Video: Latent Features
 Concept 05: Latent Features
 Concept 06: Video: How to Reduce Features?
 Concept 07: Video: Dimensionality Reduction
 Concept 08: Video: PCA Properties
 Concept 09: Quiz: How Does PCA Work?
 Concept 10: Screencast: PCA
 Concept 11: Notebook: PCA  Your Turn
 Concept 12: Screencast: PCA Solution
 Concept 13: Screencast: Interpret PCA Results
 Concept 14: Notebook: Interpretation
 Concept 15: Screencast: Interpretation Solution
 Concept 16: Text: What Are EigenValues & EigenVectors?
 Concept 17: Video: When to Use PCA?
 Concept 18: Video: Recap
 Concept 19: Notebook: MiniProject
 Concept 20: MiniProject Solution
 Concept 21: Video: Outro
 Concept 22: Text: Recap

Lesson 05: Random Projection and ICA
In this lesson, we will look at two other methods for feature extraction and dimensionality reduction: Random Projection and Independent Component Analysis (ICA).
 Concept 01: Random Projection
 Concept 02: Random Projection
 Concept 03: Random Projection in sklearn
 Concept 04: Independent Component Analysis (ICA)
 Concept 05: FastICA Algorithm
 Concept 06: ICA
 Concept 07: ICA in sklearn
 Concept 08: [Lab] Independent Component Analysis
 Concept 09: [Solution] Independent Component Analysis
 Concept 10: ICA Applications

Lesson 06: Project: Identify Customer Segments
In this project, you'll apply your unsupervised learning skills to two demographics datasets, to identify segments and clusters in the population, and see how customers of a company map to them.
Project Description  Creating Customer Segments with Arvato

Part 05 : Congratulations!

Module 01: Congratulations!

Lesson 01: Congratulations!
You've now reached the end of this program!

Part 06 (Elective): Prerequisite: Python for Data Analysis

Module 01: Prerequisite: Python for Data Analysis

Lesson 01: Why Python Programming
Welcome to Introduction to Python! Here's an overview of the course.

Lesson 02: Data Types and Operators
Familiarize yourself with the building blocks of Python! Learn about data types and operators, compound data structures, type conversion, builtin functions, and style guidelines.
 Concept 01: Introduction
 Concept 02: Arithmetic Operators
 Concept 03: Quiz: Arithmetic Operators
 Concept 04: Solution: Arithmetic Operators
 Concept 05: Variables and Assignment Operators
 Concept 06: Quiz: Variables and Assignment Operators
 Concept 07: Solution: Variables and Assignment Operators
 Concept 08: Integers and Floats
 Concept 09: Quiz: Integers and Floats
 Concept 10: Booleans, Comparison Operators, and Logical Operators
 Concept 11: Quiz: Booleans, Comparison Operators, and Logical Operators
 Concept 12: Solution: Booleans, Comparison and Logical Operators
 Concept 13: Strings
 Concept 14: Quiz: Strings
 Concept 15: Solution: Strings
 Concept 16: Type and Type Conversion
 Concept 17: Quiz: Type and Type Conversion
 Concept 18: Solution: Type and Type Conversion
 Concept 19: String Methods
 Concept 20: String Methods
 Concept 21: Another String Method  Split
 Concept 22: Lists and Membership Operators
 Concept 23: Quiz: Lists and Membership Operators
 Concept 24: Solution: List and Membership Operators
 Concept 25: List Methods
 Concept 26: Quiz: List Methods
 Concept 27: Tuples
 Concept 28: Quiz: Tuples
 Concept 29: Sets
 Concept 30: Quiz: Sets
 Concept 31: Dictionaries and Identity Operators
 Concept 32: Quiz: Dictionaries and Identity Operators
 Concept 33: Solution: Dictionaries and Identity Operators
 Concept 34: Quiz: More With Dictionaries
 Concept 35: Compound Data Structures
 Concept 36: Quiz: Compound Data Structures
 Concept 37: Solution: Compound Data Structions
 Concept 38: Conclusion
 Concept 39: Summary

Lesson 03: Control Flow
Build logic into your code with control flow tools! Learn about conditional statements, repeating code with loops and useful builtin functions, and list comprehensions.
 Concept 01: Introduction
 Concept 02: Conditional Statements
 Concept 03: Practice: Conditional Statements
 Concept 04: Solution: Conditional Statements
 Concept 05: Quiz: Conditional Statements
 Concept 06: Solution: Conditional Statements
 Concept 07: Boolean Expressions for Conditions
 Concept 08: Quiz: Boolean Expressions for Conditions
 Concept 09: Solution: Boolean Expressions for Conditions
 Concept 10: For Loops
 Concept 11: Practice: For Loops
 Concept 12: Solution: For Loops Practice
 Concept 13: Quiz: For Loops
 Concept 14: Solution: For Loops Quiz
 Concept 15: Quiz: Match Inputs To Outputs
 Concept 16: Building Dictionaries
 Concept 17: Iterating Through Dictionaries with For Loops
 Concept 18: Quiz: Iterating Through Dictionaries
 Concept 19: Solution: Iterating Through Dictionaries
 Concept 20: While Loops
 Concept 21: Practice: While Loops
 Concept 22: Solution: While Loops Practice
 Concept 23: Quiz: While Loops
 Concept 24: Solution: While Loops Quiz
 Concept 25: Break, Continue
 Concept 26: Quiz: Break, Continue
 Concept 27: Solution: Break, Continue
 Concept 28: Zip and Enumerate
 Concept 29: Quiz: Zip and Enumerate
 Concept 30: Solution: Zip and Enumerate
 Concept 31: List Comprehensions
 Concept 32: Quiz: List Comprehensions
 Concept 33: Solution: List Comprehensions
 Concept 34: Conclusion

Lesson 04: Functions
Learn how to use functions to improve and reuse your code! Learn about functions, variable scope, documentation, lambda expressions, iterators, and generators.
 Concept 01: Introduction
 Concept 02: Defining Functions
 Concept 03: Quiz: Defining Functions
 Concept 04: Solution: Defining Functions
 Concept 05: Variable Scope
 Concept 06: Variable Scope
 Concept 07: Solution: Variable Scope
 Concept 08: Documentation
 Concept 09: Quiz: Documentation
 Concept 10: Solution: Documentation
 Concept 11: Lambda Expressions
 Concept 12: Quiz: Lambda Expressions
 Concept 13: Solution: Lambda Expressions
 Concept 14: [Optional] Iterators and Generators
 Concept 15: [Optional] Quiz: Iterators and Generators
 Concept 16: [Optional] Solution: Iterators and Generators
 Concept 17: [Optional] Generator Expressions
 Concept 18: Conclusion
 Concept 19: Further Learning

Lesson 05: Scripting
Setup your own programming environment to write and run Python scripts locally! Learn good scripting practices, interact with different inputs, and discover awesome tools.
 Concept 01: Introduction
 Concept 02: Python Installation
 Concept 03: Install Python Using Anaconda
 Concept 04: [For Windows] Configuring Git Bash to Run Python
 Concept 05: Running a Python Script
 Concept 06: Programming Environment Setup
 Concept 07: Editing a Python Script
 Concept 08: Scripting with Raw Input
 Concept 09: Quiz: Scripting with Raw Input
 Concept 10: Solution: Scripting with Raw Input
 Concept 11: Errors and Exceptions
 Concept 12: Errors and Exceptions
 Concept 13: Handling Errors
 Concept 14: Practice: Handling Input Errors
 Concept 15: Solution: Handling Input Errors
 Concept 16: Accessing Error Messages
 Concept 17: Reading and Writing Files
 Concept 18: Quiz: Reading and Writing Files
 Concept 19: Solution: Reading and Writing Files
 Concept 20: Importing Local Scripts
 Concept 21: The Standard Library
 Concept 22: Quiz: The Standard Library
 Concept 23: Solution: The Standard Library
 Concept 24: Techniques for Importing Modules
 Concept 25: Quiz: Techniques for Importing Modules
 Concept 26: ThirdParty Libraries
 Concept 27: Experimenting with an Interpreter
 Concept 28: Online Resources
 Concept 29: Conclusion

Lesson 06: NumPy
Learn the basics of NumPy and how to use it to create and manipulate arrays.
 Concept 01: Instructors
 Concept 02: Introduction to NumPy
 Concept 03: Why Use NumPy?
 Concept 04: Creating and Saving NumPy ndarrays
 Concept 05: Using Builtin Functions to Create ndarrays
 Concept 06: Create an ndarray
 Concept 07: Accessing, Deleting, and Inserting Elements Into ndarrays
 Concept 08: Slicing ndarrays
 Concept 09: Boolean Indexing, Set Operations, and Sorting
 Concept 10: Manipulating ndarrays
 Concept 11: Arithmetic operations and Broadcasting
 Concept 12: Creating ndarrays with Broadcasting
 Concept 13: Glossary
 Concept 14: Getting Set Up for the MiniProject
 Concept 15: MiniProject: Mean Normalization and Data Separation

Lesson 07: Pandas
Learn the basics of Pandas Series and DataFrames and how to use them to load and process data.
 Concept 01: Instructors
 Concept 02: Introduction to pandas
 Concept 03: Why Use pandas?
 Concept 04: Creating pandas Series
 Concept 05: Accessing and Deleting Elements in pandas Series
 Concept 06: Arithmetic Operations on pandas Series
 Concept 07: Manipulate a Series
 Concept 08: Creating pandas DataFrames
 Concept 09: Accessing Elements in pandas DataFrames
 Concept 10: Dealing with NaN
 Concept 11: Manipulate a DataFrame
 Concept 12: Loading Data into a pandas DataFrame
 Concept 13: Glossary
 Concept 14: Getting Set Up for the MiniProject
 Concept 15: MiniProject: Statistics From Stock Data

Part 07 (Elective): Prerequisite: SQL for Data Analysis

Module 01: Prerequisite: SQL for Data Analysis

Lesson 01: Basic SQL
In this section, you will gain knowledge about SQL basics for working with a single table. You will learn the key commands to filter a table in many different ways.
 Concept 01: Video: SQL Introduction
 Concept 02: Video: The Parch & Posey Database
 Concept 03: Video + Text: The Parch & Posey Database
 Concept 04: Quiz: ERD Fundamentals
 Concept 05: Text: Map of SQL Content
 Concept 06: Video: Why SQL
 Concept 07: Video: How Databases Store Data
 Concept 08: Text + Quiz: Types of Databases
 Concept 09: Video: Types of Statements
 Concept 10: Statements
 Concept 11: Video: SELECT & FROM
 Concept 12: Your First Queries in SQL Workspace
 Concept 13: Solution: Your First Queries
 Concept 14: Formatting Best Practices
 Concept 15: Video: LIMIT
 Concept 16: Quiz: LIMIT
 Concept 17: Solution: LIMIT
 Concept 18: Video: ORDER BY
 Concept 19: Quiz: ORDER BY
 Concept 20: Solutions: ORDER BY
 Concept 21: Video: ORDER BY Part II
 Concept 22: Quiz: ORDER BY Part II
 Concept 23: Solutions: ORDER BY Part II
 Concept 24: Video: WHERE
 Concept 25: Quiz: WHERE
 Concept 26: Solutions: WHERE
 Concept 27: Video: WHERE with NonNumeric Data
 Concept 28: Quiz: WHERE with NonNumeric
 Concept 29: Solutions: WHERE with NonNumeric
 Concept 30: Video: Arithmetic Operators
 Concept 31: Quiz: Arithmetic Operators
 Concept 32: Solutions: Arithmetic Operators
 Concept 33: Text: Introduction to Logical Operators
 Concept 34: Video: LIKE
 Concept 35: Quiz: LIKE
 Concept 36: Solutions: LIKE
 Concept 37: Video: IN
 Concept 38: Quiz: IN
 Concept 39: Solutions: IN
 Concept 40: Video: NOT
 Concept 41: Quiz: NOT
 Concept 42: Solutions: NOT
 Concept 43: Video: AND and BETWEEN
 Concept 44: Quiz: AND and BETWEEN
 Concept 45: Solutions: AND and BETWEEN
 Concept 46: Video: OR
 Concept 47: Quiz: OR
 Concept 48: Solutions: OR
 Concept 49: Text: Recap & Looking Ahead

Lesson 02: SQL Joins
In this lesson, you will learn how to combine data from multiple tables together.
 Concept 01: Video: Motivation
 Concept 02: Video: Why Would We Want to Split Data Into Separate Tables?
 Concept 03: Video: Introduction to JOINs
 Concept 04: Text + Quiz: Your First JOIN
 Concept 05: Solution: Your First JOIN
 Concept 06: Text: ERD Reminder
 Concept 07: Text: Primary and Foreign Keys
 Concept 08: Quiz: Primary  Foreign Key Relationship
 Concept 09: Text + Quiz: JOIN Revisited
 Concept 10: Video: Alias
 Concept 11: Quiz: JOIN Questions Part I
 Concept 12: Solutions: JOIN Questions Part I
 Concept 13: Video: Motivation for Other JOINs
 Concept 14: Video: LEFT and RIGHT JOINs
 Concept 15: Text: Other JOIN Notes
 Concept 16: LEFT and RIGHT JOIN
 Concept 17: Solutions: LEFT and RIGHT JOIN
 Concept 18: Video: JOINs and Filtering
 Concept 19: Quiz: Last Check
 Concept 20: Solutions: Last Check
 Concept 21: Text: Recap & Looking Ahead

Lesson 03: SQL Aggregations
In this lesson, you will learn how to aggregate data using SQL functions like SUM, AVG, and COUNT. Additionally, CASE, HAVING, and DATE functions provide you an incredible problem solving toolkit.
 Concept 01: Video: Introduction to Aggregation
 Concept 02: Video: Introduction to NULLs
 Concept 03: Video: NULLs and Aggregation
 Concept 04: Video + Text: First Aggregation  COUNT
 Concept 05: Video: COUNT & NULLs
 Concept 06: Video: SUM
 Concept 07: Quiz: SUM
 Concept 08: Solution: SUM
 Concept 09: Video: MIN & MAX
 Concept 10: Video: AVG
 Concept 11: Quiz: MIN, MAX, & AVG
 Concept 12: Solutions: MIN, MAX, & AVG
 Concept 13: Video: GROUP BY
 Concept 14: Quiz: GROUP BY
 Concept 15: Solutions: GROUP BY
 Concept 16: Video: GROUP BY Part II
 Concept 17: Quiz: GROUP BY Part II
 Concept 18: Solutions: GROUP BY Part II
 Concept 19: Video: DISTINCT
 Concept 20: Quiz: DISTINCT
 Concept 21: Solutions: DISTINCT
 Concept 22: Video: HAVING
 Concept 23: HAVING
 Concept 24: Solutions: HAVING
 Concept 25: Video: DATE Functions
 Concept 26: Video: DATE Functions II
 Concept 27: Quiz: DATE Functions
 Concept 28: Solutions: DATE Functions
 Concept 29: Video: CASE Statements
 Concept 30: Video: CASE & Aggregations
 Concept 31: Quiz: CASE
 Concept 32: Solutions: CASE
 Concept 33: Text: Recap

Lesson 04: SQL Subqueries & Temporary Tables
In this lesson, you will be learning to answer much more complex business questions using nested querying methods  also known as subqueries.
 Concept 01: Video: Introduction
 Concept 02: Video: Introduction to Subqueries
 Concept 03: Video + Quiz: Write Your First Subquery
 Concept 04: Solutions: Write Your First Subquery
 Concept 05: Text: Subquery Formatting
 Concept 06: Video: More On Subqueries
 Concept 07: Quiz: More On Subqueries
 Concept 08: Solutions: More On Subqueries
 Concept 09: Quiz: Subquery Mania
 Concept 10: Solution: Subquery Mania
 Concept 11: Video: WITH
 Concept 12: Text + Quiz: WITH vs. Subquery
 Concept 13: Quiz: WITH
 Concept 14: Solutions: WITH
 Concept 15: Video: Subquery Conclusion

Lesson 05: SQL Data Cleaning
Cleaning data is an important part of the data analysis process. You will be learning how to perform data cleaning using SQL in this lesson.
 Concept 01: Video: Introduction to SQL Data Cleaning
 Concept 02: Video: LEFT & RIGHT
 Concept 03: Quiz: LEFT & RIGHT
 Concept 04: Solutions: LEFT & RIGHT
 Concept 05: Video: POSITION, STRPOS, & SUBSTR
 Concept 06: Quiz: POSITION, STRPOS, & SUBSTR  AME DATA AS QUIZ 1
 Concept 07: Solutions: POSITION, STRPOS, & SUBSTR
 Concept 08: Video: CONCAT
 Concept 09: Quiz: CONCAT
 Concept 10: Solutions: CONCAT
 Concept 11: Video: CAST
 Concept 12: Quiz: CAST
 Concept 13: Solutions: CAST
 Concept 14: Video: COALESCE
 Concept 15: Quiz: COALESCE
 Concept 16: Solutions: COALESCE
 Concept 17: Video + Text: Recap

Lesson 06: [Advanced] SQL Window Functions
Compare one row to another without doing any joins using one of the most powerful concepts in SQL data analysis: window functions.
 Concept 01: Video: Introduction to Window Functions
 Concept 02: Video: Window Functions 1
 Concept 03: Quiz: Window Functions 1
 Concept 04: Solutions: Window Functions 1
 Concept 05: Quiz: Window Functions 2
 Concept 06: Solutions: Window Functions 2
 Concept 07: Video: ROW_NUMBER & RANK
 Concept 08: Quiz: ROW_NUMBER & RANK
 Concept 09: Solutions: ROW_NUMBER & RANK
 Concept 10: Video: Aggregates in Window Functions
 Concept 11: Quiz: Aggregates in Window Functions
 Concept 12: Solutions: Aggregates in Window Functions
 Concept 13: Video: Aliases for Multiple Window Functions
 Concept 14: Quiz: Aliases for Multiple Window Functions
 Concept 15: Solutions: Aliases for Multiple Window Functions
 Concept 16: Video: Comparing a Row to Previous Row
 Concept 17: Quiz: Comparing a Row to Previous Row
 Concept 18: Solutions: Comparing a Row to Previous Row
 Concept 19: Video: Introduction to Percentiles
 Concept 20: Video: Percentiles
 Concept 21: Quiz: Percentiles
 Concept 22: Solutions: Percentiles
 Concept 23: Video: Recap

Lesson 07: [Advanced] SQL Advanced JOINs & Performance Tuning
Learn advanced joins and how to make queries that run quickly across giant datasets. Most of the examples in the lesson involve edge cases, some of which come up in interviews.
 Concept 01: Video: Introduction to Advanced SQL
 Concept 02: Text + Images: FULL OUTER JOIN
 Concept 03: Quiz: FULL OUTER JOIN
 Concept 04: Solutions: FULL OUTER JOIN
 Concept 05: Video: JOINs with Comparison Operators
 Concept 06: Quiz: JOINs with Comparison Operators
 Concept 07: Solutions: JOINs with Comparison Operators
 Concept 08: Video: Self JOINs
 Concept 09: Quiz: Self JOINs
 Concept 10: Solutions: Self JOINs
 Concept 11: Video: UNION
 Concept 12: Quiz: UNION
 Concept 13: Solutions: UNION
 Concept 14: Video: Performance Tuning Motivation
 Concept 15: Video + Quiz: Performance Tuning 1
 Concept 16: Video: Performance Tuning 2
 Concept 17: Video: Performance Tuning 3
 Concept 18: Video: JOINing Subqueries
 Concept 19: Video: SQL Completion Congratulations

Part 08 (Elective): Prerequisite: Command Line Essentials

Module 01: Prerequisite: Command Line Essentials

Lesson 01: Shell Workshop
The Unix shell is a powerful tool for developers of all sorts. In this lesson, you'll get a quick introduction to the very basics of using it on your own computer.
 Concept 01: The Command Line
 Concept 02: Intro to the Shell
 Concept 03: Windows: Installing Git Bash
 Concept 04: Opening a terminal
 Concept 05: Your first command (echo)
 Concept 06: Navigating directories (ls, cd, ..)
 Concept 07: Current working directory (pwd)
 Concept 08: Parameters and options (ls l)
 Concept 09: Organizing your files (mkdir, mv)
 Concept 10: Downloading (curl)
 Concept 11: Viewing files (cat, less)
 Concept 12: Removing things (rm, rmdir)
 Concept 13: Searching and pipes (grep, wc)
 Concept 14: Shell and environment variables
 Concept 15: Startup files (.bash_profile)
 Concept 16: Controlling the shell prompt ($PS1)
 Concept 17: Aliases
 Concept 18: Keep learning!

Part 09 (Elective): Prerequisite: Git & Github

Module 01: Prerequisite: Git & Github

Lesson 01: 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 02: 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 03: Review a Repo's History
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 04: Add Commits To A Repo
A repository is nothing without commits. In this lesson, you'll learn how to make commits, write descriptive commit messages, and verify the changes you're about to save to the repository.

Lesson 05: Tagging, Branching, and Merging
Being able to work on your project in isolation from other changes will multiply your productivity. You'll learn how to do this isolated development with Git's branches.

Lesson 06: Undoing Changes
Help! Disaster has struck! You don't have to worry, though, because your project is tracked in version control! You'll learn how to undo and modify changes that have been saved to the repository.

Lesson 07: Working With Remotes
You'll learn how to create remote repositories on GitHub and how to get and send changes to the remote repository.

Lesson 08: Working On Another Developer's Repository
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 09: Staying In Sync With A Remote Repository
You'll learn how to send suggested changes to another developer by using pull requests. You'll also learn how to use the powerful
git rebase
command to squash commits together.

Part 10 (Elective): Additional Material: Python for Data Visualization

Module 01: Additional Material: Python for Data Visualization

Lesson 01: Data Visualization in Data Analysis
In this lesson, see the motivations for why data visualization is an important part of the data analysis process and where it fits in.
 Concept 01: Introduction to Data Visualization
 Concept 02: Motivation for Data Visualization
 Concept 03: Further Motivation
 Concept 04: Exploratory vs. Explanatory Analyses
 Concept 05: Quiz: Exploratory vs. Explanatory
 Concept 06: Visualization in Python
 Concept 07: Course Structure
 Concept 08: Lesson Summary

Lesson 02: Design of Visualizations
Learn about elements of visualization design, especially to avoid those elements that can cause a visualization to fail.
 Concept 01: Introduction
 Concept 02: What Makes a Bad Visual?
 Concept 03: Levels of Measurement & Types of Data
 Concept 04: Quiz: Data Types (Quantitative vs. Categorical)
 Concept 05: Text + Quiz: Data Types (Ordinal vs. Nominal)
 Concept 06: Data Types (Continuous vs. Discrete)
 Concept 07: Identifying Data Types
 Concept 08: What Experts Say About Visual Encodings
 Concept 09: Chart Junk
 Concept 10: Data Ink Ratio
 Concept 11: Design Integrity
 Concept 12: Bad Visual Quizzes (Part I)
 Concept 13: Bad Visual Quizzes (Part II)
 Concept 14: Using Color
 Concept 15: Designing for Color Blindness
 Concept 16: Shape, Size, & Other Tools
 Concept 17: Good Visual
 Concept 18: Lesson Summary

Lesson 03: Univariate Exploration of Data
In this lesson, you will see how you can use matplotlib and seaborn to produce informative visualizations of single variables.
 Concept 01: Introduction
 Concept 02: Tidy Data
 Concept 03: Bar Charts
 Concept 04: Absolute vs. Relative Frequency
 Concept 05: Counting Missing Data
 Concept 06: Bar Chart Practice
 Concept 07: Pie Charts
 Concept 08: Histograms
 Concept 09: Histogram Practice
 Concept 10: Figures, Axes, and Subplots
 Concept 11: Choosing a Plot for Discrete Data
 Concept 12: Descriptive Statistics, Outliers and Axis Limits
 Concept 13: Scales and Transformations
 Concept 14: Scales and Transformations Practice
 Concept 15: Lesson Summary
 Concept 16: Extra: Kernel Density Estimation
 Concept 17: Extra: Waffle Plots

Lesson 04: Bivariate Exploration of Data
In this lesson, build up from your understanding of individual variables and learn how to use matplotlib and seaborn to look at relationships between two variables.
 Concept 01: Introduction
 Concept 02: Scatterplots and Correlation
 Concept 03: Overplotting, Transparency, and Jitter
 Concept 04: Heat Maps
 Concept 05: Scatterplot Practice
 Concept 06: Violin Plots
 Concept 07: Box Plots
 Concept 08: Violin and Box Plot Practice
 Concept 09: Clustered Bar Charts
 Concept 10: Categorical Plot Practice
 Concept 11: Faceting
 Concept 12: Adaptation of Univariate Plots
 Concept 13: Line Plots
 Concept 14: Additional Plot Practice
 Concept 15: Lesson Summary
 Concept 16: Extra: QQ Plots
 Concept 17: Extra: Swarm Plots
 Concept 18: Extra: Rug and Strip Plots
 Concept 19: Extra: Stacked Plots
 Concept 20: Extra: Ridgeline Plots

Lesson 05: Multivariate Exploration of Data
In this lesson, see how you can use matplotlib and seaborn to visualize relationships and interactions between three or more variables.
 Concept 01: Introduction
 Concept 02: NonPositional Encodings for Third Variables
 Concept 03: Color Palettes
 Concept 04: Encodings Practice
 Concept 05: Faceting in Two Directions
 Concept 06: Other Adaptations of Bivariate Plots
 Concept 07: Adapted Plot Practice
 Concept 08: Plot Matrices
 Concept 09: Feature Engineering
 Concept 10: How Much is Too Much?
 Concept 11: Additional Plot Practice
 Concept 12: Lesson Summary

Lesson 06: Explanatory Visualizations
Previous lessons covered how you could use visualizations to learn about your data. In this lesson, see how to polish up those plots to convey your findings to others!
 Concept 01: Introduction
 Concept 02: Revisiting the Data Analysis Process
 Concept 03: Tell A Story
 Concept 04: Same Data, Different Stories
 Concept 05: Quizzes on Data Story Telling
 Concept 06: Polishing Plots
 Concept 07: Polishing Plots Practice
 Concept 08: Creating a Slide Deck with Jupyter
 Concept 09: Getting and Using Feedback
 Concept 10: Lesson Summary

Lesson 07: Visualization Case Study
Put to practice the concepts you've learned about exploratory and explanatory data visualization in this case study on factors that impact diamond prices.

Part 11 (Elective): Additional Material: Statistics for Data Analysis

Module 01: Additional Material: Statistics for Data Analysis

Lesson 01: Descriptive Statistics  Part I
In this lesson, you will learn about data types, measures of center, and the basics of statistical notation.
 Concept 01: Introduce Instructors
 Concept 02: Text: Optional Lessons Note
 Concept 03: Video: Welcome!
 Concept 04: Video: What is Data? Why is it important?
 Concept 05: Video: Data Types (Quantitative vs. Categorical)
 Concept 06: Quiz: Data Types (Quantitative vs. Categorical)
 Concept 07: Video: Data Types (Ordinal vs. Nominal)
 Concept 08: Video: Data Types (Continuous vs. Discrete)
 Concept 09: Video: Data Types Summary
 Concept 10: Text + Quiz: Data Types (Ordinal vs. Nominal)
 Concept 11: Data Types (Continuous vs. Discrete)
 Concept 12: Video: Introduction to Summary Statistics
 Concept 13: Video: Measures of Center (Mean)
 Concept 14: Measures of Center (Mean)
 Concept 15: Video: Measures of Center (Median)
 Concept 16: Measures of Center (Median)
 Concept 17: Video: Measures of Center (Mode)
 Concept 18: Measures of Center (Mode)
 Concept 19: Video: What is Notation?
 Concept 20: Video: Random Variables
 Concept 21: Quiz: Variable Types
 Concept 22: Video: Capital vs. Lower
 Concept 23: Quiz: Introduction to Notation
 Concept 24: Video: Better Way?
 Concept 25: Video: Summation
 Concept 26: Video: Notation for the Mean
 Concept 27: Quiz: Summation
 Concept 28: Quiz: Notation for the Mean
 Concept 29: Text: Summary on Notation

Lesson 02: Descriptive Statistics  Part II
In this lesson, you will learn about measures of spread, shape, and outliers as associated with quantitative data. You will also get a first look at inferential statistics.
 Concept 01: Video: What are Measures of Spread?
 Concept 02: Video: Histograms
 Concept 03: Video: Weekdays vs. Weekends: What is the Difference
 Concept 04: Video: Introduction to Five Number Summary
 Concept 05: Quiz: 5 Number Summary Practice
 Concept 06: Video: What if We Only Want One Number?
 Concept 07: Video: Introduction to Standard Deviation and Variance
 Concept 08: Video: Standard Deviation Calculation
 Concept 09: Measures of Spread (Calculation and Units)
 Concept 10: Text: Introduction to the Standard Deviation and Variance
 Concept 11: Video: Why the Standard Deviation?
 Concept 12: Video: Important Final Points
 Concept 13: Advanced: Standard Deviation and Variance
 Concept 14: Quiz: Applied Standard Deviation and Variance
 Concept 15: Homework 1: Final Quiz on Measures Spread
 Concept 16: Text: Measures of Center and Spread Summary
 Concept 17: Video: Shape
 Concept 18: Video: The Shape For Data In The World
 Concept 19: Quiz: Shape and Outliers (What's the Impact?)
 Concept 20: Video: Shape and Outliers
 Concept 21: Video: Working With Outliers
 Concept 22: Video: Working With Outliers My Advice
 Concept 23: Quiz: Shape and Outliers (Comparing Distributions)
 Concept 24: Quiz: Shape and Outliers (Visuals)
 Concept 25: Quiz: Shape and Outliers (Final Quiz)
 Concept 26: Text: Descriptive Statistics Summary
 Concept 27: Video: Descriptive vs. Inferential Statistics
 Concept 28: Quiz: Descriptive vs. Inferential (Udacity Students)
 Concept 29: Quiz: Descriptive vs. Inferential (Bagels)
 Concept 30: Text: Descriptive vs. Inferential Summary
 Concept 31: Video: Summary

Lesson 03: Admissions Case Study
Learn to ask the right questions, as you learn about Simpson's Paradox.
 Concept 01: Admissions Case Study Introduction
 Concept 02: Admissions 1
 Concept 03: Admissions 2
 Concept 04: Admissions 3
 Concept 05: Admissions 4
 Concept 06: Gender Bias
 Concept 07: Aggregation
 Concept 08: Aggregation 2
 Concept 09: Aggregation 3
 Concept 10: Gender Bias Revisited
 Concept 11: Dangers of Statistics
 Concept 12: Text: Recap + Next Steps
 Concept 13: Case Study in Python
 Concept 14: Conclusion

Lesson 04: Probability
Gain the basics of probability using coins and die.
 Concept 01: Introduction to Probability
 Concept 02: Flipping Coins
 Concept 03: Fair Coin
 Concept 04: Loaded Coin 1
 Concept 05: Loaded Coin 2
 Concept 06: Loaded Coin 3
 Concept 07: Complementary Outcomes
 Concept 08: Two Flips 1
 Concept 09: Two Flips 2
 Concept 10: Two Flips 3
 Concept 11: Two Flips 4
 Concept 12: Two Flips 5
 Concept 13: One Head 1
 Concept 14: One Head 2
 Concept 15: One Of Three 1
 Concept 16: One Of Three 2
 Concept 17: Even Roll
 Concept 18: Doubles
 Concept 19: Probability Conclusion
 Concept 20: Text: Recap + Next Steps

Lesson 05: Binomial Distribution
Learn about one of the most popular distributions in probability  the Binomial Distribution.
 Concept 01: Binomial
 Concept 02: Heads Tails
 Concept 03: Heads Tails 2
 Concept 04: 5 Flips 1 Head
 Concept 05: 5 Flips 2 Heads
 Concept 06: 5 Flips 3 Heads
 Concept 07: 10 Flips 5 Heads
 Concept 08: Formula
 Concept 09: Arrangements
 Concept 10: Binomial 1
 Concept 11: Binomial 2
 Concept 12: Binomial 3
 Concept 13: Binomial 4
 Concept 14: Binomial 5
 Concept 15: Binomial 6
 Concept 16: Binomial Conclusion
 Concept 17: Text: Recap + Next Steps

Lesson 06: Conditional Probability
Not all events are independent. Learn the probability rules for dependent events.
 Concept 01: Introduction to Conditional Probability
 Concept 02: Medical Example 1
 Concept 03: Medical Example 2
 Concept 04: Medical Example 3
 Concept 05: Medical Example 4
 Concept 06: Medical Example 5
 Concept 07: Medical Example 6
 Concept 08: Medical Example 7
 Concept 09: Medical Example 8
 Concept 10: Total Probability
 Concept 11: Two Coins 1
 Concept 12: Two Coins 2
 Concept 13: Two Coins 3
 Concept 14: Two Coins 4
 Concept 15: Summary
 Concept 16: Text: Summary

Lesson 07: Bayes Rule
Learn one of the most popular rules in all of statistics  Bayes rule.
 Concept 01: Bayes Rule
 Concept 02: Cancer Test
 Concept 03: Prior And Posterior
 Concept 04: Normalizing 1
 Concept 05: Normalizing 2
 Concept 06: Normalizing 3
 Concept 07: Total Probability
 Concept 08: Bayes Rule Diagram
 Concept 09: Equivalent Diagram
 Concept 10: Cancer Probabilities
 Concept 11: Probability Given Test
 Concept 12: Normalizer
 Concept 13: Normalizing Probability
 Concept 14: Disease Test 1
 Concept 15: Disease Test 2
 Concept 16: Disease Test 3
 Concept 17: Disease Test 4
 Concept 18: Disease Test 5
 Concept 19: Disease Test 6
 Concept 20: Bayes Rule Summary
 Concept 21: Robot Sensing 1
 Concept 22: Robot Sensing 2
 Concept 23: Robot Sensing 3
 Concept 24: Robot Sensing 4
 Concept 25: Robot Sensing 5
 Concept 26: Robot Sensing 6
 Concept 27: Robot Sensing 7
 Concept 28: Robot Sensing 8
 Concept 29: Generalizing
 Concept 30: Sebastian At Home
 Concept 31: Learning Objectives  Conditional Probability
 Concept 32: Reducing Uncertainty
 Concept 33: Bayes' Rule and Robotics
 Concept 34: Learning from Sensor Data
 Concept 35: Using Sensor Data
 Concept 36: Learning Objectives  Bayes' Rule
 Concept 37: Bayes Rule Conclusion

Lesson 08: Python Probability Practice
Take what you have learned in the last lessons and put it to practice in Python.

Lesson 09: Normal Distribution Theory
Learn the mathematics behind moving from a coin flip to a normal distribution.
 Concept 01: Maximum Probability
 Concept 02: Shape
 Concept 03: Better Formula
 Concept 04: Quadratics
 Concept 05: Quadratics 2
 Concept 06: Quadratics 3
 Concept 07: Quadratics 4
 Concept 08: Maximum
 Concept 09: Maximum Value
 Concept 10: Minimum
 Concept 11: Minimum Value
 Concept 12: Normalizer
 Concept 13: Formula Summary
 Concept 14: Central Limit Theorem
 Concept 15: Summary

Lesson 10: Sampling distributions and the Central Limit Theorem
Learn all about the underpinning of confidence intervals and hypothesis testing  sampling distributions.
 Concept 01: Introduction
 Concept 02: Video: Descriptive vs. Inferential Statistics
 Concept 03: Quiz: Descriptive vs. Inferential (Udacity Students)
 Concept 04: Quiz: Descriptive vs. Inferential (Bagels)
 Concept 05: Text: Descriptive vs. Inferential Statistics
 Concept 06: Video + Quiz: Introduction to Sampling Distributions Part I
 Concept 07: Video + Quiz: Introduction to Sampling Distributions Part II
 Concept 08: Video: Introduction to Sampling Distributions Part III
 Concept 09: Notebook + Quiz: Sampling Distributions & Python
 Concept 10: Text: Sampling Distribution Notes
 Concept 11: Video: Introduction to Notation
 Concept 12: Video: Notation for Parameters vs. Statistics
 Concept 13: Quiz: Notation
 Concept 14: Video: Other Sampling Distributions
 Concept 15: Video: Two Useful Theorems  Law of Large Numbers
 Concept 16: Notebook + Quiz: Law of Large Numbers
 Concept 17: Video: Two Useful Theorems  Central Limit Theorem
 Concept 18: Notebook + Quiz: Central Limit Theorem
 Concept 19: Notebook + Quiz: Central Limit Theorem  Part II
 Concept 20: Video: When Does the Central Limit Theorem Not Work?
 Concept 21: Notebook + Quiz: Central Limit Theorem  Part III
 Concept 22: Video: Bootstrapping
 Concept 23: Video: Bootstrapping & The Central Limit Theorem
 Concept 24: Notebook + Quiz: Bootstrapping
 Concept 25: Video: The Background of Bootstrapping
 Concept 26: Video: Why are Sampling Distributions Important
 Concept 27: Quiz + Text: Recap & Next Steps

Lesson 11: Confidence Intervals
Learn how to use sampling distributions and bootstrapping to create a confidence interval for any parameter of interest.
 Concept 01: Video: Introduction
 Concept 02: Video: From Sampling Distributions to Confidence Intervals
 Concept 03: ScreenCast: Sampling Distributions and Confidence Intervals
 Concept 04: Notebook + Quiz: Building Confidence Intervals
 Concept 05: ScreenCast: Difference In Means
 Concept 06: Notebook + Quiz: Difference in Means
 Concept 07: Video: Confidence Interval Applications
 Concept 08: Video: Statistical vs. Practical Significance
 Concept 09: Statistical vs. Practical Significance
 Concept 10: Video: Traditional Confidence Intervals
 Concept 11: ScreenCast: Traditional Confidence Interval Methods
 Concept 12: Video: Other Language Associated with Confidence Intervals
 Concept 13: Other Language Associated with Confidence Intervals
 Concept 14: Video: Correct Interpretations of Confidence Intervals
 Concept 15: Correct Interpretations of Confidence Intervals
 Concept 16: Video: Confidence Intervals & Hypothesis Tests
 Concept 17: Text: Recap + Next Steps

Lesson 12: Hypothesis Testing
Learn the necessary skills to create and analyze the results in hypothesis testing.
 Concept 01: Introduction
 Concept 02: Hypothesis Testing
 Concept 03: Setting Up Hypothesis Tests  Part I
 Concept 04: Setting Up Hypotheses
 Concept 05: Setting Up Hypothesis Tests  Part II
 Concept 06: Quiz: Setting Up Hypothesis Tests
 Concept 07: Types of Errors  Part I
 Concept 08: Quiz: Types of Errors  Part I
 Concept 09: Types of Errors  Part II
 Concept 10: Quiz: Types of Errors  Part II(a)
 Concept 11: Quiz: Types of Errors  Part II(b)
 Concept 12: Types of Errors  Part III
 Concept 13: Quiz: Types of Errors  Part III
 Concept 14: Common Types of Hypothesis Tests
 Concept 15: Quiz: More Hypothesis Testing Practice
 Concept 16: How Do We Choose Between Hypotheses?
 Concept 17: Video: Simulating from the Null
 Concept 18: Notebook + Quiz: Simulating from the Null
 Concept 19: Solution Notebook: Simulating from the Null
 Concept 20: What is a pvalue Anyway?
 Concept 21: Video: Calculating the pvalue
 Concept 22: Quiz: What is a pvalue Anyway?
 Concept 23: Quiz: Calculating a pvalue
 Concept 24: Quiz: Calculating another pvalue
 Concept 25: Connecting Errors and PValues
 Concept 26: Conclusions in Hypothesis Testing
 Concept 27: Quiz: Connecting Errors and PValues
 Concept 28: Notebook + Quiz: Drawing Conclusions
 Concept 29: Solution Notebook: Drawing Conclusions
 Concept 30: Other Things to Consider  Impact of Large Sample Size
 Concept 31: Other Things to Consider  What If We Test More Than Once?
 Concept 32: Other Things to Consider  How Do CIs and HTs Compare?
 Concept 33: Notebook + Quiz: Impact of Sample Size
 Concept 34: Solution Notebook: Impact of Sample Size
 Concept 35: Notebook + Quiz: Multiple Tests
 Concept 36: Solution Notebook: Multiple tests
 Concept 37: Hypothesis Testing Conclusion
 Concept 38: Quiz + Text: Recap

Lesson 13: Case Study: A/B tests
Work through a case study of how A/B testing works for an online education company called Audacity.
 Concept 01: Introduction
 Concept 02: A/B Testing
 Concept 03: A/B Testing
 Concept 04: Business Example
 Concept 05: Experiment I
 Concept 06: Quiz: Experiment I
 Concept 07: Metric  Click Through Rate
 Concept 08: Click Through Rate
 Concept 09: Experiment II
 Concept 10: Metric  Enrollment Rate
 Concept 11: Metric  Average Reading Duration
 Concept 12: Metric  Average Classroom Time
 Concept 13: Metric  Completion Rate
 Concept 14: Analyzing Multiple Metrics
 Concept 15: Quiz: Analyzing Multiple Metrics
 Concept 16: Drawing Conclusions
 Concept 17: Quiz: Difficulties in A/B Testing
 Concept 18: Conclusion

Lesson 14: Regression
Use python to fit linear regression models, as well as understand how to interpret the results of linear models.
 Concept 01: Video: Introduction
 Concept 02: Video: Introduction to Machine Learning
 Concept 03: Quiz: Machine Learning Big Picture
 Concept 04: Video: Introduction to Linear Regression
 Concept 05: Quiz: Linear Regression Language
 Concept 06: Scatter Plots
 Concept 07: Quizzes On Scatter Plots
 Concept 08: Correlation Coefficients
 Concept 09: Correlation Coefficient Quizzes
 Concept 10: Video: What Defines A Line?
 Concept 11: Quiz: What Defines A Line?  Notation Quiz
 Concept 12: Quiz: What Defines A Line?  Line Basics Quiz
 Concept 13: Video: Fitting A Regression Line
 Concept 14: Text: The Regression Closed Form Solution
 Concept 15: Screencast: Fitting A Regression Line in Python
 Concept 16: Video: How to Interpret the Results?
 Concept 17: Video: Does the Line Fit the Data Well?
 Concept 18: Notebook + Quiz: How to Interpret the Results
 Concept 19: Notebook + Quiz: Regression  Your Turn  Part I
 Concept 20: Notebook + Quiz: Your Turn  Part II
 Concept 21: Video: Recap
 Concept 22: Text: Recap + Next Steps

Lesson 15: Multiple Linear Regression
Learn to apply multiple linear regression models in python. Learn to interpret the results and understand if your model fits well.
 Concept 01: Video: Introduction
 Concept 02: Video: Multiple Linear Regression
 Concept 03: Screencast: Fitting A Multiple Linear Regression Model
 Concept 04: Notebook + Quiz: Fitting A MLR Model
 Concept 05: Screencast + Text: How Does MLR Work?
 Concept 06: Video: Multiple Linear Regression Model Results
 Concept 07: Quiz: Interpreting Coefficients in MLR
 Concept 08: Video: Dummy Variables
 Concept 09: Text: Dummy Variables
 Concept 10: Dummy Variables
 Concept 11: Screencast: Dummy Variables
 Concept 12: Notebook + Quiz: Dummy Variables
 Concept 13: Video: Dummy Variables Recap
 Concept 14: [Optional] Notebook + Quiz: Other Encodings
 Concept 15: Video: Potential Problems
 Concept 16: [Optional] Text: Linear Model Assumptions
 Concept 17: Screencast: Multicollinearity & VIFs
 Concept 18: Video: Multicollinearity & VIFs
 Concept 19: Notebook + Quiz: Multicollinearity & VIFs
 Concept 20: Video: Higher Order Terms
 Concept 21: Text: Higher Order Terms
 Concept 22: Screencast: How to Add Higher Order Terms
 Concept 23: Video: Interpreting Interactions
 Concept 24: Text: Interpreting Interactions
 Concept 25: Notebook + Quiz: Interpreting Model Coefficients
 Concept 26: Video: Recap
 Concept 27: Text: Recap

Lesson 16: Logistic Regression
Learn to apply logistic regression models in python. Learn to interpret the results and understand if your model fits well.
 Concept 01: Video: Introduction
 Concept 02: Video: Fitting Logistic Regression
 Concept 03: Quiz: Logistic Regression Quick Check
 Concept 04: Video: Fitting Logistic Regression in Python
 Concept 05: Notebook + Quiz: Fitting Logistic Regression in Python
 Concept 06: Video: Interpreting Results  Part I
 Concept 07: Video (ScreenCast): Interpret Results  Part II
 Concept 08: Notebook + Quiz: Interpret Results
 Concept 09: Video: Model Diagnostics + Performance Metrics
 Concept 10: Confusion Matrices
 Concept 11: Confusion Matrix Practice 1
 Concept 12: Confusion Matrix Practice 2
 Concept 13: Filling in a Confusion Matrix
 Concept 14: Confusion Matrix: False Alarms
 Concept 15: Confusion Matrix for Eigenfaces
 Concept 16: How Many Schroeders
 Concept 17: How Many Schroeder Predictions
 Concept 18: Classifying Chavez Correctly 1
 Concept 19: Classifying Chavez Correctly 2
 Concept 20: Precision and Recall
 Concept 21: Powell Precision and Recall
 Concept 22: Bush Precision and Recall
 Concept 23: True Positives in Eigenfaces
 Concept 24: False Positives in Eigenfaces
 Concept 25: False Negatives in Eigenfaces
 Concept 26: Practicing TP, FP, FN with Rumsfeld
 Concept 27: Equation for Precision
 Concept 28: Equation for Recall
 Concept 29: Screencast: Model Diagnostics in Python  Part I
 Concept 30: Notebook + Quiz: Model Diagnostics
 Concept 31: Video: Final Thoughts On Shifting to Machine Learning
 Concept 32: Text: Recap
 Concept 33: Video: Congratulations

Part 12 (Elective): Additional Material: Linear Algebra

Module 01: Additional Material: Linear Algebra

Lesson 01: Introduction
Take a sneak peek into the beautiful world of Linear Algebra and learn why it is such an important mathematical tool.

Lesson 02: Vectors
Learn about vectors, the basic building block of Linear Algebra.
 Concept 01: What's a Vector?
 Concept 02: Vectors, what even are they? Part 2
 Concept 03: Vectors, what even are they? Part 3
 Concept 04: Vectors Mathematical definition
 Concept 05: Transpose
 Concept 06: Magnitude and Direction
 Concept 07: Vectors Quiz 1
 Concept 08: Operations in the Field
 Concept 09: Vector Addition
 Concept 10: Vectors Quiz 2
 Concept 11: Scalar by Vector Multiplication
 Concept 12: Vectors Quiz 3
 Concept 13: Vectors Quiz Answers

Lesson 03: Linear Combination
Learn how to scale and add vectors and how to visualize the process.
 Concept 01: Linear Combination. Part 1
 Concept 02: Linear Combination. Part 2
 Concept 03: Linear Combination and Span
 Concept 04: Linear Combination Quiz 1
 Concept 05: Linear Dependency
 Concept 06: Solving a Simplified Set of Equations
 Concept 07: Linear Combination  Quiz 2
 Concept 08: Linear Combination  Quiz 3

Lesson 04: 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.
 Concept 01: What is a Matrix?
 Concept 02: Matrix Addition
 Concept 03: Matrix Addition Quiz
 Concept 04: Scalar Multiplication of Matrix and Quiz
 Concept 05: Multiplication of Square Matrices
 Concept 06: Square Matrix Multiplication Quiz
 Concept 07: Matrix Multiplication  General
 Concept 08: Matrix Multiplication Quiz
 Concept 09: Linear Transformation and Matrices . Part 1
 Concept 10: Linear Transformation and Matrices. Part 2
 Concept 11: Linear Transformation and Matrices. Part 3
 Concept 12: Linear Transformation Quiz Answers
