Nanodegree key: nd113
Version: 7.0.5
Locale: en-us 求知若渴,虚心若愚。
Learn the essentials of building a self-driving car, including probability, C++, machine learning, and linear algebra.
Content
Part 00 (Elective) : [New] Prerequisite: Python
-
Module 01:
Python
-
Lesson 00: Jupyter Notebooks
Learn how to use Jupyter Notebooks to create documents combining code, text, images, and more.
- Concept 01: Instructor
- Concept 02: What are Jupyter notebooks?
- Concept 03: Installing Jupyter Notebook
- Concept 04: Launching the notebook server
- Concept 05: Notebook interface
- Concept 06: Code cells
- Concept 07: Markdown cells
- Concept 08: Keyboard shortcuts
- Concept 09: Magic keywords
- Concept 10: Converting notebooks
- Concept 11: Creating a slideshow
- Concept 12: Finishing up
-
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, built-in functions, type conversion, whitespace, 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: Quiz: String Methods Practice
- Concept 23: Solution: String Methods Practice
- Concept 24: "There's a Bug in my Code"
- Concept 25: Conclusion
- Concept 26: Summary
-
Lesson 03: Data Structures
Use data structures to order and group different data types together! Learn about the types of data structures in Python, along with more useful built-in functions and operators.
- Concept 01: Introduction
- Concept 02: Lists and Membership Operators
- Concept 03: Quiz: Lists and Membership Operators
- Concept 04: Solution: List and Membership Operators
- Concept 05: Why Do We Need Lists?
- Concept 06: List Methods
- Concept 07: Quiz: List Methods
- Concept 08: Check for Understanding: Lists
- Concept 09: Tuples
- Concept 10: Quiz: Tuples
- Concept 11: Sets
- Concept 12: Quiz: Sets
- Concept 13: Dictionaries and Identity Operators
- Concept 14: Quiz: Dictionaries and Identity Operators
- Concept 15: Solution: Dictionaries and Identity Operators
- Concept 16: Quiz: More With Dictionaries
- Concept 17: When to Use Dictionaries?
- Concept 18: Check for Understanding: Data Structures
- Concept 19: Compound Data Structures
- Concept 20: Quiz: Compound Data Structures
- Concept 21: Solution: Compound Data Structions
- Concept 22: Practice Questions
- Concept 23: Solution: Practice Questions
- Concept 24: Conclusion
-
Lesson 04: Control Flow
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.
- 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: For Loops vs. While Loops
- Concept 26: Check for Understanding: For and While Loops
- Concept 27: Solution: Check for Understanding: For and While Loops
- Concept 28: Break, Continue
- Concept 29: Quiz: Break, Continue
- Concept 30: Solution: Break, Continue
- Concept 31: Practice: Loops
- Concept 32: Solution: Loops
- Concept 33: Zip and Enumerate
- Concept 34: Quiz: Zip and Enumerate
- Concept 35: Solution: Zip and Enumerate
- Concept 36: List Comprehensions
- Concept 37: Quiz: List Comprehensions
- Concept 38: Solution: List Comprehensions
- Concept 39: Practice Questions
- Concept 40: Solutions to Practice Questions
- Concept 41: Conclusion
-
Lesson 05: 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: Check For Understanding: Functions
- Concept 06: Variable Scope
- Concept 07: Variable Scope
- Concept 08: Solution: Variable Scope
- Concept 09: Check For Understanding: Variable Scope
- Concept 10: Documentation
- Concept 11: Quiz: Documentation
- Concept 12: Solution: Documentation
- Concept 13: Lambda Expressions
- Concept 14: Quiz: Lambda Expressions
- Concept 15: Solution: Lambda Expressions
- Concept 16: Conclusion
-
Lesson 06: 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: Quiz: Practice Debugging
- Concept 21: Solutions for Quiz: Practice Debugging
- Concept 22: Importing Local Scripts
- Concept 23: The Standard Library
- Concept 24: Quiz: The Standard Library
- Concept 25: Solution: The Standard Library
- Concept 26: Techniques for Importing Modules
- Concept 27: Quiz: Techniques for Importing Modules
- Concept 28: Third-Party Libraries
- Concept 29: Experimenting with an Interpreter
- Concept 30: Online Resources
- Concept 31: Practice Question
- Concept 32: Solution for Practice Question
- Concept 33: Conclusion
-
Lesson 07: 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: Quiz: Creating and Saving NumPy ndarrays
- Concept 06: Solution: Creating and Saving NumPy ndarrays
- Concept 07: Using Built-in Functions to Create ndarrays
- Concept 08: Create an ndarray
- Concept 09: Accessing, Deleting, and Inserting Elements Into ndarrays
- Concept 10: Slicing ndarrays
- Concept 11: Boolean Indexing, Set Operations, and Sorting
- Concept 12: Manipulating ndarrays
- Concept 13: Arithmetic operations and Broadcasting
- Concept 14: Creating ndarrays with Broadcasting
-
Lesson 08: 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
-
Lesson 09: Style & Structure
Get practice writing longer programs, and improving their structure and style.
- Concept 01: Welcome!
- Concept 02: Pycodestyle
- Concept 03: Multi-line strings (1/2)
- Concept 04: Multi-line strings (2/2)
- Concept 05: Breakfast bot — Specifications
- Concept 06: Breakfast bot — Input and conditionals
- Concept 07: Breakfast bot — Getting valid input (1/2)
- Concept 08: Breakfast bot — Getting valid input (2/2)
- Concept 09: Breakfast bot — More flexible input
- Concept 10: Breakfast bot — Intro
- Concept 11: Breakfast bot — Pausing
- Concept 12: Breakfast bot — Order again
- Concept 13: Breakfast bot — Refactoring (1/5)
- Concept 14: Breakfast bot — Refactoring (2/5)
- Concept 15: Breakfast bot — Refactoring (3/5)
- Concept 16: Breakfast bot — Refactoring (4/5)
- Concept 17: Breakfast bot — Refactoring (5/5)
- Concept 18: Repeating with functions (1/2)
- Concept 19: Repeating with functions (2/2)
- Concept 20: Elevator — Simple version (1/2)
- Concept 21: Elevator — Simple version (2/2)
- Concept 22: Elevator — Advanced version
- Concept 23: Elevator — First floor
- Concept 24: Elevator — Second floor
- Concept 25: Elevator — Third floor
- Concept 26: Elevator — Refactoring (1/4)
- Concept 27: Elevator — Refactoring (2/4)
- Concept 28: Elevator — Refactoring (3/4)
- Concept 29: Elevator — Refactoring (4/4)
- Concept 30: Elevator — Scope
- Concept 31: 100 lines!
-
Lesson 10: Adventure Game
Demonstrate your Python skills by coding a simple version of an old-fashioned text-based adventure game.
-
Part 01 : Orientation
Welcome to the Intro to Self-Driving Cars Nanodegree program! In this section you'll get a sneak peak of the classroom, meet the team, and learn about the services provided. Then you'll take a readiness assessment and check out some learning resources to help you make the most out of your experience.
-
Module 01:
Welcome to Intro to Self-Driving Cars!
-
Lesson 01: Introduction
Welcome to the Intro to Self-Driving Cars Nanodegree program! We are excited to have you and hope you are looking forward to learning about this game-changing field!
-
-
Module 02:
Career Support
-
Lesson 01: Get Help with Your Account
What to do if you have questions about your account or general questions about the program.
-
Lesson 02: Knowledge, Community, and Careers
You are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.
-
-
Module 03:
Readiness
-
Lesson 01: The Carla Chronicles: Back on Track
Work through the readiness assessment with Carla and her friends to make sure you are ready to begin your own personal adventure with self-driving cars!
- Concept 01: The Carla Chronicles: Back on Track
- Concept 02: Meet the Crew
- Concept 03: Wheel Size Matters
- Concept 04: Challenge: Rotation
- Concept 05: Lost in Space
- Concept 06: Challenge: Localization
- Concept 07: It's Getting Hot in Here
- Concept 08: Challenge: Changing Tire Size
- Concept 09: What's the Plan, Stan?
- Concept 10: Challenge: Planning
- Concept 11: The Split Decision
- Concept 12: Challenge: Shortest Path
- Concept 13: The End?
- Concept 14: Thanks for Helping Carla!
-
Lesson 02: Get Ready
While you wait for your classroom to open, refresh your math and programming skills with these helpful resources.
-
Part 02 : Bayesian Thinking
Learn the framework that underlies a self-driving car’s understanding of itself and the world around it, and to see the world the way a self-driving car does.
-
Module 01:
Bayesian Thinking
-
Lesson 01: Introduction
A brief introduction to Bayesian Thinking from Sebastian.
-
Lesson 02: Joy Ride
A quick introduction to controlling a (simulated) car with code. Parts 1 and 2 will show you how to control gas and steering and in part 3 you'll program a car to parallel park.
-
Lesson 03: Probability
Learn the basics of probability - the language of robotics. This lesson will focus on the math. In later lessons you'll apply this math in Python code.
- Concept 01: Uncertainty in Driving
- Concept 02: Uncertainty in Robotics
- Concept 03: Learning Objectives Explained
- Concept 04: Learning Objectives - Probability
- Concept 05: Probability
- Concept 06: Flipping Coins
- Concept 07: Fair Coin
- Concept 08: Loaded Coin 1
- Concept 09: Loaded Coin 2
- Concept 10: Loaded Coin 3
- Concept 11: Complementary Outcomes
- Concept 12: Probability in Robotics
- Concept 13: Two Flips 1
- Concept 14: Two Flips 2
- Concept 15: Two Flips 3
- Concept 16: Two Flips 4
- Concept 17: Two Flips 5
- Concept 18: Two Cars 1-5
- Concept 19: One Head 1
- Concept 20: One Head 2
- Concept 21: One Of Three 1
- Concept 22: One Of Three 2
- Concept 23: Even Roll
- Concept 24: Doubles
- Concept 25: Summary
- Concept 26: [Optional] Cars and Probability
-
Lesson 04: Conditional Probability
In order to infer meaning from noisy sensor measurements, a self driving car needs to use the math of Conditional Probability. Learn this math from Sebastian (and then apply it in the next lesson).
- Concept 01: Conditional Probability
- Concept 02: Intro to Conditional Probability
- Concept 03: Estimating Based on Conditions
- Concept 04: Dependent Events and Conditional Probability
- Concept 05: Learning Objective Recap Explained
- Concept 06: Learning Objectives - Probability
- Concept 07: Learning Objectives - Conditional Probability
- Concept 08: Dependent Things
- Concept 09: Notation Note
- Concept 10: Medical Example 1
- Concept 11: Medical Example 2
- Concept 12: Medical Example 3
- Concept 13: Medical Example 4
- Concept 14: Medical Example 5
- Concept 15: Medical Example 6
- Concept 16: Medical Example 7
- Concept 17: Medical Example 8
- Concept 18: Total Probability
- Concept 19: Two Coins 1
- Concept 20: Two Coins 2
- Concept 21: Two Coins 3
- Concept 22: Two Coins 4
- Concept 23: Summary
- Concept 24: [Optional] Cars and Conditional Probability
-
Lesson 05: Programming Probability in Python
Your chance to learn basic Python syntax while applying what you learned about probability and conditional probability in the last two lessons.
- Concept 01: Learn by Doing
- Concept 02: Your First Programming Practice!
- Concept 03: Python Variables [demonstration]
- Concept 04: Data Types [demonstration]
- Concept 05: Python Control Flow [demonstration]
- Concept 06: For Loops [demonstration]
- Concept 07: Lists and Loops [demonstration]
- Concept 08: List Comprehensions [demonstration]
- Concept 09: Python's random Library [demonstration]
- Concept 10: Learning with Playgrounds
- Concept 11: Simulating Coin Flips [playground]
- Concept 12: Functions [demonstration]
- Concept 13: Simulating Probabilities [demonstration]
- Concept 14: Exercises
- Concept 15: Probability of Collision [exercise]
- Concept 16: Probability of Collision [solution]
-
Lesson 06: Bayes' Rule
Learn about Bayes' Rule from Sebastian and get your first peek at how a self driving car uses Bayes' Rule to understand where in the world it is.
- Concept 01: Reducing Uncertainty
- Concept 02: Bayes' Rule and Robotics
- Concept 03: Learning from Sensor Data
- Concept 04: Using Sensor Data
- Concept 05: Learning Objectives - Conditional Probability
- Concept 06: Learning Objectives - Bayes' Rule
- Concept 07: Bayes Rule
- Concept 08: Cancer Test
- Concept 09: Prior And Posterior
- Concept 10: Normalizing 1
- Concept 11: Normalizing 2
- Concept 12: Normalizing 3
- Concept 13: Total Probability
- Concept 14: Bayes Rule Diagram
- Concept 15: Equivalent Diagram
- Concept 16: Cancer Probabilities
- Concept 17: Probability Given Test
- Concept 18: Normalizer
- Concept 19: Normalizing Probability
- Concept 20: Disease Test 1
- Concept 21: Disease Test 2
- Concept 22: Disease Test 3
- Concept 23: Disease Test 4
- Concept 24: Disease Test 5
- Concept 25: Disease Test 6
- Concept 26: Bayes Rule Summary
- Concept 27: Robot Sensing 1
- Concept 28: Robot Sensing 2
- Concept 29: Robot Sensing 3
- Concept 30: Robot Sensing 4
- Concept 31: Robot Sensing 5
- Concept 32: Robot Sensing 6
- Concept 33: Robot Sensing 7
- Concept 34: Robot Sensing 8
- Concept 35: Generalizing
- Concept 36: Sebastian At Home
-
Lesson 07: Programming Bayes' Rule and World Representations
In this lesson, you can expect a lot of hands-on practice programming Bayesian probability in Python, and representing a 2D world that you'll need to localize a car.
- Concept 01: Bayes' Rule Steps
- Concept 02: Programming Probabilities [exercise]
- Concept 03: Total Probability [exercise]
- Concept 04: Testing the Total
- Concept 05: Programming Bayes' Rule [exercise]
- Concept 06: Testing Bayes' Rule
- Concept 07: Arrays [demonstration]
- Concept 08: Array Iteration and Stopping [exercise]
- Concept 09: 2D Arrays and the Robot World [demonstration]
- Concept 10: 2D Iteration [demonstration]
- Concept 11: Pattern Matching [exercise]
- Concept 12: Why use Numpy Arrays [demonstration]
-
Lesson 08: Probability Distributions
Learn how a robot represents it's belief about uncertain quantities using something known as a probability distribution .
- Concept 01: Probability Distributions
- Concept 02: Intro to Probability Distributions Part One
- Concept 03: Intro to Probability Distributions Part Two
- Concept 04: Learning Objectives - Bayes' Rule
- Concept 05: Discrete vs. Continuous Variables
- Concept 06: Discrete Probability Distributions
- Concept 07: Discrete Probability [Exercise]
- Concept 08: Discrete Probability [Exercise] Solution
- Concept 09: Continuous Variables
- Concept 10: Landing Probability
- Concept 11: Spinning Probability
- Concept 12: Stops Nowhere
- Concept 13: Range Probability
- Concept 14: Range Probability 2
- Concept 15: Range Probability 3
- Concept 16: Continuous Probability Distributions
- Concept 17: Density
- Concept 18: Birth Time Density
- Concept 19: Changing Density
- Concept 20: Changing Density 2
- Concept 21: Check Density
- Concept 22: Calculate Density
- Concept 23: Density Properties
- Concept 24: Summary
-
Lesson 09: Programming Probability Distributions
Apply what you've learned in this course by programming and visualizing probability distributions.
- Concept 01: Prepare for a Challenge
- Concept 02: Programming Probability Distributions
- Concept 03: Math in Python [demonstration]
- Concept 04: Uniform Distribution [exercise]
- Concept 05: Uniform Distribution Solution
- Concept 06: Function Improvements [exercise]
- Concept 07: Function Improvements Solution
- Concept 08: Plotting in Python [demonstration]
- Concept 09: Visualizing Uniform Distributions [exercise]
- Concept 10: Visualizing Uniform Distributions Solution
- Concept 11: Visualizing Piece-wise Uniform Distributions
- Concept 12: Visualizing Piece-Wise Distributions [exercise]
- Concept 13: Visualizing Piece-Wise Distributions Solution
- Concept 14: 1-D Car World [exercise]
- Concept 15: 1-D Car World Solution
- Concept 16: 2-D Car World [demonstration]
- Concept 17: 2-D Car World [exercise]
- Concept 18: 2-D Car World Solution
- Concept 19: Conclusion
-
Lesson 10: Gaussian Distributions
You will work with a specific continuous probability distribution called the Gaussian distribution. A Gaussian distribution helps describe uncertainty in sensor measurements and a vehicle's location.
- Concept 01: Introduction
- Concept 02: Continuous Distributions
- Concept 03: Gaussian Distributions
- Concept 04: Gaussian Equation
- Concept 05: Mean
- Concept 06: Standard Deviation
- Concept 07: Plotting Gaussians in Python [exercise]
- Concept 08: Plotting Gaussians in Python [Solution]
- Concept 09: Area Under the Curve
- Concept 10: Calculating Area Under the Curve in Python
- Concept 11: Calculating Area Under the Curve [Solution]
- Concept 12: Central Limit Theorem [Optional]
- Concept 13: Central Limit Theorem [Optional Demo]
- Concept 14: Conclusion
-
Lesson 11: Robot Localization
Sebastian Thrun will give you an overview of the theory behind localization!
- Concept 01: About this Lesson
- Concept 02: Introduction
- Concept 03: Localization
- Concept 04: Total Probability
- Concept 05: Uniform Probability Quiz
- Concept 06: Uniform Distribution
- Concept 07: Generalized Uniform Distribution
- Concept 08: Probability After Sense
- Concept 09: Compute Sum
- Concept 10: Normalize Distribution
- Concept 11: pHit and pMiss
- Concept 12: Sum of Probabilities
- Concept 13: Sense Function
- Concept 14: Normalized Sense Function
- Concept 15: Test Sense Function
- Concept 16: Multiple Measurements
- Concept 17: Exact Motion
- Concept 18: Move Function
- Concept 19: Inexact Motion 1
- Concept 20: Inexact Motion 2
- Concept 21: Inexact Motion 3
- Concept 22: Inexact Move Function
- Concept 23: Limit Distribution Quiz
- Concept 24: Move Twice
- Concept 25: Move 1000
- Concept 26: Sense and Move
- Concept 27: Sense and Move 2
- Concept 28: Localization Summary
- Concept 29: Nanodegree Note
- Concept 30: Formal Definition of Probability 1
- Concept 31: Formal Definition of Probability 2
- Concept 32: Formal Definition of Probability 3
- Concept 33: Bayes' Rule
- Concept 34: Cancer Test
- Concept 35: Theorem of Total Probability
- Concept 36: Coin Flip Quiz
- Concept 37: Two Coin Quiz
-
Lesson 12: Histogram Filter in Python
Write the
sense
andmove
functions for a 2 dimensional histogram filter in Python.
-
Part 03 : Working with Matrices
This course will focus on two tools which are vital to self-driving car engineers: object oriented programming and linear algebra.
-
Module 01:
Working with Matrices
-
Lesson 01: Section Overview
An introduction to the amazing tools and algorithms you'll learn in this lesson.
-
Lesson 02: Introduction to Kalman Filters
Learn the intuition behind the Kalman Filter, a vehicle tracking algorithm and implement a one-dimensional tracker of your own.
- Concept 01: Introduction
- Concept 02: Tracking Intro
- Concept 03: Gaussian Intro
- Concept 04: Variance Comparison
- Concept 05: Preferred Gaussian
- Concept 06: Evaluate Gaussian
- Concept 07: Maximize Gaussian
- Concept 08: Measurement and Motion 1
- Concept 09: Measurement and Motion 2
- Concept 10: Shifting the Mean
- Concept 11: Predicting the Peak
- Concept 12: Parameter Update
- Concept 13: Parameter Update 2
- Concept 14: Separated Gaussians
- Concept 15: Separated Gaussians 2
- Concept 16: New Mean and Variance
- Concept 17: Gaussian Motion
- Concept 18: Predict Function
- Concept 19: Kalman Filter Code
- Concept 20: Kalman Prediction
- Concept 21: A Break from Kalman Filters
-
Lesson 03: State and Object-Oriented Programming
In this lesson, students will learn about representing the state of a car in programming as classes and objects and mathematically as vectors that can be changed with linear algebra!
- Concept 01: Localization Steps
- Concept 02: Intro to State
- Concept 03: Motion Models
- Concept 04: Quiz: Predicting State
- Concept 05: A Different Model
- Concept 06: Kinematics
- Concept 07: Quantifying State
- Concept 08: Lesson Outline
- Concept 09: Always Moving
- Concept 10: Objects
- Concept 11: Car Object
- Concept 12: Interacting with a Car Object
- Concept 13: Car Class
- Concept 14: Car Class File
- Concept 15: Look at the Class Code
- Concept 16: Turn Right
- Concept 17: Adding Color
- Concept 18: Instantiate Multiple Cars
- Concept 19: Color Class
- Concept 20: Overloading Functions
- Concept 21: Overloading Color Addition
- Concept 22: State Vector
- Concept 23: State Transformation Matrix
- Concept 24: Matrix Multiplication
- Concept 25: 1D State Vector and More Multiplication
- Concept 26: Modify Predict State
- Concept 27: Working with Matrices
-
Lesson 04: Matrices and Transformation of State
Linear Algebra is a rich branch of math and a useful tool. In this lesson you'll learn about the matrix operations that underly multidimensional Kalman Filters.
- Concept 01: Connection to Kalman Filters
- Concept 02: Kalman Prediction
- Concept 03: Kalman Filter Land
- Concept 04: Kalman Filter Prediction
- Concept 05: Another Prediction
- Concept 06: More Kalman Filters
- Concept 07: A Note on Notation
- Concept 08: Kalman Filter Design
- Concept 09: Let's Look at Where we Are
- Concept 10: The Kalman Filter Equations
- Concept 11: Simplifying the Kalman Filter Equations
- Concept 12: The Rest of the Lesson
- Concept 13: Representing State with Matrices
- Concept 14: Kalman Equation Reference
- Concept 15: What is a vector?
- Concept 16: Vectors in Python
- Concept 17: Coding Vectors
- Concept 18: Coding Vectors (solution)
- Concept 19: Guide to Mathematical Notation
- Concept 20: Matrices in Python
- Concept 21: Coding Matrices
- Concept 22: Coding Matrices (Solution)
- Concept 23: Matrix Addition
- Concept 24: Coding Matrix Addition
- Concept 25: Coding Matrix Addition (Solution)
- Concept 26: Matrix Multiplication
- Concept 27: Coding Matrix Multiplication
- Concept 28: Coding Matrix Multiplication (Solution)
- Concept 29: Transpose of a Matrix
- Concept 30: Coding the Transpose
- Concept 31: Coding the Transpose (Solution)
- Concept 32: The Identity Matrix
- Concept 33: Coding Identity Matrix
- Concept 34: Coding Identity Matrix (Solution)
- Concept 35: Matrix Inverse
- Concept 36: Coding Matrix Inverse
- Concept 37: Coding Matrix Inverse (Solution)
- Concept 38: What to Take Away from this Lesson
-
Lesson 05: Implement Matrix Class
Practice using your object oriented programming and matrix math skills by filling out the methods in a partially-completed
Matrix
class.
-
Part 04 : C++ Basics
This course is the first step in a rewarding journey towards C++ expertise. The goal is translation: get a program written in Python, and translate it into C++.
-
Module 01:
C++ Basics
-
Lesson 01: C++ Getting Started
The differences between C++ and Python and how to write C++ code.
- Concept 01: Introduction
- Concept 02: Lesson Overview
- Concept 03: Elecia White
- Concept 04: Why C++
- Concept 05: Python and C++ Comparison
- Concept 06: Static vs Dynamic Typing
- Concept 07: C++ - A Statically Typed Language
- Concept 08: Basic Data Types
- Concept 09: Floating versus Double [demonstration]
- Concept 10: Doubles are Bigger
- Concept 11: Common Errors and Error Messages
- Concept 12: C++ Functions
- Concept 13: Anatomy of a Function
- Concept 14: Multiple Outputs
- Concept 15: Two Functions Same Name
- Concept 16: Function Signatures 1
- Concept 17: Function Signatures 2
- Concept 18: If and Boolean Logic
- Concept 19: While and For Loops
- Concept 20: Switch Statement
- Concept 21: Libraries
- Concept 22: Forge on!
-
Lesson 02: C++ Vectors
To program matrix algebra operations and translate your Python code, you will need to use C++ Vectors. These vectors are similar to Python lists, but the syntax can be somewhat tricky.
- Concept 01: C++ Vectors
- Concept 02: Namespaces
- Concept 03: Python Lists vs. C++ Vectors
- Concept 04: Initializing Vector Values
- Concept 05: Vector Methods
- Concept 06: Vectors and For Loops
- Concept 07: Math and Vectors
- Concept 08: 1D Vector Playground
- Concept 09: 2D Vectors
- Concept 10: 2D Vectors and For Loops
- Concept 11: 2D Vector Playground
- Concept 12: Next Lesson
-
Lesson 03: Practical C++
Learn how to write C++ code on your own computer and compile it into a executable program without running into too many compilation errors.
-
Lesson 04: C++ Object Oriented Programming
Learn the syntax of C++ object oriented programming as well as some of the additional OOP features provided by the language.
- Concept 01: Introduction
- Concept 02: Python vs. C++
- Concept 03: Why use Object Oriented Programming?
- Concept 04: Using a Class in C++ [Demo]
- Concept 05: Explanation of the Main.cpp File
- Concept 06: Practice Using a Class
- Concept 07: Review: Anatomy of a Class
- Concept 08: Other Facets of C++ Classes
- Concept 09: Private and Public
- Concept 10: Header Files
- Concept 11: Inclusion Guards
- Concept 12: Implement a Class
- Concept 13: Class Variables
- Concept 14: Class Function Declarations
- Concept 15: Constructor Functions
- Concept 16: Set and Get Functions
- Concept 17: Matrix Functions
- Concept 18: Use an Inclusion Guard
- Concept 19: Instantiate an Object
- Concept 20: Running your Program Locally
-
Lesson 05: Python and C++ Speed
In this lesson, we'll compare the execution times of C++ and Python programs.
-
Lesson 06: Translate Python to C++
Apply your knowledge of C++ syntax by translating the Histogram Filter code from the first course into C++.
-
Part 05 : Performance Programming in C++
Explore how to write good code that runs correctly. We’ll focus primarily on low level features of C++, but we’ll discuss other best practices as well.
-
Module 01:
Performance Programming in C++
-
Lesson 01: C++ Intro to Optimization
Optimizing C++ involves understanding how a computer actually runs your programs. You'll learn how C++ uses the CPU and RAM to execute your code and get a sense for what can slow things down.
- Concept 01: Course Introduction
- Concept 02: Empathize with the Computer
- Concept 03: Intro to Computer Hardware
- Concept 04: Embedded Terminal Explanation
- Concept 05: Demo: Machine Code
- Concept 06: Assembly Language
- Concept 07: Binary
- Concept 08: Demo: Binary
- Concept 09: Demo: Binary Floats
- Concept 10: Memory and the CPU
- Concept 11: Demo: Stack vs Heap
- Concept 12: Outro
-
Lesson 02: C++ Optimization Practice
Now you understand how C++ programs execute. It's time to learn specific optimization techniques and put them into practice. This lesson will prepare you for the lesson's code optimization project.
- Concept 01: Introduction
- Concept 02: Software Development and Optimization
- Concept 03: Optimization Techniques
- Concept 04: Dead Code
- Concept 05: Exercise: Remove Dead Code
- Concept 06: If Statements
- Concept 07: Exercise: If Statements
- Concept 08: For Loops
- Concept 09: Exercise: For Loops
- Concept 10: Intermediate Variables
- Concept 11: Exercise: Intermediate Variables
- Concept 12: Vector Storage
- Concept 13: Exercise: Vector Storage
- Concept 14: References
- Concept 15: Exercise: References
- Concept 16: Sebastian's Synchronization Story
- Concept 17: Static Keyword
- Concept 18: Exercise: Static Keyword
- Concept 19: Speed Challenge
-
Lesson 03: Project: Optimize Histogram Filter
Get ready to optimize some C++ code. You are provided with a working 2-dimensional histogram filter; your job is to get the histogram filter code to run faster!
-
Part 06 : Navigating Data Structures
Algorithmic thinking is a skill you’ll refine throughout your career. In this course you’ll focus on frequently used data structures and algorithms.
-
Module 01:
Navigating Data Structures
-
Lesson 01: How to Solve Problems
In this lesson you'll solve a hard problem with the help of Dave Evans and you'll learn a systematic approach to solving hard computer programming problems as you do.
- Concept 01: Course Overview
- Concept 02: About this Lesson
- Concept 03: How to Solve Problems
- Concept 04: Days Between Dates
- Concept 05: Attempting the Problem [workspace]
- Concept 06: First Step
- Concept 07: Understanding a Problem
- Concept 08: The First Rule
- Concept 09: What Are the Inputs
- Concept 10: How Are Inputs Represented
- Concept 11: What Are the Outputs
- Concept 12: Obey the Rules
- Concept 13: Next Step
- Concept 14: The Expected Output
- Concept 15: Take the Next Step
- Concept 16: Try an Example
- Concept 17: Harder Example
- Concept 18: Algorithm Pseudocode
- Concept 19: Should We Implement It
- Concept 20: Different Approach
- Concept 21: Simple Mechanical Algorithm
- Concept 22: Don't Optimize Prematurely
- Concept 23: What Should We Write First
- Concept 24: Define Simple nextDay
- Concept 25: Making Progress Is Good
- Concept 26: What Should We Do Next
- Concept 27: Define daysBetweenDates
- Concept 28: Step One Pseudocode
- Concept 29: Step Two Helper Function
- Concept 30: Step Three daysBetweenDates
- Concept 31: Test for Valid Inputs
- Concept 32: Real World Problem
- Concept 33: Best Strategy
- Concept 34: Completing the Problem
- Concept 35: Finish daysBetweenDates
- Concept 36: Solution Step I
- Concept 37: Solution Step II
- Concept 38: Solution Step III
- Concept 39: Solution Step IV
- Concept 40: Conclusion
-
Lesson 02: Data Structures
The list isn't the only structure for storing data! In this lesson you'll learn about sets, dictionaries and other Python data structures.
- Concept 01: Lesson Overview
- Concept 02: Tracking Tickets
- Concept 03: Design Tradeoffs
- Concept 04: Three Approaches
- Concept 05: Representing a Single Ticket
- Concept 06: The problems with strings and lists
- Concept 07: Intro to Dictionaries
- Concept 08: Intro to Dictionaries 2
- Concept 09: Keys and Values
- Concept 10: Adding Labels
- Concept 11: Implementing Labels (and Introducing Sets)
- Concept 12: Performance Considerations
- Concept 13: Lists, Timing, and Performance
- Concept 14: How Lists Work
- Concept 15: Performance of Sets and Dictionaries
- Concept 16: How Sets and Dictionaries Work
- Concept 17: Other Data Structures [optional]
- Concept 18: Choosing good data structures
- Concept 19: Conclusion
-
Lesson 03: The Search Problem
When programming a car to drive itself you run into problems. Many of these are "search" problems. In this lesson you'll learn what search problems are and several algorithms for solving them.
- Concept 01: Lesson Overview
- Concept 02: Introduction
- Concept 03: What Is A Problem?
- Concept 04: Example: Route Finding
- Concept 05: Quiz: Tree Search
- Concept 06: Tree Search Continued
- Concept 07: Quiz: Graph Search
- Concept 08: Quiz: Breadth First Search 1
- Concept 09: Breadth First Search 2
- Concept 10: Quiz: Breadth First Search 3
- Concept 11: Breadth First Search 4
- Concept 12: Breadth First Search 5
- Concept 13: Uniform Cost Search
- Concept 14: Uniform Cost Search 1
- Concept 15: Uniform Cost Search 2
- Concept 16: Uniform Cost Search 3
- Concept 17: Uniform Cost Search 4
- Concept 18: Uniform Cost Search 5
- Concept 19: Quiz: Search Comparison
- Concept 20: Search Comparison 1
- Concept 21: Quiz: Search Comparison 2
- Concept 22: Search Comparison 3
- Concept 23: On Uniform Cost
- Concept 24: A* Search
- Concept 25: A* Search 1
- Concept 26: A* Search 2
- Concept 27: A* Search 3
- Concept 28: A* Search 4
- Concept 29: A* Search 5
- Concept 30: Optimistic Heuristic
- Concept 31: Quiz: Sliding Blocks Puzzle
- Concept 32: Sliding Blocks Puzzle 1
- Concept 33: Sliding Blocks Puzzle 2
- Concept 34: Problems with Search
- Concept 35: A Note on Implementation
-
Lesson 04: Implement Route Planner
In this lesson you will actually implement a Google-maps style routing algorithm using A star search.
-
Part 07 : Career Services
These Career Services will ensure you make meaningful connections with industry professionals to accelerate your career growth - whether looking for a job or opportunities to collaborate with your peers. Unlike your Nanodegree projects, you do not need to meet specifications on these Services to progress in your program. Submit these Career Services once, and get honest, personalized feedback and next steps from Udacity Career Coaches!
-
Module 01:
Career Services
-
Lesson 01: 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: Self-Reflection: Design Your Blueprint for Success
- Concept 02: Debrief: Self-Reflection Exercise Part 1
- Concept 03: Debrief: Self-Reflection 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 02: 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
-
Lesson 03: 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 08 : Vehicle Motion and Control
This course is a crash course in two branches of mathematics which are crucial to self driving cars: calculus and trigonometry. You will learn how a self driving car uses various motion sensors to help it understand its own motion.
At the end of this course you will use raw sensor data (which give information about distance driven, acceleration, and rotation rates) to reconstruct a vehicle's trajectory through space.
-
Module 01:
Vehicle Motion and Control
-
Lesson 01: Odometers, Speedometers and Derivatives
Gain a conceptual understanding of the derivative and basic calculus by plotting points and finding slopes.
- Concept 01: Teleoperation at Phantom Auto
- Concept 02: Inertial Navigation
- Concept 03: Course Overview
- Concept 04: Inertial Navigation Sensors
- Concept 05: Afternoon Drive
- Concept 06: Delta x over Delta t
- Concept 07: Reducing Delta t
- Concept 08: Plotting Position vs. Time
- Concept 09: Interpreting Position vs. Time Graphs
- Concept 10: Average vs. Instantaneous Speed
- Concept 11: Defining the Derivative
- Concept 12: Understanding the Derivative
- Concept 13: Differential Notation
- Concept 14: A "Typical" Calculus Problem
- Concept 15: How Odometers Work
- Concept 16: Speed from Position Data
- Concept 17: Position, Velocity, and Acceleration
- Concept 18: Implement an Accelerometer
- Concept 19: Summary
-
Lesson 02: Accelerometers, Rate Gyros and Integrals
Learn how integrals can be used to calculate accumulated changes by finding the area under a curve.
- Concept 01: Lesson Introduction
- Concept 02: Differentiation Recap
- Concept 03: Acceleration Basics
- Concept 04: Plotting Elevator Acceleration
- Concept 05: Reasoning About Two Peaks
- Concept 06: The Integral: Area Under a Curve
- Concept 07: Approximating the Integral
- Concept 08: Approximating Integrals with Code
- Concept 09: Integrating Accelerometer Data
- Concept 10: Rate Gyros
- Concept 11: Integrating Rate Gyro Data
- Concept 12: Working with Real Data
- Concept 13: Accumulating Errors
- Concept 14: Sensor Strengths and Weaknesses
- Concept 15: Lesson Summary
-
Lesson 03: Two Dimensional Robot Motion and Trigonometry
Learn the basics of trigonometry and how to decompose a self driving car's motion into X and Y components.
- Concept 01: Lesson Introduction
- Concept 02: Plotting Robot Motion (right angles only)
- Concept 03: Plotting Robot Motion Solution
- Concept 04: Moving at an Angle
- Concept 05: Moving at 53.13 Degrees
- Concept 06: Who Cares About 53.13 Degrees?
- Concept 07: The Power of Trigonometry
- Concept 08: Opposite, Adjacent, Hypotenuse
- Concept 09: Trigonometric Ratios
- Concept 10: Looking up Sin, Cos, and Tan
- Concept 11: Trigonometry and Vehicle Motion
- Concept 12: Solving Trig Problems
- Concept 13: Keeping Track of x and y
- Concept 14: Keeping Track of x and y (solution)
- Concept 15: Conclusion
-
Lesson 04: Reconstructing Trajectories from Sensor Data
Use raw acceleration, displacement, and angular rotation data from a vehicle's accelerometer, odometer, and rate gyros to reconstruct a vehicle's X, Y trajectory.
-
Part 09 : Computer Vision and Machine Learning
In this course you’ll learn how a computer sees an image, and how we can use machine learning to teach a computer to identify images programmatically.
-
Module 01:
Computer Vision and Machine Learning
-
Lesson 01: Computer Vision and Classification
Students will learn how to program an image classifier using computer vision techniques. Along the way you'll learn about machine learning, color transformation, feature extraction, and more!
- Concept 01: Deep Learning at NVIDIA
- Concept 02: Classifying Sebastian
- Concept 03: Welcome to Computer Vision
- Concept 04: Introducing Tarin
- Concept 05: Vision and Self-Driving Cars
- Concept 06: LiDAR Data
- Concept 07: Image Classification Pipeline
- Concept 08: Quiz: Classification Steps
- Concept 09: Learning to Classify Images
- Concept 10: What is Machine Learning?
- Concept 11: Training a Model
- Concept 12: Quiz: Choose Layers of Separation
- Concept 13: Images as Grids of Pixels
- Concept 14: Notebook: Images as Numerical Data
- Concept 15: Color Images
- Concept 16: Color or Grayscale?
- Concept 17: Notebook: Visualizing RGB Channels
- Concept 18: Pre-processing
- Concept 19: Notebook: Cropping and Resizing
- Concept 20: Color Masking
- Concept 21: Installing OpenCV, Instructions
- Concept 22: Green Screen Car
- Concept 23: Notebook: Green Screen Background
- Concept 24: Color Spaces and Transforms
- Concept 25: HSV Conversion
- Concept 26: Notebook: Color Conversion
- Concept 27: Day and Night Classification
- Concept 28: Notebook: Load and Visualize the Data
- Concept 29: Labeled Data and Accuracy
- Concept 30: Distinguishing Traits
- Concept 31: Feature Extraction
- Concept 32: Features
- Concept 33: Standardizing Output
- Concept 34: Notebook: Standardizing Day and Night Images
- Concept 35: Average Brightness
- Concept 36: Notebook: Average Brightness Feature Extraction
- Concept 37: Features and Classification
- Concept 38: Selecting Features
- Concept 39: Filters and Finding Edges
- Concept 40: High-pass Filter
- Concept 41: Quiz: Kernels
- Concept 42: Notebook: Finding Edges
- Concept 43: Convolution in Self-Driving Cars
- Concept 44: Notebook: Histograms and Feature Vectors
- Concept 45: Classification
- Concept 46: Notebook: Classification
- Concept 47: Convolutional Neural Networks
- Concept 48: Evaluation Metrics
- Concept 49: Notebook: Accuracy and Misclassification
- Concept 50: Congratulations!!
- Concept 51: Ends and Beginnings!
-
Lesson 02: Traffic Light Classifier
Build a classification pipeline that takes in an image of a traffic and outputs a label that classifies the image as a: red, green, or yellow traffic light.
-
Part 10(Elective) : [New] Descriptive Statistics
-
Lesson 01: Intro to Research Methods
- Concept 01: Lauren's Intro Video
- Concept 02: Believe Results
- Concept 03: Measure Memory
- Concept 04: Define Constructs
- Concept 05: BBC Memory Test
- Concept 06: BBC Scores
- Concept 07: Google Account
- Concept 08: BBC Measurement
- Concept 09: Operational Definition
- Concept 10: Constructs
- Concept 11: Operational Definitions
- Concept 12: Data
- Concept 13: Sleep and Memory
- Concept 14: Influence Memory
- Concept 15: Control for Time of Day
- Concept 16: Same Scores
- Concept 17: Sample Average
- Concept 18: Better Sample
- Concept 19: Randomness
- Concept 20: Visualize Relationship
- Concept 21: True or Not?
- Concept 22: Golden Arches Theory
- Concept 23: McDonald's
- Concept 24: World Peace
- Concept 25: Causal Inference
- Concept 26: Benefits of Surveys
- Concept 27: Downsides of Surveys
- Concept 28: Placebo
- Concept 29: Blind
- Concept 30: Double Blind
- Concept 31: Controlled Factors
- Concept 32: Random Assignment
- Concept 33: Control for What?
- Concept 34: Katie's Hand
- Concept 35: Draw Conclusions
-
Lesson 02: PS 1a: Intro to Research Methods
- Concept 01: Problem Set Numbering
- Concept 02: 1. All California Residents
- Concept 03: 2. Sleepy College Students
- Concept 04: 3. Not Enough Sleep...?
- Concept 05: 6. Characteristic of a Population
- Concept 06: 7. Sample Approximates Population
- Concept 07: 9. Survey to Friends
- Concept 08: 10. Which Are Constructs?
- Concept 09: 12. Define Operational Definition
- Concept 10: 13. Research Studies
- Concept 11: 14. Variables
- Concept 12: 16. Which Are Hypotheses?
- Concept 13: 17. Lurking Around
- Concept 14: 18. Symbols = Fun Fun Fun!
- Concept 15: 21. Random Sample
- Concept 16: 22. Convenience Samples
- Concept 17: 23. Sample vs. Population
- Concept 18: 26. Video Games
- Concept 19: 33. All Kinds of Variables
- Concept 20: 36. Student Satisfaction
- Concept 21: 37. Insomnia
- Concept 22: 38. Insomnia
-
Lesson 03: PS 1b: Additional Practice (Optional)
- Concept 01: 4. Characteristic of a Sample
- Concept 02: 5. Freshman 15
- Concept 03: 8. SAT Scores
- Concept 04: 11. Which Are Not Constructs?
- Concept 05: 15. Variable Relationships
- Concept 06: 19. n
- Concept 07: 20. Which Are True?
- Concept 08: 24. Classical Music
- Concept 09: 25. Caffeine
- Concept 10: 27. English Teaching
- Concept 11: 28. Reading Score
- Concept 12: 29. Extreme Temperature
- Concept 13: 30. Teaching Method
- Concept 14: 31. Reading Scores
- Concept 15: 32. Which Is Better?
- Concept 16: 34. Landmines
- Concept 17: 35. Landmines
- Concept 18: 39. SAD
- Concept 19: 40. Random Assignment
- Concept 20: 41. Placebo Control Condition
- Concept 21: 42. Why Placebo?
- Concept 22: 43. Measuring Constructs
- Concept 23: 44. Participants
- Concept 24: 45. What Proportion?
- Concept 25: 46. Blind Studies
- Concept 26: 47. Causality?
- Concept 27: 48. Depression
- Concept 28: 49. Depression
- Concept 29: 50. Depression
-
Lesson 04: Visualizing Data
- Concept 01: Where Students Are From
- Concept 02: Frequency
- Concept 03: US, China, Pakistan
- Concept 04: Relative Frequency
- Concept 05: Range of Proportions
- Concept 06: Sum Relative Frequencies
- Concept 07: Proportion from Countries
- Concept 08: Convert to Percentage
- Concept 09: Range Percentages
- Concept 10: Continents
- Concept 11: Number of Rows
- Concept 12: Bin Size
- Concept 13: Visualizing Data
- Concept 14: Histogram
- Concept 15: Different Bin Sizes
- Concept 16: Smaller Bin
- Concept 17: Find Bin Size
- Concept 18: Most Frequent Age
- Concept 19: Proportion over 60
- Concept 20: Percentage Under 60
- Concept 21: Younger than 20
- Concept 22: Continent Graph
- Concept 23: Difference Between Graphs
- Concept 24: Biased Graphs
- Concept 25: Changing Bin Size
- Concept 26: Interpret Histogram
- Concept 27: Skewed Distribution
-
Lesson 05: PS 2a: Visualizing Data
- Concept 01: 1. Blood Types
- Concept 02: 2. Rare Blood
- Concept 03: 3. Common Blood
- Concept 04: 4. Type A
- Concept 05: 5. Guesstimate
- Concept 06: 6. Analyze Stuff
- Concept 07: 18. Calculate Bin Size
- Concept 08: 21. Commute Time
- Concept 09: 22. Commute an Hour
- Concept 10: 23. Find Bin Width
- Concept 11: 24. Analyze Histogram
- Concept 12: 25. Frequency and Bin Size
- Concept 13: 27. Distribution of What?
- Concept 14: 28. Thinking About Distributions
- Concept 15: 29. Frequency Axis
- Concept 16: 30. X-Axis Represent!
- Concept 17: 31. Skewness
- Concept 18: 32. Negatively Skewed
- Concept 19: 33. Normal Distribution
- Concept 20: 34. Table vs. Histogram
-
Lesson 06: PS 2b: Additional Practice (Optional)
- Concept 01: 7. Ode to n
- Concept 02: 8. Calculate Percentages
- Concept 03: 9. Common Decade
- Concept 04: 10. How Old?
- Concept 05: 11. Really Old!
- Concept 06: 12. Birth Year Histogram
- Concept 07: 13. Most Common Bin
- Concept 08: 14. When Most Were Born
- Concept 09: 15. Type of Data
- Concept 10: 16. Heights of Bars
- Concept 11: 17. Which Region?
- Concept 12: 19. How to Find n
- Concept 13: 20. How to Analyze Shape
- Concept 14: 26. Positively Skewed
-
Lesson 08: Central Tendency
To get started, we'll discuss some of the ways you can summarize the central tendencies of data, like mean, median and mode. This lesson is optional and if you are familiar with these concepts you can skip them.
- Concept 01: Which Major?
- Concept 02: One Number to Describe Data
- Concept 03: Which Number to Choose?
- Concept 04: Mode of Dataset
- Concept 05: Mode of Distribution
- Concept 06: Mode - Negatively Skewed Distribution
- Concept 07: Mode - Uniform Distribution
- Concept 08: More than One Mode?
- Concept 09: Mode of Categorical Data
- Concept 10: More o' Mode!
- Concept 11: Find the Mean
- Concept 12: Procedure for Finding Mean
- Concept 13: Iterative Procedure
- Concept 14: Helpful Symbols
- Concept 15: Properties of the Mean
- Concept 16: Mean with Outlier
- Concept 17: What Can You Expect?
- Concept 18: UNC
- Concept 19: Requirement for Median
- Concept 20: Find the Median
- Concept 21: Median with Outlier
- Concept 22: Find Median with Outlier
- Concept 23: Measures of Center
- Concept 24: Order Measures of Center 1
- Concept 25: Order Measures of Center 2
- Concept 26: Use Measures of Center to Compare
- Concept 27: Udacians' Facebook Friends - Mean
- Concept 28: Udacians' Facebook Friends - Median
- Concept 29: Formula for Location of Median
- Concept 30: Wrap Up - Measures of Center
- Concept 31: Good Job!
-
Lesson 09: PS 3a: Central Tendency
- Concept 01: 1. BBC Memory Scores
- Concept 02: 2. BBC Memory Scores
- Concept 03: 3. BBC Memory Scores
- Concept 04: 4. What Distribution?
- Concept 05: 5. What Distribution?
- Concept 06: 6. Normal Distribution
- Concept 07: 7. Positively Skewed
- Concept 08: 8. Mean
- Concept 09: 9. Median
- Concept 10: 10. Mode
- Concept 11: 20. NHL (Mean)
- Concept 12: 21. NHL (Mode)
- Concept 13: 22. NHL (Median)
-
Lesson 10: PS 3b: Additional Practice (Optional)
- Concept 01: 11. Deal or No Deal? (Median)
- Concept 02: 12. Deal or No Deal? (Mode)
- Concept 03: 13. Deal or No Deal? (Number)
- Concept 04: 14. Deal or No Deal? (Mean vs. Median)
- Concept 05: 15. Deal or No Deal? (Mean)
- Concept 06: 16. Deal or No Deal? (Proportion)
- Concept 07: 17. Deal or No Deal? (Frequency)
- Concept 08: 18. Deal or No Deal? (Distribution)
- Concept 09: 19. Deal or No Deal? (Center)
- Concept 10: 23. Which Distributions?
- Concept 11: 24. Median Given Histogram
-
Lesson 11: Variability
- Concept 01: Social Networkers' Salaries
- Concept 02: What's the Difference?
- Concept 03: Should You Get an Account?
- Concept 04: Quantify Spread
- Concept 05: Does Range Change?
- Concept 06: Mark Z the Outlier
- Concept 07: Where Is Q1?
- Concept 08: Q3 - Q1
- Concept 09: IQR
- Concept 10: What Is an Outlier?
- Concept 11: Chop Off the Tails
- Concept 12: Define Outlier
- Concept 13: Match Boxplots
- Concept 14: Mean Within IQR?
- Concept 15: Problem with IQR
- Concept 16: Measure Variability
- Concept 17: Calculate Mean
- Concept 18: Deviation from Mean
- Concept 19: Average Deviation
- Concept 20: Equation for Average Deviation
- Concept 21: Be Happy and Get Rid of Negatives
- Concept 22: Absolute Deviations
- Concept 23: Average Absolute Deviation
- Concept 24: Formula for Avg. Abs. Dev.
- Concept 25: Squared Deviations
- Concept 26: Sum of Squares
- Concept 27: Average Squared Deviation
- Concept 28: Avg. Squared Dev. in Words
- Concept 29: One Dimension
- Concept 30: Standard Deviation
- Concept 31: Calculate SD
- Concept 32: SD Social Networkers
- Concept 33: SD in Words
- Concept 34: Spreadsheet SD
- Concept 35: Point of SD
- Concept 36: Find Values
- Concept 37: Sample SD
- Concept 38: Bessel's Correction
- Concept 39: Clarifying Sample SD
- Concept 40: Jelly Beans
-
Lesson 12: PS 4: Variability
- Concept 01: 1. Udacians' Facebook Friends (Mean)
- Concept 02: 2. Udacians' Facebook Friends (Avg. Dev)
- Concept 03: 3. Udacians' Facebook Friends (SS)
- Concept 04: 4. Udacians' Facebook Friends (Variance)
- Concept 05: 5. Udacians' Facebook Friends (Std Dev)
- Concept 06: 6. Udacians' Facebook Friends (mean +/- std dev)
- Concept 07: 7. Udacians' Facebook Friends (proportion)
- Concept 08: 8. Udacians' Facebook Friends (sample sd)
- Concept 09: 9. Class Exam
- Concept 10: 10. Where's Your Score? (sd = 5)
- Concept 11: 11. Where's Your Score? (sd = 2.5)
- Concept 12: 12. Where's Your Score? (sd = 10)
- Concept 13: 13. BBC Sample Scores (Std. Dev.)
- Concept 14: 14. BBC Sample Scores (Variability)
-
Lesson 13: Standardizing
- Concept 01: Chess
- Concept 02: USCF Distribution
- Concept 03: Absolute or Relative
- Concept 04: Relative Frequency Histogram
- Concept 05: Proportion Between 170 and 210
- Concept 06: Proportion Between 180 and 200
- Concept 07: More Detail
- Concept 08: Infinitely Small
- Concept 09: Continuous Distribution
- Concept 10: Theoretical Normal Distribution
- Concept 11: Z
- Concept 12: Unpopular
- Concept 13: Katie - SDs Below
- Concept 14: Andy - SDs Below
- Concept 15: Who's More Unpopular?
- Concept 16: Formula for Number of SDs
- Concept 17: Z-Score
- Concept 18: Negative Z-Score
- Concept 19: Mean of Standardized Distribution
- Concept 20: SD of Standardized Distribution
- Concept 21: Standard Normal Distribution
- Concept 22: Popular Chris
- Concept 23: Convert to Z-Score
- Concept 24: Convert to Popularity Score
-
Lesson 14: PS 5a: Standardizing
- Concept 01: 1. Which Distribution Is Which?
- Concept 02: 2. Z-Scores
- Concept 03: 3. OkCupid
- Concept 04: 4. Social Media
- Concept 05: 5. Z-Scores of Usage
- Concept 06: 6. Where on the Distribution?
- Concept 07: 10. Scores
- Concept 08: 11. Grade on a Curve
- Concept 09: 12. Extreme
- Concept 10: 13. SD
- Concept 11: 15. Exams
- Concept 12: 16. Which SD?
- Concept 13: 17. Closest to Mean
- Concept 14: 19. True or False?
-
Lesson 16: Normal Distribution
- Concept 01: Intro to the PDF
- Concept 02: Probability
- Concept 03: Get to Know the PDF
- Concept 04: Probability Greater
- Concept 05: Probability Less
- Concept 06: 2 SDs Below or Above
- Concept 07: Proportion of Facebook Friends
- Concept 08: More than 262
- Concept 09: Between 118 and 226
- Concept 10: Less than 240
- Concept 11: Z-Table
- Concept 12: Using the Z-Table
- Concept 13: Karma
- Concept 14: Average Karma Points per Post
- Concept 15: SD of Karma Points per Post
- Concept 16: Integer SDs
- Concept 17: Less than 5
- Concept 18: More than 20
- Concept 19: Between 10 and 16
- Concept 20: Top 5%
- Concept 21: Great Job!
-
Lesson 17: PS 6: Normal Distribution
- Concept 01: 1. Heights
- Concept 02: *CHALLENGE* 2. Heights
- Concept 03: 3. Houses
- Concept 04: 4. Houses
- Concept 05: 5. Houses
- Concept 06: 6. Houses
- Concept 07: 7. Greater than 108
- Concept 08: 8. Less than 76
- Concept 09: 9. Between 65 and 90
- Concept 10: 10. Between 80 and 95
- Concept 11: 11. Top 30%
- Concept 12: 12. Greater than 1.64
- Concept 13: 13. Less than -2.33
- Concept 14: 14. Top 40%
- Concept 15: 15. Meanings
- Concept 16: 16. 64th Percentile
-
Lesson 18: Sampling Distributions
- Concept 01: Compare Sample Means
- Concept 02: Gambling in Vegas
- Concept 03: Tetrahedral Die
- Concept 04: Total Number of Samples
- Concept 05: Mean of Each Sample
- Concept 06: Mean of Sample Means
- Concept 07: Sampling Distribution
- Concept 08: Probability Mean > or = 3
- Concept 09: What We Need to Compare the Means
- Concept 10: Calculate SDs
- Concept 11: Relationship Between SDs
- Concept 12: Ratio of SDs
- Concept 13: SD of Sampling Distribution
- Concept 14: The Central Limit Theorem
- Concept 15: Roll 1 Die
- Concept 16: Roll 2 Dice
- Concept 17: Find Standard Error
- Concept 18: Roll 5 Dice
- Concept 19: Standard Error for Avg of 5 Dice
- Concept 20: Standard Error When n Increases
- Concept 21: Shape of Distribution When n Increases
- Concept 22: Simulation Applet
- Concept 23: M&Ms
- Concept 24: M&M CLT
- Concept 25: Using Sampling Distribution
- Concept 26: Klout
- Concept 27: Klout Parameters
- Concept 28: Klout Sampling Distribution (Mean)
- Concept 29: Klout Sampling Distribution (SD)
- Concept 30: Sampling Distribution Shape
- Concept 31: What Do You Get with a Good Klout Score?
- Concept 32: Location of Mean on Distribution
- Concept 33: Probability of Obtaining Mean
- Concept 34: Does Low Probability = Causation?
- Concept 35: Increase Sample Size
- Concept 36: Location of Mean
- Concept 37: Probability of Mean
- Concept 38: Something Fun
- Concept 39: Lauren's Outro Video
-
Lesson 19: PS 7: Sampling Distributions
- Concept 01: 1. Central Limit Theorem
- Concept 02: 2. Location of Sample Mean
- Concept 03: 3. Average Difference
- Concept 04: 4. Increase Sample Size
- Concept 05: 5. Standard Error
- Concept 06: 6. n and σ
- Concept 07: 7. n and x-bar
- Concept 08: 8. Mean of Sample Means
- Concept 09: 9. Standard Error
- Concept 10: 10. Z-Score
- Concept 11: 11. Probability
- Concept 12: 12. Mean n = 25
- Concept 13: 13. Standard Error
- Concept 14: 14. Probability
- Concept 15: 15. Probability Decreased
- Concept 16: 16. Population Distribution Shape
- Concept 17: 17. Sampling Distribution Shape
- Concept 18: 18. Mean of Sampling Distribution
- Concept 19: 19. SD of Sampling Distribution
- Concept 20: 20. Which Distribution?
- Concept 21: 21. Greater or Less?
- Concept 22: **CHALLENGE** 22. What Sample Size?
Part 11(Elective) : [New] Linear Algebra Refresher
-
Lesson 01: Introduction
Welcome to the Linear Algebra Refresher! In this course, you'll learn both the theory of linear algebra and how to implement the calculations yourself.
-
Lesson 02: 1. Vectors
Start coding the basics of vectors!
- Concept 01: Our Goal for the Lesson
- Concept 02: The Vector Module
- Concept 03: Operating on Vectors
- Concept 04: Plus, Minus, Scalar Multiply
- Concept 05: Magnitude and Direction
- Concept 06: Coding Magnitude & Direction
- Concept 07: Inner Products
- Concept 08: Coding Dot Product & Angle
- Concept 09: Parallel and Orthogonal Vectors
- Concept 10: Checking Parallel, Orthogonal
- Concept 11: Projecting Vectors
- Concept 12: Coding Vector Projections
- Concept 13: Cross Products
- Concept 14: Coding Cross Products
- Concept 15: Summing Up
-
Lesson 03: 2. Intersections
Refresh yourself on the math behind intersections, and learn to code these yourself!
- Concept 01: Why Intersections?
- Concept 02: Lines in Two Dimensions
- Concept 03: Intersections of Lines in 2D
- Concept 04: Coding Functions for Lines
- Concept 05: More Than Two Lines in Two Dimensions
- Concept 06: Planes in 3 Dimensions - 1
- Concept 07: Planes in 3 Dimensions - 2
- Concept 08: Intersections of Planes in 3D
- Concept 09: Rules for Manipulating Equations
- Concept 10: Solving a System of Equations
- Concept 11: Gaussian Elimination Practice
- Concept 12: Special Cases in Gaussian Elimination
- Concept 13: More GE Practice
- Concept 14: Systems with No Solutions
- Concept 15: Systems with One Solution
- Concept 16: Systems with Many Solutions
- Concept 17: Summary of Characterization Results
- Concept 18: The LinearSystem Class
- Concept 19: Coding Row Operations
- Concept 20: Coding Triangular Form
- Concept 21: Coding RREF
- Concept 22: Coding GE Solution
- Concept 23: Coding Parametrization
- Concept 24: Extending to Higher Dimensions
- Concept 25: Summing Up
-
Lesson 04: Matrices and Transformation of State
Linear Algebra is a rich branch of math and a useful tool. In this lesson you'll learn about the matrix operations that underly multidimensional Kalman Filters.
- Concept 01: Connection to Kalman Filters
- Concept 02: Kalman Prediction
- Concept 03: Kalman Filter Land
- Concept 04: Kalman Filter Prediction
- Concept 05: Another Prediction
- Concept 06: More Kalman Filters
- Concept 07: A Note on Notation
- Concept 08: Kalman Filter Design
- Concept 09: Let's Look at Where we Are
- Concept 10: The Kalman Filter Equations
- Concept 11: Simplifying the Kalman Filter Equations
- Concept 12: The Rest of the Lesson
- Concept 13: Representing State with Matrices
- Concept 14: Kalman Equation Reference
- Concept 15: What is a vector?
- Concept 16: Vectors in Python
- Concept 17: Coding Vectors
- Concept 18: Coding Vectors (solution)
- Concept 19: Guide to Mathematical Notation
- Concept 20: Matrices in Python
- Concept 21: Coding Matrices
- Concept 22: Coding Matrices (Solution)
- Concept 23: Matrix Addition
- Concept 24: Coding Matrix Addition
- Concept 25: Coding Matrix Addition (Solution)
- Concept 26: Matrix Multiplication
- Concept 27: Coding Matrix Multiplication
- Concept 28: Coding Matrix Multiplication (Solution)
- Concept 29: Transpose of a Matrix
- Concept 30: Coding the Transpose
- Concept 31: Coding the Transpose (Solution)
- Concept 32: The Identity Matrix
- Concept 33: Coding Identity Matrix
- Concept 34: Coding Identity Matrix (Solution)
- Concept 35: Matrix Inverse
- Concept 36: Coding Matrix Inverse
- Concept 37: Coding Matrix Inverse (Solution)
- Concept 38: What to Take Away from this Lesson
Part 12(Elective) : [New] Intro to Data Analysis
-
Lesson 01: Data Analysis Process
Go through the data analysis process from start to finish using a dataset about Udacity student engagement.
- Concept 01: Introduction
- Concept 02: Problems Solved by Data Analysts
- Concept 03: Data Analysis Process
- Concept 04: Setting Up Your System
- Concept 05: Intro to CSVs
- Concept 06: CSVs in Python
- Concept 07: Fixing Data Types
- Concept 08: Questions about Student Data
- Concept 09: Investigating the Data
- Concept 10: Problems in the Data
- Concept 11: Missing Engagement Records
- Concept 12: Checking for More Problem Records
- Concept 13: Tracking Down the Remaining Problems
- Concept 14: Refining the Question
- Concept 15: Getting Data from First Week
- Concept 16: Indulge Curiosity
- Concept 17: Exploring Student Engagement
- Concept 18: Debugging Data Analysis Code
- Concept 19: Lessons Completed in First Week
- Concept 20: Number of Visits in the First Week
- Concept 21: Splitting out Passing Students
- Concept 22: Comparing the Two Student Groups
- Concept 23: Making Histograms
- Concept 24: Are your Results Just Noise?
- Concept 25: Correlation Does Not Imply Causation
- Concept 26: Predicting Based on Many Features
- Concept 27: Communication
- Concept 28: Improving Plots and Sharing Findings
- Concept 29: Data Analysis and Related Terms
- Concept 30: Conclusion
- Concept 31: Quiz Solutions
- Concept 32: Survey Says!
-
Lesson 02: NumPy and Pandas for 1D Data
Learn how to use NumPy and Pandas to write clean, concise, and fast data analysis code for one-dimensional data.
- Concept 01: Introduction
- Concept 02: Gapminder Data
- Concept 03: One-Dimensional Data in NumPy and Pandas
- Concept 04: NumPy Arrays
- Concept 05: Vectorized Operations
- Concept 06: Multiplying by a Scalar
- Concept 07: Calculate Overall Completion Rate
- Concept 08: Standardizing Data
- Concept 09: NumPy Index Arrays
- Concept 10: + vs. +=
- Concept 11: In-Place vs. Not In-Place
- Concept 12: Pandas Series
- Concept 13: Series Indexes
- Concept 14: Vectorized Operations and Series Indexes
- Concept 15: Filling Missing Values
- Concept 16: Pandas Series apply()
- Concept 17: Plotting in Pandas
- Concept 18: Conclusion
-
Lesson 03: NumPy and Pandas for 2D Data
Learn more features of NumPy and Pandas you can use to analyze two-dimensional data.
- Concept 01: Introduction
- Concept 02: Subway Data
- Concept 03: Two-Dimensional NumPy Arrays
- Concept 04: NumPy Axis
- Concept 05: NumPy and Pandas Data Types
- Concept 06: Accessing Elements of a DataFrame
- Concept 07: Loading Data into a DataFrame
- Concept 08: Calculating Correlation
- Concept 09: Pandas Axis Names
- Concept 10: DataFrame Vectorized Operations
- Concept 11: DataFrame applymap()
- Concept 12: DataFrame apply()
- Concept 13: DataFrame apply() Use Case 2
- Concept 14: Adding a DataFrame to a Series
- Concept 15: Standardizing Each Column Again
- Concept 16: Pandas groupby()
- Concept 17: Calculating Hourly Entries and Exits
- Concept 18: Combining Pandas DataFrames
- Concept 19: Plotting for DataFrames
- Concept 20: Three-Dimensional Data
- Concept 21: Conclusion
-
Lesson 04: Final Project: Investigate a Dataset
Conduct your own analysis over a dataset, and share what you've found!
Part 13(Elective) : [New] Intro to Data Science
-
Lesson 01: Introduction
Learn what data scientists do, receive an introduction to Python's most common data science libraries, and get hands on practice working with data.
- Concept 01: The Data Scientist Nanodegree Program
- Concept 02: Introduction to Data Science
- Concept 03: What Is a Data Scientist?
- Concept 04: Exercise: What Is a Data Scientist?
- Concept 05: What Does a Data Scientist Do?
- Concept 06: Pi Chuan - Introduction
- Concept 07: Pi Chuan - What Is Data Science?
- Concept 08: Basic Data Scientist Skills
- Concept 09: Simpson's Paradox
- Concept 10: Problems Solved by Data Science
- Concept 11: Data Science Programming Tools
- Concept 12: Intro to Numpy and Pandas
- Concept 13: Numpy
- Concept 14: Numpy Playground
- Concept 15: Pandas
- Concept 16: Pandas Playground -- Series
- Concept 17: Pandas Playground -- Dataframe
- Concept 18: Create a DataFrame
- Concept 19: Dataframe Columns
- Concept 20: Pandas Playground - Indexing Dataframes
- Concept 21: Pandas Vectorized Methods
- Concept 22: Average Gold, Silver, and Bronze Medals
- Concept 23: Matrix Multiplication and Numpy Dot
- Concept 24: Olympics Medal Points
- Concept 25: Advice for Aspiring Students
- Concept 26: Recap of Lesson 1
-
Lesson 02: Problem Set 1: Titanic Survivor Data
Practice using NumPy and Pandas to predict survival rates for Titanic passengers.
-
Lesson 03: Data Wrangling
Learn to access, process, and clean different types of data.
- Concept 01: Welcome to Lesson 2
- Concept 02: Nick - Introduction
- Concept 03: What Is Data Wrangling?
- Concept 04: Analyzing Messy Data 1
- Concept 05: Analyzing Messy Data 2
- Concept 06: Nick's Experience with Data Wrangling
- Concept 07: Acquiring Data
- Concept 08: Common Data Formats
- Concept 09: CSV Data 1
- Concept 10: CSV Data 2
- Concept 11: CSV Exercise
- Concept 12: What Are Relational Databases?
- Concept 13: Aadhaar Data
- Concept 14: Relational Databases
- Concept 15: Aadhaar Data and Relational Databases
- Concept 16: Introduction to Database Schemas
- Concept 17: Database Schema
- Concept 18: Simple Queries
- Concept 19: Write Your Own Simple Query
- Concept 20: Complex Queries 1
- Concept 21: Complex Queries 2
- Concept 22: Write Your Own Complex Query
- Concept 23: APIs
- Concept 24: API Example
- Concept 25: Data in JSON Format
- Concept 26: How to Access an API Efficiently
- Concept 27: API Exercise
- Concept 28: Sanity Checking Data
- Concept 29: Pandas Describe Function
- Concept 30: Why Are Values Missing?
- Concept 31: Missing Values
- Concept 32: Dealing with Missing Data
- Concept 33: Why Impute
- Concept 34: Easy Imputation
- Concept 35: Impute Using Linear Regression
- Concept 36: Imputation Exercise
- Concept 37: Tip of the Imputation Iceberg
- Concept 38: Assignment 2
- Concept 39: Nick's Coolest Project
- Concept 40: Recap
-
Lesson 04: Problem Set 2: Wrangling Subway Data
Practice your data wrangling skills with New York Subway data.
- Concept 01: 1 - Number of Rainy Days
- Concept 02: 2 - Temp on Foggy and Nonfoggy Days
- Concept 03: 3 - Mean Temp on Weekends
- Concept 04: 4 - Mean Temp on Rainy Days
- Concept 05: 5 - Fixing Turnstile Data
- Concept 06: 6 - Combining Turnstile Data
- Concept 07: 7 - Filtering Irregular Data
- Concept 08: 8 - Get Hourly Entries
- Concept 09: 9 - Get Hourly Exits
- Concept 10: 10 - Time to Hour
- Concept 11: 11 - Reformat Subway Dates
-
Lesson 05: Data Analysis
Get an introduction to important data analysis tools used by data scientists, including statistical tests and machine learning models.
- Concept 01: Welcome to Lesson 3
- Concept 02: Statistical Rigor Part 1
- Concept 03: Statistical Rigor Part 2
- Concept 04: Kurt's Introduction
- Concept 05: Why Is Statistics Useful?
- Concept 06: Statistical Rigor Exercise
- Concept 07: Statistical Test
- Concept 08: Introduction to Normal Distribution
- Concept 09: Normal Distribution
- Concept 10: t-Test
- Concept 11: Welch's Two-Sample t-Test
- Concept 12: Calculating t and v
- Concept 13: Welch's t-Test in Python
- Concept 14: Welch's t-Test Exercise
- Concept 15: Non-Normal Data
- Concept 16: Non-Parametric Test
- Concept 17: Definition of Non-Parametric Test
- Concept 18: Just the Tip of the Iceberg
- Concept 19: Predicting Future Data
- Concept 20: What is Machine Learning?
- Concept 21: Why Is Machine Learning Useful?
- Concept 22: Stats vs. Machine Learning
- Concept 23: Different Types of Learning
- Concept 24: Kurt's Favorite ML Algorithm
- Concept 25: Prediction with Regression
- Concept 26: Linear Regression with Gradient Descent
- Concept 27: Batting Average with Linear Regression
- Concept 28: Cost Function
- Concept 29: How to Minimize Cost Function
- Concept 30: Gradient Descent in Python
- Concept 31: Coefficients of Determination
- Concept 32: Calculating R^2
- Concept 33: Other Considerations
- Concept 34: Kurt's Advice for ML Best Practices
- Concept 35: Advice for Aspiring Data Scientists
- Concept 36: Assignment 3
- Concept 37: Lesson 3 Recap
-
Lesson 06: Problem Set 3: Analyzing Subway Data
Apply statistics and machine learning to New York Subway data.
- Concept 01: 1 - Exploratory Data Analysis
- Concept 02: 2 - Welch's t-Test?
- Concept 03: 3 - Mann-Whitney U-Test
- Concept 04: 4 - Ridership on Rainy vs. Nonrainy Days
- Concept 05: 5 - Linear Regression
- Concept 06: 6 - Plotting Residuals
- Concept 07: 7 - Compute R^2
- Concept 08: 8 - More Linear Regression (Optional)
-
Lesson 07: Data Visualization
Learn when to use different plot types, how to encode different types of data, and get practical advice on how to visually represent your data in meaningful ways.
- Concept 01: Welcome to Lesson 4
- Concept 02: Effective Information Visualization
- Concept 03: Napoleon's Ill-Fated March to Russia
- Concept 04: What Do You See in This Visualization?
- Concept 05: What Makes a Visualization Effective?
- Concept 06: Introducing Don
- Concept 07: Don's Advice on Communicating Findings
- Concept 08: Introducing Rishiraj
- Concept 09: Rishi on Communicating Findings Well
- Concept 10: Visual Encodings Part 1
- Concept 11: Visual Encodings Part 2
- Concept 12: Visual Encodings Part 3
- Concept 13: Visual Encoding
- Concept 14: Perception of Visual Cues
- Concept 15: Plotting in Python
- Concept 16: Plotting in Python
- Concept 17: Data Types 1 - Numeric Data
- Concept 18: Data Types 2 - Categorical Data
- Concept 19: Data Types 3 - Time Series Data
- Concept 20: Data Scales
- Concept 21: Improper Use of Scales
- Concept 22: Plotting Line Charts
- Concept 23: Visualizing Time Series Data
- Concept 24: Scatter Plots
- Concept 25: Line Charts
- Concept 26: LOESS Curves
- Concept 27: Multivariate Data Part 1
- Concept 28: Multivariate Data Part 2
- Concept 29: Rishiraj's Advice to You
- Concept 30: Don's Advice to You
- Concept 31: Lesson 4 Recap
- Concept 32: Lesson 4 Conclusion
-
Lesson 08: Problem Set 4: Visualizing Subway Data
Apply data visualization techniques to explore and explain New York Subway data.
-
Lesson 09: MapReduce
Learn how to work with massive amounts of data using MapReduce and other big data tools.
- Concept 01: Welcome to Lesson 5
- Concept 02: Big Data and MapReduce
- Concept 03: Scenarios for MapReduce
- Concept 04: Basics of MapReduce
- Concept 05: Counting Words Serially
- Concept 06: Counting Words in MapReduce - Part 1
- Concept 07: Counting Words in MapReduce - Part 2
- Concept 08: Mapper
- Concept 09: Reducer
- Concept 10: MapReduce with Aadhaar Data
- Concept 11: Mapper and Reducer with Aadhaar Data
- Concept 12: More Complex MapReduce
- Concept 13: MapReduce Ecosystem
- Concept 14: Introducing Joshua
- Concept 15: MapReduce Tools
- Concept 16: Pig
- Concept 17: Best Part About Being a Data Scientist
- Concept 18: MapReduce with Subway Data
- Concept 19: Lesson 5 Recap
-
Lesson 10: Problem Set 5: MapReduce on Subway Data
Practice using MapReduce to work with New York Subway data.
Part 14 Graduation!
Congratulations! You're ready to graduate. Learn how you can continue your Udacity journey by enrolling in a Career-Ready Nanodegree Program
-
Module 01:
Congratulations!
-
Lesson 01: Congratulations! You've finished!
Congratulations! You've reached the end of the Intro to Self-Driving Cars Nanodegree program!
-
-
Module 02:
Your next Nanodegree
-
Lesson 01: Your next Nanodegree
Enroll in a Career-Ready Nanodegree program
-