
Nanodegree key: nd002
Version: 8.0.0
Locale: en-us
Learn to clean up messy data, uncover patterns and insights, make predictions using machine learning, and clearly communicate your findings.
Content
Part 01 : Welcome to Term 1!
Welcome to the program! In this part, you’ll get an orientation into using our classroom and
services. You’ll also get advice for making the best use of your time while enrolled in this
program.
-
Module 01: Orientation
-
Lesson 01: Welcome to the Nanodegree Program!
Welcome to the Data Analyst Nanodegree program! In this lesson, you will learn more about the structure of the program and meet the team.
- Concept 01: Looking Ahead
- Concept 02: Projects
- Concept 03: Meet the Team
- Concept 04: Program Structure and Schedule
- Concept 05: Orientation Introduction
- Concept 06: Projects and Progress
- Concept 07: Integrity and Mindset
- Concept 08: How Does Project Submission Work?
- Concept 09: Getting Help
- Concept 10: How Do I Find Time for My Nanodegree?
- Concept 11: Study Habits of Successful Graduates
- Concept 12: Meet the Careers Team
- Concept 13: Access Your Career Portal
- Concept 14: Your Udacity Professional Profile
-
Lesson 02: The Life of a Data Analyst
In this lesson, you'll hear from a few data analysts and data scientists about what it's like to work in data analytics.
-
-
Module 02: Intro Project
-
Lesson 01: Project Prep: SQL and Moving Averages
This lesson covers the basics of how to use SQL to extract data from database. It will prepare you to complete the Explore Weather Trends project.
- Concept 01: Your first project
- Concept 02: Video: SQL Introduction
- Concept 03: Video: The Parch & Posey Database
- Concept 04: Video + Text: The Parch & Posey Database
- Concept 05: Video: Why SQL
- Concept 06: Video: How Databases Store Data
- Concept 07: Video: Types of Statements
- Concept 08: Statements
- Concept 09: Video: SELECT & FROM
- Concept 10: Text + Quiz: Your First Query
- Concept 11: Solutions: Your First Query Solution
- Concept 12: Text: Formatting Best Practices
- Concept 13: Video: LIMIT
- Concept 14: Quiz: LIMIT
- Concept 15: Solutions: LIMIT
- Concept 16: Video: ORDER BY
- Concept 17: Quiz: ORDER BY
- Concept 18: Solutions: ORDER BY
- Concept 19: Video: ORDER BY Part II
- Concept 20: Quiz: ORDER BY Part II
- Concept 21: Solutions: ORDER BY Part II
- Concept 22: Video: WHERE
- Concept 23: Quiz: WHERE
- Concept 24: Solutions: WHERE
- Concept 25: Video: WHERE with Non-Numeric Data
- Concept 26: Quiz: WHERE with Non-Numeric
- Concept 27: Solutions: WHERE with Non-Numeric
- Concept 28: Video: Arithmetic Operators
- Concept 29: Quiz: Arithmetic Operators
- Concept 30: Solutions: Arithmetic Operators
- Concept 31: Text: Introduction to Logical Operators
- Concept 32: Video: LIKE
- Concept 33: Quiz: LIKE
- Concept 34: Solutions: LIKE
- Concept 35: Video: IN
- Concept 36: Quiz: IN
- Concept 37: Solutions: IN
- Concept 38: Video: NOT
- Concept 39: Quiz: NOT
- Concept 40: Solutions: NOT
- Concept 41: Video: AND and BETWEEN
- Concept 42: Quiz: AND and BETWEEN
- Concept 43: Solutions: AND and BETWEEN
- Concept 44: Video: OR
- Concept 45: Quiz: OR
- Concept 46: Solutions: OR
- Concept 47: SQL Basics Recap
- Concept 48: Moving Averages
-
Lesson 02: Explore Weather Trends
In this project, you will analyze local and global temperature data and compare the temperature trends where you live to overall global temperature trends.
-
Part 02 : Introduction to Python
Learn Python programming fundamentals such as data types and structures, variables, loops, and functions.
-
Module 01: Old Lessons
-
Lesson 01: Numbers and Strings
In this lesson you will learn how to use Python's numeric and string data types. You will use built-in functions and methods to process this data, and store the results in variables
- Concept 01: Welcome!
- Concept 02: Arithmetic
- Concept 03: Integers and Floats
- Concept 04: Errors
- Concept 05: Variables I
- Concept 06: Variables II
- Concept 07: Comparison Operators
- Concept 08: Strings I
- Concept 09: Built-in Functions
- Concept 10: Types and Type Conversion
- Concept 11: String Methods I
- Concept 12: String Methods II
-
Lesson 02: Functions, Installation and Conditionals
In this lesson you will install Python on your own computer. You will learn how to define functions, and how to use conditional statements to write more elaborate programs. We will also practice our software engineering skills by learning how to break programs down into manageable pieces.
- Concept 01: Welcome Back!
- Concept 02: Defining Functions I
- Concept 03: Defining Functions II
- Concept 04: Defining Functions III
- Concept 05: Put a Python In Your Computer
- Concept 06: Python Programming Setup
- Concept 07: Code with Branches I
- Concept 08: Code with Branches II
- Concept 09: Code with Branches III
- Concept 10: Code with Branches IV
- Concept 11: Code with Branches V
- Concept 12: Breaking Programs Into Smaller Pieces
- Concept 13: Outlining and Building a Program
- Concept 14: Building Program Pieces I
- Concept 15: Building Program Pieces II
- Concept 16: Building Program Pieces III
- Concept 17: Building Program Pieces IV
- Concept 18: Putting together the Pieces
-
Lesson 03: Data Structures and Loops
In this lesson you will learn how to use Python's collections: lists, sets and dictionaries. You will learn how to iterate over these collections with for loops and while loops. You will also learn how to build compound data structures that combine these collections. We will practice the software engineering skills of refactoring and self-reliant problem solving.
- Concept 01: Welcome Back!
- Concept 02: Lists
- Concept 03: Lists II
- Concept 04: For Loops
- Concept 05: For Loops II
- Concept 06: While Loops
- Concept 07: While Loops II
- Concept 08: Reorganizing Code
- Concept 09: Reorganizing Code II
- Concept 10: Sets
- Concept 11: Sets II
- Concept 12: Dictionaries
- Concept 13: Dictionaries II
- Concept 14: Dictionaries III
- Concept 15: Dictionaries IV
- Concept 16: Compound Data Structures
- Concept 17: Compound Data Structures II
- Concept 18: Problem Solving Skills
-
Lesson 04: Files and Modules
In this lesson you will extend your knowledge of functions by learning how to specify default arguments and how to return multiple value from a function. You will learn how to read from files. You will also learn how to import modules from Python's standard library, and how to install third-party libraries. We will also learn more about reliant problem solving.
- Concept 01: Tuples
- Concept 02: Tuples II
- Concept 03: Default Arguments
- Concept 04: Variable Scope
- Concept 05: Reading from a File
- Concept 06: Reading from a File II
- Concept 07: The Standard Library
- Concept 08: The Standard Library II
- Concept 09: Third-Party Libraries
- Concept 10: Using Online Resources
-
Lesson 05: Wikipedia Web Crawl Case Study
In this lesson we will apply the skills learned previously by writing a web crawler that explores Wikipedia.
- Concept 01: Case Study Introduction
- Concept 02: Laying the Groundwork
- Concept 03: Designing the Program
- Concept 04: Implementing the Program
- Concept 05: Implementing the Program II
- Concept 06: Implementing the Program III
- Concept 07: Iterative Programming I
- Concept 08: Iterative Programming II
- Concept 09: Iterative Programming III
- Concept 10: Finishing Touches
- Concept 11: Conclusion
-
-
Module 02: Old Project
Part 03 : Introduction to Data Analysis
Learn the data analysis process of questioning, wrangling, exploring, analyzing, and communicating data. Learn how to work with data in Python using libraries like NumPy and Pandas.
-
Module 01: Anaconda
-
Lesson 01: Anaconda
In this lesson, you will be getting a quick glimpse at the Anaconda environment - one of the most popular environments for doing data analysis in Python.
-
Lesson 02: Jupyter Notebooks
Jupyter Notebooks are a great tool for getting started with writing python code. Though in production you often will write code in scripts, notebooks are wonderful for sharing insights and data viz!
- Concept 01: What are Jupyter notebooks?
- Concept 02: Installing Jupyter Notebook
- Concept 03: Launching the notebook server
- Concept 04: Notebook interface
- Concept 05: Code cells
- Concept 06: Markdown cells
- Concept 07: Keyboard shortcuts
- Concept 08: Magic keywords
- Concept 09: Converting notebooks
- Concept 10: Creating a slideshow
- Concept 11: Finishing up
-
-
Module 02: Python for Data Analysis
-
Lesson 01: The Data Analysis Process
Learn about the data analysis process and practice investigating different datasets using Python and its powerful packages for data analysis.
- Concept 01: Handoff to Juno Lee
- Concept 02: Lesson Overview
- Concept 03: Problems Solved by Data Analysts
- Concept 04: Setting Up Your Programming Environment
- Concept 05: Data Analysis Process Overview
- Concept 06: Data Analysis Process Quiz
- Concept 07: Packages Overview
- Concept 08: Packages Overview Quiz
- Concept 09: Asking Questions
- Concept 10: Questions for a Dataset
- Concept 11: Data Wrangling and EDA
- Concept 12: Gathering Data
- Concept 13: Reading CSV Files
- Concept 14: Assessing and Building Intuition
- Concept 15: Assessing and Building Intuition Quiz
- Concept 16: Cleaning Data
- Concept 17: Cleaning Example
- Concept 18: Cleaning Practice
- Concept 19: Exploring Data with Visuals
- Concept 20: Plotting with Pandas
- Concept 21: Exploring Data with Visuals Quiz
- Concept 22: Drawing Conclusions
- Concept 23: Drawing Conclusions Example
- Concept 24: Drawing Conclusions Quiz
- Concept 25: Communicating Results
- Concept 26: Communicating Results Example
- Concept 27: Communicating Results Practice
- Concept 28: Conclusion
-
Lesson 02: Data Analysis Process - Case Study 1
Investigate a dataset on chemical properties and quality ratings of wine samples by going through the entire data analysis process and building more skill with Python for data analysis.
- Concept 01: Lesson Overview
- Concept 02: Data Overview
- Concept 03: Asking Questions
- Concept 04: Gathering Data
- Concept 05: Assessing Data
- Concept 06: Appending and NumPy
- Concept 07: Appending Data
- Concept 08: Troubleshooting with Appending
- Concept 09: Renaming Columns
- Concept 10: Appending Data (cont.)
- Concept 11: Exploring with Visuals
- Concept 12: Pandas Groupby
- Concept 13: Conclusions Using Groupby
- Concept 14: Pandas Query
- Concept 15: Conclusions Using Query
- Concept 16: Type & Quality Plot - Part 1
- Concept 17: Type & Quality Plot - Part 2
- Concept 18: Matplotlib Example
- Concept 19: Plotting with Matplotlib
- Concept 20: Type & Quality Plot with Matplotlib
- Concept 21: Conclusion
-
Lesson 03: Data Analysis Process - Case Study 2
Investigate a more challenging dataset on fuel economy and learn more about problems and strategies in data analysis. Continue to build on your Python for data analysis skills.
- Concept 01: Lesson Overview
- Concept 02: Data Overview
- Concept 03: Data Attributes
- Concept 04: Asking Questions
- Concept 05: Assessing Data
- Concept 06: Cleaning Column Labels
- Concept 07: Filter, Drop Nulls, Dedupe
- Concept 08: Inspecting Data Types
- Concept 09: Fixing Data Types Pt 1
- Concept 10: Fixing Data Types Pt 2
- Concept 11: Fixing Data Types Pt 3
- Concept 12: Exploring with Visuals
- Concept 13: Conclusions & Visuals
- Concept 14: Types of Merges
- Concept 15: Merging Datasets
- Concept 16: Results with Merged Dataset
- Concept 17: Conclusion
-
Lesson 04: Programming Workflow for Data Analysis
Additional content to expose you to a different workflow for your analysis in Python: IPython's command line interface, writing scripts in text editors, running scripts in the terminal.
-
-
Module 03: 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: Text + Quiz: Your First Query
- Concept 13: Solutions: Your First Query Solution
- Concept 14: Text: Formatting Best Practices
- Concept 15: Video: LIMIT
- Concept 16: Quiz: LIMIT
- Concept 17: Solutions: 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 Non-Numeric Data
- Concept 28: Quiz: WHERE with Non-Numeric
- Concept 29: Solutions: WHERE with Non-Numeric
- 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: Solution Video: More On Subqueries
- Concept 10: Quiz: Subquery Mania
- Concept 11: Solution: Subquery Mania
- Concept 12: Video: WITH
- Concept 13: Text + Quiz: WITH vs. Subquery
- Concept 14: Quiz: WITH
- Concept 15: Solutions: WITH
- Concept 16: 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: Quizzes: 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
-
-
Module 04: Investigate a Dataset
-
Lesson 01: Investigate a Dataset
Choose one of Udacity's curated datasets, perform an investigation, and share your findings.
-
Part 04 : Practical Statistics
Learn how to apply inferential statistics and probability to important, real-world scenarios, such as analyzing A/B tests and building supervised learning models.
-
Module 01: Practical Stats
-
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 Hypothesis Tests - Part II
- Concept 05: Quiz: Setting Up Hypothesis Tests
- Concept 06: Types of Errors - Part I
- Concept 07: Quiz: Types of Errors - Part I
- Concept 08: Types of Errors - Part II
- Concept 09: Quiz: Types of Errors - Part II
- Concept 10: Types of Errors - Part III
- Concept 11: Quiz: Types of Errors - Part III
- Concept 12: Common Types of Hypothesis Tests
- Concept 13: How Do We Choose Between Hypotheses?
- Concept 14: Video: Simulating from the Null
- Concept 15: Notebook + Quiz: Simulating from the Null
- Concept 16: What is a p-value Anyway?
- Concept 17: Video: Calculating the p-value
- Concept 18: Quiz: What is a p-value Anyway?
- Concept 19: Quiz: Calculating a p-value
- Concept 20: Connecting Errors and P-Values
- Concept 21: Conclusions in Hypothesis Testing
- Concept 22: Quiz: Connecting Errors and P-Values
- Concept 23: Notebook + Quiz: Drawing Conclusions
- Concept 24: Other Things to Consider - What if Our Sample is Large?
- Concept 25: Other Things to Consider - What if Test More Than Once?
- Concept 26: Other Things to Consider - How Do CIs and HTs Compare?
- Concept 27: Notebook + Quiz: Other Things to Consider
- Concept 28: Notebook + Quiz: Other Things to Consider
- Concept 29: Hypothesis Testing Conclusion
- Concept 30: 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
-
-
Module 02: Analyze A/B Test Results
-
Lesson 01: Analyze A/B Test Results
You will be working to understand the results of an A/B test run by an e-commerce website. Your goal is to work through to help the company understand if they should implement the new page design.
- Concept 01: Project Details
- Concept 02: Quiz 1: Understanding the Dataset
- Concept 03: Quiz 2: Messy Data
- Concept 04: Quiz 3: Updated DataFrame
- Concept 05: Quiz 4: Probability
- Concept 06: Quiz 5: Hypothesis Testing
- Concept 07: Completing and Submitting this Project in the Classroom
- Concept 08: Project Workspace: Complete and Submit Project
- Concept 09: Check Rubric
-
Part 05 : Congratulations and Next Steps
-
Module 01: Congratulations
-
Lesson 01: Congratulations & Next Steps
Congratulations on completing all your projects!
-
Part 06 : Welcome to Term 2!
Welcome to the program! In this part, you’ll get an orientation into using our classroom and
services. You’ll also get advice for making the best use of your time while enrolled in this
program.
-
Module 01: Welcome to Term 2
-
Lesson 01: Welcome to Term 2!
Welcome to term 2 of the Data Analyst Nanodegree program! In this lesson, you will learn more about the structure of the program and meet the team.
- Concept 01: Welcome to Term 2 of the Data Analyst Nanodegree program
- Concept 02: Projects
- Concept 03: Meet the Team
- Concept 04: Program Structure and Schedule
- Concept 05: Learning Plan - First Two Weeks
- Concept 06: Orientation Introduction
- Concept 07: Projects and Progress
- Concept 08: Integrity and Mindset
- Concept 09: How Does Project Submission Work?
- Concept 10: Getting Help
- Concept 11: How Do I Find Time for My Nanodegree?
- Concept 12: Study Habits of Successful Graduates
- Concept 13: Meet the Careers Team
- Concept 14: Your Udacity Professional Profile
-
-
Module 02: Test a Perceptual Phenomenon
-
Lesson 01: Statistics and Programming Exercises
This lesson contains several exercises to assess your statistics and programming knowledge. It will serve both as a warm up and as an indication to you of how ready you are to take this program.
-
Lesson 02: Test a Perceptual Phenomenon
Compute descriptive statistics and perform a statistical test on a data set based on a psychological phenomenon, the Stroop Effect.
-
Part 07 : Exploratory Data Analysis
Learn to explore data at multiple levels using appropriate visualizations, acquire statistical knowledge for summarizing data, and develop intuition around a data set.
-
Module 01: Data Analysis with R
-
Lesson 01: What is EDA?
Learn about what exploratory data analysis (EDA) is and why it is important.
- Concept 01: Handoff to Chris Saden
- Concept 02: Data is Ubiquitous
- Concept 03: Go Exploring
- Concept 04: Why learn EDA?
- Concept 05: Aude's Interest in Data
- Concept 06: Goals of EDA
- Concept 07: The Growth of Televisions
- Concept 08: Our Approach for This Course
- Concept 09: Aude Explores Coordinated Migration
- Concept 10: Course Overview
-
Lesson 02: R Basics
Install RStudio and packages, learn the layout and basic commands of R, practice writing basic R scripts, and inspect data sets.
- Concept 01: The Power of R
- Concept 02: Why R
- Concept 03: Using Windows?
- Concept 04: Install RStudio on Windows
- Concept 05: Install RStudio on a Mac
- Concept 06: Ready to Explore Data?
- Concept 07: RStudio Layout
- Concept 08: Demystifying R
- Concept 09: Getting Help
- Concept 10: Read and Subset Data
- Concept 11: R Markdown Documents
- Concept 12: Factor Variables
- Concept 13: Ordered Factors
- Concept 14: Setting Levels of Ordered Factors
- Concept 15: Data Munging
- Concept 16: Advice for Data Scientists
- Concept 17: Congratulations
-
Lesson 03: Explore One Variable
Learn how to quantify and visualize individual variables within a data set using histograms, boxplots, and transforms.
- Concept 01: Welcome!
- Concept 02: What to Do First?
- Concept 03: Pseudo-Facebook User Data
- Concept 04: Histogram of Users' Birthdays
- Concept 05: Moira's Investigation
- Concept 06: Estimating Your Audience Size
- Concept 07: Perceived Audience Size
- Concept 08: Faceting
- Concept 09: Be Skeptical of Outliers and Anomalies
- Concept 10: Moira's Outlier
- Concept 11: Friend Count
- Concept 12: Limiting the Axes
- Concept 13: Exploring with Bin Width
- Concept 14: Adjusting the Bin Width
- Concept 15: Omitting NA Observations
- Concept 16: Statistics 'by' Gender
- Concept 17: Tenure
- Concept 18: Labeling Plots
- Concept 19: User Ages
- Concept 20: The Spread of Memes
- Concept 21: Lada's Money Bag Meme
- Concept 22: Transforming Data
- Concept 23: Add a Scaling Layer
- Concept 24: Frequency Polygons
- Concept 25: Likes on the Web
- Concept 26: Box Plots
- Concept 27: Box Plots, Quartiles, and Friendships
- Concept 28: Getting Logical
- Concept 29: Analyzing One Variable
-
Lesson 04: Problem Set: Explore One Variable
Practice using R functions and univariate visualizations to explore and understand individual variables.
- Concept 01: Diamonds
- Concept 02: Price Histogram
- Concept 03: Price Histogram Summary
- Concept 04: Diamond Counts
- Concept 05: Cheaper Diamonds
- Concept 06: Price by Cut Histograms
- Concept 07: Price by Cut
- Concept 08: Scales and Multiple Histograms
- Concept 09: Price per Carat by Cut
- Concept 10: Price Box Plots
- Concept 11: Interquartile Range - IQR
- Concept 12: Price per Carat Box Plots by Color
- Concept 13: Carat Frequency Polygon
- Concept 14: Data Wrangling with R
- Concept 15: Gapminder Data
- Concept 16: Exploring Your Friends' Birthdays
-
Lesson 05: Explore Two Variables
Learn techniques for exploring the relationship between any two variables in a data set, including scatter plots, line plots, and correlations.
- Concept 01: Welcome!
- Concept 02: Scatterplots and Perceived Audience Size
- Concept 03: Scatterplots
- Concept 04: ggplot Syntax
- Concept 05: Overplotting
- Concept 06: coord_trans()
- Concept 07: Alpha and Jitter
- Concept 08: Overplotting and Domain Knowledge
- Concept 09: Conditional Means
- Concept 10: Overlaying Summaries with Raw Data
- Concept 11: Moira: Histogram Summary & Scatterplots
- Concept 12: Correlation
- Concept 13: Correlation on Subsets
- Concept 14: Correlation Methods
- Concept 15: Create Scatterplots
- Concept 16: Strong Correlations
- Concept 17: Moira on Correlation
- Concept 18: More Caution with Correlation
- Concept 19: Noisy Scatterplots
- Concept 20: Making Sense of Data
- Concept 21: A New Perspective
- Concept 22: Understanding Noise: Age to Age Months
- Concept 23: Age with Months Means
- Concept 24: Noise in Conditional Means
- Concept 25: Smoothing Conditional Means
- Concept 26: Which Plot to Choose?
- Concept 27: Analyzing Two Variables
-
Lesson 06: Problem Set: Explore Two Variables
Practice using bivariate exploration techniques to explore relationships between variables.
- Concept 01: price vs. x
- Concept 02: Findings - price vs. x
- Concept 03: Correlations
- Concept 04: price vs. depth
- Concept 05: Adjustments - price vs. depth
- Concept 06: Typical Depth Range
- Concept 07: Correlation - price and depth
- Concept 08: price vs. carat
- Concept 09: price vs. volume
- Concept 10: Findings - price vs. volume
- Concept 11: Correlations on Subsets
- Concept 12: Adjustments - price vs. volume
- Concept 13: Mean Price by Clarity
- Concept 14: Bar Charts of Mean Price
- Concept 15: Trends in Mean Price
- Concept 16: Gapminder Revisited
-
Lesson 07: Explore Many Variables
Learn powerful methods for examining relationships among multiple variables, and find out how to reshape your data.
- Concept 01: Multivariate Data
- Concept 02: Perceived Audience Size by Age
- Concept 03: Third Qualitative Variable
- Concept 04: Plotting Conditional Summaries
- Concept 05: Thinking in Ratios
- Concept 06: Wide and Long Format
- Concept 07: Reshaping Data
- Concept 08: Ratio Plot
- Concept 09: Third Quantitative Variable
- Concept 10: Cut a Variable
- Concept 11: Plotting It All Together
- Concept 12: Plot the Grand Mean
- Concept 13: Friending Rate
- Concept 14: Friendships Initiated
- Concept 15: Bias Variance Trade off Revisited
- Concept 16: Sean's NFL Fan Sentiment Study
- Concept 17: Introducing the Yogurt Dataset
- Concept 18: Histograms Revisited
- Concept 19: Number of Purchases
- Concept 20: Prices Over Time
- Concept 21: Sampling Observations
- Concept 22: Looking at Samples of Households
- Concept 23: The Limits of Cross Sectional Data
- Concept 24: Many Variables
- Concept 25: Scatterplot Matrices
- Concept 26: Even More Variables
- Concept 27: Heat Maps
- Concept 28: Analyzing Three or More Variables
-
Lesson 08: Problem Set: Explore Many Variables
Practice using multivariate exploration techniques to look at more complicated relationships between multiple variables.
- Concept 01: Price Histograms with Facet and Color
- Concept 02: Price vs. Table Colored by Cut
- Concept 03: Typical Table Value
- Concept 04: Price vs. Volume and Diamond Clarity
- Concept 05: Proportion of Friendships Initiated
- Concept 06: prop_initiated vs. tenure
- Concept 07: Smoothing prop_initiated vs. tenure
- Concept 08: Greatest prop_initiated Group
- Concept 09: Largest Group Mean prop_initiated
- Concept 10: Price/Carat Binned, Faceted, & Colored
- Concept 11: Gapminder Multivariate Analysis
-
Lesson 09: Diamonds & Price Predictions
Put it all together in this case study where we investigate the diamonds data set alongside Facebook Data Scientist, Solomon Messing.
- Concept 01: Welcome!
- Concept 02: Linear Regression Models
- Concept 03: Scatterplot Review
- Concept 04: Price and Carat Relationship
- Concept 05: Frances Gerety
- Concept 06: The Rise of Diamonds
- Concept 07: ggpairs Function
- Concept 08: The Demand of Diamonds
- Concept 09: Connecting Demand and Price Distribution
- Concept 10: Scatterplot Transformation
- Concept 11: Overplotting Revisited
- Concept 12: Plot Colors for Qualitative Factors
- Concept 13: Price vs. Carat and Clarity
- Concept 14: Clarity and Price
- Concept 15: Price vs Carat and Cut
- Concept 16: Cut and Price
- Concept 17: Price vs Carat and Color
- Concept 18: Color and Price
- Concept 19: Linear Models in R
- Concept 20: Building the Linear Model
- Concept 21: Model Problems
- Concept 22: A Bigger, Better Data Set
- Concept 23: Predictions
- Concept 24: Final Thoughts
- Concept 25: Congratulations and Next Steps
-
-
Module 02: Project
-
Lesson 01: Explore and Summarize Data
Choose one of Udacity's curated datasets or find one of your own and perform a complete exploratory data analysis on the data using R.
-
Part 08 : Data Wrangling
Learn the data wrangling process of gathering, assessing, and cleaning data. Learn how to use Python to wrangle data programmatically and prepare it for deeper analysis.
-
Module 01: Introduction to Data Wrangling
-
Lesson 01: Introduction to Data Wrangling
Identify each step of the data wrangling process (gathering, assessing, cleaning) through a brief walkthrough of the process. The dataset for this lesson is an online job postings dataset from Kaggle.
- Concept 01: Introduction
- Concept 02: Course Outline
- Concept 03: A Definition and An Analogy
- Concept 04: Examples
- Concept 05: Walkthrough and Dataset
- Concept 06: Gather (Intro)
- Concept 07: Template and Software
- Concept 08: Quiz: Gather (Download)
- Concept 09: Quiz: Gather (Open Jupyter Notebook)
- Concept 10: Quiz: Gather (Unzip File)
- Concept 11: Gather (CSV Files)
- Concept 12: Quiz: Gather (Import)
- Concept 13: Gather (Summary)
- Concept 14: Assess (Intro)
- Concept 15: Quiz: Assess (Visual)
- Concept 16: Quiz: Assess (Programmatic)
- Concept 17: Quiz: Assess (Tidiness)
- Concept 18: Assess (Summary)
- Concept 19: Clean (Intro)
- Concept 20: Clean (Define)
- Concept 21: Quiz: Clean (Code 1)
- Concept 22: Quiz: Clean (Code 2)
- Concept 23: Quiz: Clean (Test)
- Concept 24: Clean (Summary)
- Concept 25: Reassess and Iterate
- Concept 26: Wrangling vs. EDA vs. ETL
- Concept 27: Analysis and Visualization
- Concept 28: Data Wrangling Summary
- Concept 29: Conclusion
-
-
Module 02: Gathering Data
-
Lesson 01: Gathering Data
Gather data from various sources and a variety of file formats using Python. Rotten Tomatoes ratings, Roger Ebert reviews, and Wikipedia movie poster images make up the dataset for this lesson.
- Concept 01: Introduction
- Concept 02: Lesson Outline
- Concept 03: Dataset: Finding the Best Movies
- Concept 04: Navigating Your Working Directory and File I/O
- Concept 05: Source: Files on Hand
- Concept 06: Flat File Structure
- Concept 07: Flat Files in Python
- Concept 08: Source: Web Scraping
- Concept 09: HTML File Structure
- Concept 10: HTML Files in Python
- Concept 11: Flashforward 1
- Concept 12: Source: Downloading Files from the Internet
- Concept 13: Text File Structure
- Concept 14: Text Files in Python
- Concept 15: Source: APIs (Application Programming Interfaces)
- Concept 16: JSON File Structure
- Concept 17: JSON Files in Python
- Concept 18: Mashup: APIs, Downloading Files Programmatically, JSON
- Concept 19: Mashup Solution
- Concept 20: Flashforward 2
- Concept 21: Storing Data
- Concept 22: Relational Database Structure
- Concept 23: Relational Databases in Python
- Concept 24: Other File Formats
- Concept 25: You Can Iterate
- Concept 26: Gathering Summary
- Concept 27: Conclusion
-
-
Module 03: Assessing Data
-
Lesson 01: Assessing Data
Assess data visually and programmatically for quality and tidiness issues using pandas. The dataset for this lesson is mock Phase II clinical trial data for a new oral insulin called Auralin.
- Concept 01: Introduction
- Concept 02: Lesson Outline
- Concept 03: Dataset: Oral Insulin Phase II Clinical Trial Data
- Concept 04: Unclean Data: Dirty vs. Messy 1
- Concept 05: Unclean Data: Dirty vs. Messy 2
- Concept 06: Assessment: Types vs. Steps
- Concept 07: Visual Assessment
- Concept 08: Visual Assessment: Acquaint Yourself
- Concept 09: Quality: Visual Assessment 1
- Concept 10: Assessing vs. Exploring
- Concept 11: Quality: Visual Assessment 2
- Concept 12: Data Quality Dimensions 1
- Concept 13: Data Quality Dimensions 2
- Concept 14: Programmatic Assessment
- Concept 15: Quality: Programmatic Assessment 1
- Concept 16: Quality: Programmatic Assessment 2
- Concept 17: Tidiness: Visual Assessment
- Concept 18: Tidiness: Programmatic Assessment
- Concept 19: How Data Gets Dirty and Messy
- Concept 20: You Can Iterate!
- Concept 21: Assessing Summary
- Concept 22: Conclusion
-
-
Module 04: Cleaning Data
-
Lesson 01: Cleaning Data
Using pandas, clean the quality and tidiness issues you identified in the "Assessing Data" lesson. The dataset is the same: mock Phase II clinical trial data for a new oral insulin called Auralin.
- Concept 01: Introduction
- Concept 02: Lesson Outline
- Concept 03: Dataset: Oral Insulin Phase II Clinical Trial Data
- Concept 04: Manual vs. Programmatic Cleaning
- Concept 05: Data Cleaning Process
- Concept 06: Cleaning Sequences
- Concept 07: Quiz and Solution Notebooks
- Concept 08: Address Missing Data First
- Concept 09: Quiz: Missing Data
- Concept 10: Solution: Missing Data
- Concept 11: Cleaning for Tidiness
- Concept 12: Quiz: Tidiness
- Concept 13: Solution: Tidiness
- Concept 14: Cleaning for Quality
- Concept 15: Quiz: Quality
- Concept 16: Solution: Quality
- Concept 17: Flashforward
- Concept 18: You Can Iterate
- Concept 19: Cleaning Summary
- Concept 20: Conclusion
-
-
Module 05: Project
-
Lesson 01: Wrangle and Analyze Data
Gather data from a variety of sources and in a variety of formats, assess its quality and tidiness, then clean it. Showcase your wrangling efforts through analyses and visualizations.
-
Part 09 : Data Story Telling
Learn to apply sound design and data visualization principles to the data analysis process. Learn how to use analysis and visualizations to tell a story with data.
-
Module 01: Data Viz Lessons 2
-
Lesson 01: Introduction to Data Visualization
In this lesson, you will learn the main data visualizations used for univariate and bivariate analyses. As well as the visualizations that are used for when you you want to compare more variables.
- Concept 01: Data Visualization Introduction
- Concept 02: Why Do We Use Data Visualizations?
- Concept 03: Motivation for Data Visualization
- Concept 04: Further Motivation
- Concept 05: Data Types Review
- Concept 06: Identifying Data Types
- Concept 07: Univariate Plots
- Concept 08: Univariate Plots
- Concept 09: Scatter Plots
- Concept 10: Quizzes On Scatter Plots
- Concept 11: Correlation Coefficients
- Concept 12: Correlation Coefficient Quizzes
- Concept 13: Line Plots
- Concept 14: What is the Question?
- Concept 15: What About with More Than Two Variables?
- Concept 16: Multiple Variables Quiz
- Concept 17: Why Data Dashboards
- Concept 18: Introduction to Data Dashboards
- Concept 19: Quiz On Visual Encodings
- Concept 20: Recap
- Concept 21: What's Next?
-
Lesson 02: Design
In this lesson, you will learn about visual encodings, and best practices for building data visualizations.
- Concept 01: Introduction
- Concept 02: Lesson Overview
- Concept 03: Exploratory vs. Explanatory Analyses
- Concept 04: Quiz: Exploratory vs. Explanatory
- Concept 05: What Makes a Bad Visual?
- Concept 06: What Experts Say About Visual Encodings
- Concept 07: Chart Junk
- Concept 08: Data Ink Ratio
- Concept 09: Design Integrity
- Concept 10: Bad Visual Quizzes (Part I)
- Concept 11: Bad Visual Quizzes (Part II)
- Concept 12: Text: Effective Explanatory Visual Recap
- Concept 13: Using Color
- Concept 14: Designing for Color Blindness
- Concept 15: Shape, Size, & Other Tools
- Concept 16: General Design Tips
- Concept 17: Good Visual
- Concept 18: Tell A Story
- Concept 19: Same Data, Different Stories
- Concept 20: Quizzes on Data Story Telling
- Concept 21: Recap
- Concept 22: Onwards!
-
Lesson 03: Data Visualizations in Tableau
In this lesson, you will learn how to make visualizations in Tableau. Get excited - it is about to get awesome!
- Concept 01: Video: What is Tableau?
- Concept 02: Text: Installing Tableau
- Concept 03: Video: How This Lesson Is Structured?
- Concept 04: Text: Outline of Topics Covered
- Concept 05: Commas vs Periods
- Concept 06: Video: Connecting to Data
- Concept 07: Text: Connecting to Data Recap
- Concept 08: Quiz: Connecting to Data
- Concept 09: Video: Combining Data
- Concept 10: Text: Combining Data Recap
- Concept 11: Quiz: Combining Data
- Concept 12: Video: What Can You Create In Tableau?
- Concept 13: Video: Worksheets
- Concept 14: Text: Worksheets
- Concept 15: Quiz: Worksheets
- Concept 16: Text: Saving to Tableau Public
- Concept 17: Video: Aggregations
- Concept 18: Text: Aggregations
- Concept 19: Quiz: Aggregations
- Concept 20: Video: Hierarchies
- Concept 21: Text: Hierarchies
- Concept 22: Quiz: Hierarchies
- Concept 23: Video: Marks & Filters
- Concept 24: Text: Marks & Filters I
- Concept 25: Quiz: Marks & Filters I
- Concept 26: Text: Marks & Filters II
- Concept 27: Quiz: Marks & Filters II
- Concept 28: Video: Show Me
- Concept 29: Text: Show Me
- Concept 30: Quiz: Show Me
- Concept 31: Video: Small Multiples & Dual Axis
- Concept 32: Text: Small Multiples & Dual Axis
- Concept 33: Text: Map Configuration
- Concept 34: Quiz: Small Multiples
- Concept 35: Quiz: Dual Axis
- Concept 36: Video: Groups & Sets
- Concept 37: Text: Groups & Sets
- Concept 38: Quiz: Groups
- Concept 39: Quiz: Sets
- Concept 40: Video: Calculated Fields
- Concept 41: Text: Calculated Fields
- Concept 42: Quiz: Calculated Fields
- Concept 43: Video: Table Calculations
- Concept 44: Text: Table Calculations
- Concept 45: Quiz: Table Calculations
- Concept 46: Text: Recap
- Concept 47: Video: What's Next?
-
Lesson 04: Making Dashboards & Stories in Tableau
In this lesson, you will learn from a Tableau expert, and start putting together your own dashboards and stories.
- Concept 01: Video: Communicating With Your Data
- Concept 02: Video + Text: What's Ahead?
- Concept 03: Video: Hierarchies with Trina
- Concept 04: Quiz: Hierarchies with Trina
- Concept 05: Video: Building Dashboards & Stories with Trina
- Concept 06: Text: General Notes for Building Data Dashboards with Trina
- Concept 07: Text: General Notes for Building Stories
- Concept 08: Quiz: Building Dashboards & Stories with Trina
- Concept 09: Video: Extra Practice with Dashboards
- Concept 10: Quiz: Extra Practice with Dashboards
- Concept 11: Text: Lesson Recap
- Concept 12: Video: Congratulations!
-
-
Module 02: Project
-
Lesson 01: Create a Tableau Story
Create a Tableau data visualization from a data set that tells a story or highlights trends or patterns in the data. Your work should be a reflection of the theory and practice of data visualization.
-
Part 10 : Congratulations and Next Steps
-
Module 01: Congratulations
-
Lesson 01: Congratulations & Next Steps
Congratulations on completing all your projects!
-
Part 11 (Elective): How to use Git and GitHub
Learn how to use version control to save and share your projects with others.
-
Module 01: Version Control with Git
-
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.
-
Part 12 (Career): Career: GitHub Profile Review
Technical recruiters commonly use GitHub as a recruiting platform. They are looking for activity, consistency, and communication in addition to your overall projects. Look at your GitHub profile through the lens of a recruiter or hiring manager, focusing on how your profile, projects, and code represent you as a potential candidate for a company or collaborator on a project.
-
Module 01: GitHub Profile Review
-
Lesson 01: GitHub Review
Review how your GitHub profile, projects, and code represent you as a potential job candidate. Learn to assess your GitHub profile through the eyes of a recruiter or hiring manager.
- Concept 01: Introduction
- Concept 02: GitHub profile important items
- Concept 03: Good GitHub repository
- Concept 04: Interview with Art - Part 1
- Concept 05: Identify fixes for example “bad” profile
- Concept 06: Quick Fixes #1
- Concept 07: Quick Fixes #2
- Concept 08: Writing READMEs with Walter
- Concept 09: Interview with Art - Part 2
- Concept 10: Commit messages best practices
- Concept 11: Reflect on your commit messages
- Concept 12: Participating in open source projects
- Concept 13: Interview with Art - Part 3
- Concept 14: Participating in open source projects 2
- Concept 15: Starring interesting repositories
- Concept 16: Outro
- Concept 17: Resources in Your Career Portal
-
Part 13 (Career): Career: Networking
Networking is a very important component to a successful job search. In the following lesson, you will learn how tell your unique story to recruiters in a succinct and professional but relatable way.
-
Module 01: Develop Your Personal Brand
-
Lesson 01: Develop Your Personal Brand
In this lesson, learn how to tell your unique story in a succinct and professional way. Communicate to employers that you know how to solve problems, overcome challenges, and achieve results.
-
Lesson 02: LinkedIn Review
Optimize your LinkedIn profile to show up in recruiter searches, build your network, and attract employers. Learn to read your LinkedIn profile through the lens of a recruiter or hiring manager.
-
Lesson 03: Udacity Professional Profile
Update and personalize your Udacity Professional Profile as you complete your Nanodegree program, and make your Profile visible to Udacity hiring partners when you’re ready to start your job search.
-
Part 14 (Career): Career: Job Search Strategies
Opportunity can come when you least expect it, so when your dream job comes along, you want to be ready.
-
Module 01: Conduct a Job Search
-
Lesson 01: Conduct a Job Search
Learn how to search for jobs effectively through industry research, and targeting your application to a specific role.
-
-
Module 02: Refine Your Resume
-
Lesson 01: Refine Your Entry-Level Resume
Receive a personalized review of your resume. This resume review is best suited for applicants who have 0-3 years of work experience in any industry.
-
Lesson 02: Refine Your Career Change Resume
Receive a personalized review of your resume. This resume review is best suited for applicants who have 3+ years of work experience in an unrelated field.
-
Lesson 03: Refine Your Prior Industry Experience Resume
Receive a personalized review of your resume. This resume review is best suited for applicants who have 3+ years of work experience in a related field.
Project Description - Resume Review Project (Prior Industry Experience)
Project Rubric - Resume Review Project (Prior Industry Experience)
- Concept 01: Convey Your Skills Concisely
- Concept 02: Effective Resume Components
- Concept 03: Resume Structure
- Concept 04: Describe Your Work Experiences
- Concept 05: Resume Reflection
- Concept 06: Resume Review
- Concept 07: Resume Review (Prior Industry Experience)
- Concept 08: Resources in Your Career Portal
-
-
Module 03: Write an Effective Cover Letter
-
Lesson 01: Craft Your Cover Letter
Get a personalized review of your cover letter. A successful cover letter will convey your enthusiasm, specific technical qualifications, and communication skills applicable to the position.
-
Part 15 (Career): Career: Data Analyst Interview Practice
Now that you've practiced your skills through your project work, learn how you can present your knowledge in an interview.
-
Module 01: Interview Practice (Data Analyst)
-
Lesson 01: Ace Your Interview
Learn strategies to prepare yourself for an interview.
-
Lesson 02: Practice Behavioral Questions
Practice answering behavioral questions and evaluate sample responses.
- Concept 01: Introduction
- Concept 02: Self-Practice: Behavioral Questions
- Concept 03: Analyzing Behavioral Answers
- Concept 04: Time When You Showed Initiative?
- Concept 05: What Motivates You at the Workplace?
- Concept 06: A Problem and How You Dealt With It?
- Concept 07: What Do You Know About the Company?
- Concept 08: Time When You Dealt With Failure?
-
Lesson 03: Interview Fails
Some real-life examples of interviews that didn't go as expected - it happens all the time!
-
Lesson 04: Land a Job Offer
You're practiced a lot for the interview by now. Continue practicing, and you'll ace the interview!
-
Lesson 05: Interview Practice
This lesson introduces you to common types of questions you’ll encounter during an in-person interview. Develop a healthier, more confident mindset around your qualifications as a candidate.
- Concept 01: Analyzing an Interview
- Concept 02: Quiz: Analyzing an Interview
- Concept 03: Free Throw Probability
- Concept 04: Query a SQL database
- Concept 05: Maximum Difference in an Integer Array
- Concept 06: Design a Spam Classifier
- Concept 07: Jimmy's Analysis of the Interview
- Concept 08: Keep Practicing!
- Concept 09: Resources in Your Career Portal
-
-
Module 02: Data Structures & Algorithms with Python
-
Lesson 01: Introduction and Efficiency
Begin the section on data structures and algorithms, including Python and efficiency practice.
- Concept 01: Course Introduction
- Concept 02: Course Outline
- Concept 03: Course Expectations
- Concept 04: Syntax
- Concept 05: Python Practice
- Concept 06: Python: The Basics
- Concept 07: Efficiency
- Concept 08: Notation Intro
- Concept 09: Notation Continued
- Concept 10: Worst Case and Approximation
- Concept 11: Efficiency Practice
-
Lesson 02: List-Based Collections
Learn the definition of a list in computer science, and see definitions and examples of list-based data structures, arrays, linked lists, stacks, and queues.
- Concept 01: Welcome to Collections
- Concept 02: Lists
- Concept 03: Arrays
- Concept 04: Python Lists
- Concept 05: Linked Lists
- Concept 06: Linked Lists in Depth
- Concept 07: Linked List Practice
- Concept 08: Stacks
- Concept 09: Stacks Details
- Concept 10: Stack Practice
- Concept 11: Queues
- Concept 12: Queue Practice
-
Lesson 03: Searching and Sorting
Explore how to search and sort with list-based data structures, including binary search and bubble, merge, and quick sort. Learn how to use recursion.
- Concept 01: Binary Search
- Concept 02: Efficiency of Binary Search
- Concept 03: Binary Search Practice
- Concept 04: Recursion
- Concept 05: Recursion Practice
- Concept 06: Intro to Sorting
- Concept 07: Bubble Sort
- Concept 08: Efficiency of Bubble Sort
- Concept 09: Bubble Sort Practice
- Concept 10: Merge Sort
- Concept 11: Efficiency of Merge Sort
- Concept 12: Merge Sort Practice
- Concept 13: Quick Sort
- Concept 14: Efficiency of Quick Sort
- Concept 15: Quick Sort Practice
-
Lesson 04: Maps and Hashing
Understand the concepts of sets, maps (dictionaries), and hashing. Examine common problems and approaches to hashing, and practice with examples.
-
Lesson 05: Trees
Learn the concepts and terminology associated with tree data structures. Investigate tree types, such as binary search trees, heaps, and self-balancing trees.
- Concept 01: Trees
- Concept 02: Tree Basics
- Concept 03: Tree Terminology
- Concept 04: Tree Practice
- Concept 05: Tree Traversal
- Concept 06: Depth-First Traversals
- Concept 07: Tree Traversal Practice
- Concept 08: Search and Delete
- Concept 09: Insert
- Concept 10: Binary Search Trees
- Concept 11: Binary Tree Practice
- Concept 12: BSTs
- Concept 13: BST Complications
- Concept 14: BST Practice
- Concept 15: Heaps
- Concept 16: Heapify
- Concept 17: Heap Implementation
- Concept 18: Self-Balancing Trees
- Concept 19: Red-Black Trees - Insertion
- Concept 20: Tree Rotations
-
Lesson 06: Graphs
Examine the theoretical concept of a graph and understand common graph terms, coded representations, properties, traversals, and paths.
- Concept 01: Graph Introduction
- Concept 02: What Is a Graph?
- Concept 03: Directions and Cycles
- Concept 04: Connectivity
- Concept 05: Graph Practice
- Concept 06: Graph Representations
- Concept 07: Adjacency Matrices
- Concept 08: Graph Representation Practice
- Concept 09: Graph Traversal
- Concept 10: DFS
- Concept 11: BFS
- Concept 12: Graph Traversal Practice
- Concept 13: Eulerian Path
-
Lesson 07: Case Studies in Algorithms
Explore famous computer science problems, specifically the Shortest Path Problem, the Knapsack Problem, and the Traveling Salesman Problem.
-
Lesson 08: Technical Interview - Python
Practice with five technical interviewing questions on topics discussed in the data structures and algorithms course and get a personalized review on both your code and solutions.
- Concept 01: Interview Introduction
- Concept 02: Clarifying the Question
- Concept 03: Confirming Inputs
- Concept 04: Test Cases
- Concept 05: Brainstorming
- Concept 06: Runtime Analysis
- Concept 07: Coding
- Concept 08: Coding 2
- Concept 09: Debugging
- Concept 10: Interview Wrap-Up
- Concept 11: Time for Live Practice with Pramp
- Concept 12: Next Steps
- Concept 13: Resources in Your Career Portal
- Concept 14: Project Description
-
Part 16 (Elective): Intro to Machine Learning
-
Module 01: Intro to Machine Learning
-
Lesson 01: Welcome to Machine Learning
Meet with Sebastian and Katie to discuss machine learning.
-
Lesson 02: Naive Bayes
Learn about classification, training and testing, and run a naive Bayes classifier using Scikit Learn.
- Concept 01: ML in The Google Self-Driving Car
- Concept 02: Acerous Vs. Non-Acerous
- Concept 03: Supervised Classification Example
- Concept 04: Features and Labels Musical Example
- Concept 05: Features Visualization Quiz
- Concept 06: Classification By Eye
- Concept 07: Intro To Stanley Terrain Classification
- Concept 08: Speed Scatterplot: Grade and Bumpiness
- Concept 09: Speed Scatterplot 2
- Concept 10: Speed Scatterplot 3
- Concept 11: From Scatterplots to Predictions
- Concept 12: From Scatterplots to Predictions 2
- Concept 13: From Scatterplots to Decision Surfaces
- Concept 14: A Good Linear Decision Surface
- Concept 15: Transition to Using Naive Bayes
- Concept 16: NB Decision Boundary in Python
- Concept 17: Getting Started With sklearn
- Concept 18: Gaussian NB Example
- Concept 19: GaussianNB Deployment on Terrain Data
- Concept 20: Calculating NB Accuracy
- Concept 21: Training and Testing Data
- Concept 22: Unpacking NB Using Bayes Rule
- Concept 23: Bayes Rule
- Concept 24: Cancer Test
- Concept 25: Prior and Posterior
- Concept 26: Normalizing 1
- Concept 27: Normalizing 2
- Concept 28: Normalizing 3
- Concept 29: Total Probability
- Concept 30: Bayes Rule Diagram
- Concept 31: Bayes Rule for Classification
- Concept 32: Chris or Sara
- Concept 33: Posterior Probabilities
- Concept 34: Bayesian Probabilities On Your Own
- Concept 35: Why Is Naive Bayes Naive
- Concept 36: Naive Bayes Strengths and Weaknesses
- Concept 37: Congrats on Learning Naive Bayes
- Concept 38: Naive Bayes Mini-Project Video
- Concept 39: Getting Started with Mini-Projects
- Concept 40: Machine Learning for Author ID
- Concept 41: Getting Your Code Set Up
- Concept 42: Author ID Accuracy
- Concept 43: Timing Your NB Classifier
-
Lesson 03: SVM
Build an intuition about how support vector machines (SVMs) work and implement one using scikit-learn.
- Concept 01: Welcome to SVM
- Concept 02: Separating Line
- Concept 03: Choosing Between Separating Lines
- Concept 04: What Makes A Good Separating Line
- Concept 05: Practice with Margins
- Concept 06: SVMs and Tricky Data Distributions
- Concept 07: SVM Response to Outliers
- Concept 08: SVM Outlier Practice
- Concept 09: Handoff to Katie
- Concept 10: SVM in SKlearn
- Concept 11: SVM Decision Boundary
- Concept 12: Coding Up the SVM
- Concept 13: Nonlinear SVMs
- Concept 14: Nonlinear Data
- Concept 15: A New Feature
- Concept 16: Visualizing the New Feature
- Concept 17: Separating with the New Feature
- Concept 18: Practice Making a New Feature
- Concept 19: Kernel Trick
- Concept 20: Playing Around with Kernel Choices
- Concept 21: Kernel and Gamma
- Concept 22: SVM C Parameter
- Concept 23: SVM Gamma Parameter
- Concept 24: Overfitting
- Concept 25: SVM Strengths and Weaknesses
- Concept 26: SVM Mini-Project Video
- Concept 27: SVM Mini-Project
- Concept 28: SVM Author ID Accuracy
- Concept 29: SVM Author ID Timing
- Concept 30: A Smaller Training Set
- Concept 31: Speed-Accuracy Tradeoff
- Concept 32: Deploy an RBF Kernel
- Concept 33: Optimize C Parameter
- Concept 34: Accuracy after Optimizing C
- Concept 35: Optimized RBF vs. Linear SVM: Accuracy
- Concept 36: Extracting Predictions from an SVM
- Concept 37: How Many Chris Emails Predicted?
- Concept 38: Final Thoughts on Deploying SVMs
-
Lesson 04: Decision Trees
Learn about how the decision tree algorithm works, including the concepts of entropy and information gain.
- Concept 01: Welcome To Decision Trees
- Concept 02: Linearly Separable Data
- Concept 03: Multiple Linear Questions
- Concept 04: Constructing a Decision Tree First Split
- Concept 05: Constructing a Decision Tree 2nd Split
- Concept 06: Class Labels After Second Split
- Concept 07: Constructing A Decision Tree/Third Split
- Concept 08: Coding A Decision Tree
- Concept 09: Decision Tree Accuracy
- Concept 10: Decision Tree Parameters
- Concept 11: Min Samples Split
- Concept 12: Decision Tree Accuracy
- Concept 13: Data Impurity and Entropy
- Concept 14: Minimizing Impurity in Splitting
- Concept 15: Formula of Entropy
- Concept 16: Entropy Calculation Part 1
- Concept 17: Entropy Calculation Part 2
- Concept 18: Entropy Calculation Part 3
- Concept 19: Entropy Calculation Part 4
- Concept 20: Entropy Calculation Part 5
- Concept 21: Information Gain
- Concept 22: Information Gain Calculation Part 1
- Concept 23: Information Gain Calculation Part 2
- Concept 24: Information Gain Calculation Part 3
- Concept 25: Information Gain Calculation Part 4
- Concept 26: Information Gain Calculation Part 5
- Concept 27: Information Gain Calculation Part 6
- Concept 28: Information Gain Calculation Part 7
- Concept 29: Information Gain Calculation Part 8
- Concept 30: Information Gain Calculation Part 9
- Concept 31: Information Gain Calculation Part 10
- Concept 32: Tuning Criterion Parameter
- Concept 33: Bias-Variance Dilemma
- Concept 34: DT Strengths and Weaknesses
- Concept 35: Decision Tree Mini-Project Video
- Concept 36: Decision Tree Mini-Project
- Concept 37: Your First Email DT: Accuracy
- Concept 38: Speeding Up Via Feature Selection 1
- Concept 39: Changing the Number of Features
- Concept 40: SelectPercentile and Complexity
- Concept 41: Accuracy Using 1% of Features
-
Lesson 05: Choose Your Own Algorithm
In this mini project, you will extend your toolbox of algorithms by choosing your own algorithm to classify terrain data, including k-nearest neighbors, AdaBoost, and random forests.
- Concept 01: Choose Your own Algorithm
- Concept 02: Why Study a New Algorithm Solo?
- Concept 03: Choose Your Own Adventure
- Concept 04: Algorithm Options
- Concept 05: Investigation Process
- Concept 06: Choose-Your-Own Algorithm Checklist
- Concept 07: How Does Your Algorithm Compare
- Concept 08: Can You Beat Our High Score?
- Concept 09: L4_Mini Project
- Concept 10: Welcome to the end of the lesson
-
Lesson 06: Datasets and Questions
Find out about the Enron data set used in the next lessons and mini-projects.
- Concept 01: Introduction
- Concept 02: What Is A POI
- Concept 03: Accuracy vs. Training Set Size
- Concept 04: Downloading Enron Data
- Concept 05: Types of Data Quiz 1
- Concept 06: Types of Data Quiz 2
- Concept 07: Types of Data Quiz 3
- Concept 08: Types of Data Quiz 4
- Concept 09: Types of Data Quiz 5
- Concept 10: Types of Data Quiz 6
- Concept 11: Enron Dataset Mini-Project Video
- Concept 12: Datasets and Questions Mini-Project
- Concept 13: Size of the Enron Dataset
- Concept 14: Features in the Enron Dataset
- Concept 15: Finding POIs in the Enron Data
- Concept 16: How Many POIs Exist?
- Concept 17: Problems with Incomplete Data
- Concept 18: Query the Dataset 1
- Concept 19: Query the Dataset 2
- Concept 20: Query the Dataset 3
- Concept 21: Research the Enron Fraud
- Concept 22: Enron CEO
- Concept 23: Enron Chairman
- Concept 24: Enron CFO
- Concept 25: Follow the Money
- Concept 26: Unfilled Features
- Concept 27: Dealing with Unfilled Features
- Concept 28: Dict-to-array conversion
- Concept 29: Missing POIs 1 (optional)
- Concept 30: Missing POIs 2 (optional)
- Concept 31: Missing POIs 3 (optional)
- Concept 32: Missing POIs 4 (optional)
- Concept 33: Missing POIs 5 (optional)
- Concept 34: Missing POIs 6 (optional)
- Concept 35: Mixing Data Sources (optional)
-
Lesson 07: Regressions
See how we can model continuous data using linear regression.
- Concept 01: Continuous Output Quiz
- Concept 02: Continuous Quiz
- Concept 03: Age: Continuous or Discrete?
- Concept 04: Weather: Continuous or Discrete
- Concept 05: Email Author: Continuous or Discrete
- Concept 06: Phone Number: Continuous or Discrete?
- Concept 07: Income: Continuous or Discrete?
- Concept 08: Continuous Feature Quiz
- Concept 09: Supervised Learning w/ Continuous Output
- Concept 10: Equation of the Regression Line
- Concept 11: Slope and Intercept
- Concept 12: Slope Quiz
- Concept 13: Intercept Quiz
- Concept 14: Predictions Using Regression
- Concept 15: Adding An Intercept
- Concept 16: Handoff to Katie
- Concept 17: Coding It Up
- Concept 18: Age/Net Worth Regression in sklearn
- Concept 19: Extracting Information from sklearn
- Concept 20: Extracting Score Data from sklearn
- Concept 21: Linear Regression Errors
- Concept 22: Error Quiz
- Concept 23: Errors and Fit Quality
- Concept 24: Minimizing Sum of Squared Errors
- Concept 25: Algorithms for Minimizing Squared Errors
- Concept 26: Why Minimize SSE
- Concept 27: Problem with Minimizing Absolute Errors
- Concept 28: Evaluating Regression by Eye
- Concept 29: Problem with SSE
- Concept 30: R Squared Metric for Regression
- Concept 31: R Squared in SKlearn
- Concept 32: Visualizing Regression
- Concept 33: What Data Is Good For Linear Regression
- Concept 34: Comparing Classification and Regression
- Concept 35: Multivariate Regression Quiz
- Concept 36: Multi-Variate Regression Quiz 2
- Concept 37: Regression Mini-Project Video
- Concept 38: Regression Mini-Project
- Concept 39: Bonus Target and Features
- Concept 40: Visualizing Regression Data
- Concept 41: Extracting Slope and Intercept
- Concept 42: Regression Score: Training Data
- Concept 43: Regression Score: Test Data
- Concept 44: Regressing Bonus Against LTI
- Concept 45: Salary vs. LTI for Predicting Bonus
- Concept 46: Sneak Peek: Outliers Break Regressions
-
Lesson 08: Outliers
Sebastian discusses outlier detection and removal.
- Concept 01: Outliers in Regression
- Concept 02: What Causes Outliers
- Concept 03: Outlier Selection
- Concept 04: Outlier Detection/Removal Algorithm
- Concept 05: Outlier Detection Using Residual Errors
- Concept 06: Effect of Outlier Removal on Regression
- Concept 07: Summary of Outlier Removal Strategy
- Concept 08: Outliers Mini-Project Video
- Concept 09: Outliers Mini-Project
- Concept 10: Slope of Regression with Outliers
- Concept 11: Score of Regression with Outliers
- Concept 12: Slope After Cleaning
- Concept 13: Score After Cleaning
- Concept 14: Enron Outliers
- Concept 15: Identify the Biggest Enron Outlier
- Concept 16: Remove Enron Outlier?
- Concept 17: Any More Outliers?
- Concept 18: Identifying Two More Outliers
- Concept 19: Remove These Outliers?
-
Lesson 09: Clustering
Learn about what unsupervised learning is and find out how to use scikit-learn's k-means algorithm.
- Concept 01: Unsupervised Learning
- Concept 02: Clustering Movies
- Concept 03: How Many Clusters?
- Concept 04: Match Points with Clusters
- Concept 05: Optimizing Centers (Rubber Bands)
- Concept 06: Moving Centers 2
- Concept 07: Match Points (again)
- Concept 08: Handoff to Katie
- Concept 09: K-Means Cluster Visualization
- Concept 10: K-Means Clustering Visualization 2
- Concept 11: K-Means Clustering Visualization 3
- Concept 12: Sklearn
- Concept 13: Some challenges of k-means
- Concept 14: Limitations of K-Means
- Concept 15: Counterintuitive Clusters
- Concept 16: Counterintuitive Clusters 2
- Concept 17: Clustering Mini-Project Video
- Concept 18: K-Means Clustering Mini-Project
- Concept 19: Clustering Features
- Concept 20: Deploying Clustering
- Concept 21: Clustering with 3 Features
- Concept 22: Stock Option Range
- Concept 23: Salary Range
- Concept 24: Clustering Changes
-
Lesson 10: Feature Scaling
Learn about feature rescaling and find out which algorithms require feature rescaling before use.
- Concept 01: Chris's T-Shirt Size (Intuition)
- Concept 02: A Metric for Chris
- Concept 03: Height + Weight for Cameron
- Concept 04: Sarah's Height + Weight
- Concept 05: Chris's Shirt Size by Our Metric
- Concept 06: Comparing Features with Different Scales
- Concept 07: Feature Scaling Formula Quiz 1
- Concept 08: Feature Scaling Formula Quiz 2
- Concept 09: Feature Scaling Formula Quiz 3
- Concept 10: Min/Max Rescaler Coding Quiz
- Concept 11: Min/Max Scaler in sklearn
- Concept 12: Quiz on Algorithms Requiring Rescaling
- Concept 13: Feature Scaling Mini-Project Video
- Concept 14: Feature Scaling Mini-Project
- Concept 15: What Kind of Scaling
- Concept 16: Computing Rescaled Features
- Concept 17: When to Deploy Feature Scaling
-
Lesson 11: Text Learning
Find out how to use text data in your machine learning algorithm.
- Concept 01: Dimensions when Learning From Text
- Concept 02: Bag Of Words
- Concept 03: A Very Nice Day
- Concept 04: Mr. Day Loves a Nice Day
- Concept 05: Properties of Bag of Words
- Concept 06: Bag of Words in Sklearn
- Concept 07: Low-Information Words
- Concept 08: Stopwords
- Concept 09: Getting Stopwords from NLTK
- Concept 10: Stemming to Consolidate Vocabulary
- Concept 11: Stemming with NLTK
- Concept 12: Order of Operations in Text Processing
- Concept 13: Weighting by Term Frequency
- Concept 14: Why Upweight Rare Words
- Concept 15: Text Learning Mini-Project Video
- Concept 16: Text Learning Mini-Project
- Concept 17: Warming Up with parseOutText()
- Concept 18: Deploying Stemming
- Concept 19: Clean Away "Signature Words"
- Concept 20: TfIdf It
- Concept 21: Accessing TfIdf Features
-
Lesson 12: Feature Selection
Katie discusses when and why to use feature selection, and provides some methods for doing this.
- Concept 01: Why Feature Selection?
- Concept 02: A New Enron Feature
- Concept 03: A New Enron Feature Quiz
- Concept 04: Visualizing Your New Feature
- Concept 05: Beware of Feature Bugs!
- Concept 06: Example: Buggy Feature
- Concept 07: Getting Rid of Features
- Concept 08: Features != Information
- Concept 09: Univariate Feature Selection
- Concept 10: Feature Selection in TfIdf Vectorizer
- Concept 11: Bias, Variance, and Number of Features
- Concept 12: Bias, Variance & Number of Features Pt 2
- Concept 13: Overfitting by Eye
- Concept 14: Balancing Error with Number of Features
- Concept 15: Regularization
- Concept 16: Lasso Regression
- Concept 17: Lasso Code Quiz
- Concept 18: Lasso Prediction with sklearn Quiz
- Concept 19: Lasso Coefficients with sklearn Quiz
- Concept 20: Using Lasso in sklearn Quiz
- Concept 21: Feature Selection Mini-Project Video
- Concept 22: Feature Selection Mini-Project
- Concept 23: Overfitting a Decision Tree 1
- Concept 24: Overfitting a Decision Tree 2
- Concept 25: Number of Features and Overfitting
- Concept 26: Accuracy of Your Overfit Decision Tree
- Concept 27: Identify the Most Powerful Features
- Concept 28: Use TfIdf to Get the Most Important Word
- Concept 29: Remove, Repeat
- Concept 30: Checking Important Features Again
- Concept 31: Accuracy of the Overfit Tree
-
Lesson 13: PCA
Learn about data dimensionality and reducing the number of dimensions with principal component analysis (PCA).
- Concept 01: Data Dimensionality
- Concept 02: Trickier Data Dimensionality
- Concept 03: One-Dimensional, or Two?
- Concept 04: Slightly Less Perfect Data
- Concept 05: Trickiest Data Dimensionality
- Concept 06: PCA for Data Transformation
- Concept 07: Center of a New Coordinate System
- Concept 08: Principal Axis of New Coordinate System
- Concept 09: Second Principal Component of New System
- Concept 10: Practice Finding Centers
- Concept 11: Practice Finding New Axes
- Concept 12: Which Data is Ready for PCA
- Concept 13: When Does an Axis Dominate
- Concept 14: Measurable vs. Latent Features Quiz
- Concept 15: From Four Features to Two
- Concept 16: Compression While Preserving Information
- Concept 17: Composite Features
- Concept 18: Maximal Variance
- Concept 19: Advantages of Maximal Variance
- Concept 20: Maximal Variance and Information Loss
- Concept 21: Info Loss and Principal Components
- Concept 22: Neighborhood Composite Feature
- Concept 23: PCA for Feature Transformation
- Concept 24: Maximum Number of PCs Quiz
- Concept 25: Review/Definition of PCA
- Concept 26: Applying PCA to Real Data
- Concept 27: PCA on the Enron Finance Data
- Concept 28: PCA in sklearn
- Concept 29: When to Use PCA
- Concept 30: PCA for Facial Recognition
- Concept 31: Eigenfaces Code
- Concept 32: PCA Mini-Project Intro
- Concept 33: PCA Mini-Project
- Concept 34: Explained Variance of Each PC
- Concept 35: How Many PCs to Use?
- Concept 36: F1 Score vs. No. of PCs Used
- Concept 37: Dimensionality Reduction and Overfitting
- Concept 38: Selecting Principal Components
-
Lesson 14: Validation
Learn more about testing, training, cross validation, and parameter grid searches in this lesson.
- Concept 01: Cross Validation for Fun and Profit
- Concept 02: Benefits of Testing
- Concept 03: Train/Test Split in sklearn
- Concept 04: Where to use training vs. testing data 1
- Concept 05: Where to use training vs. testing data 2
- Concept 06: Where to use training vs. testing data 3
- Concept 07: Where to use training vs. testing data 4
- Concept 08: K-Fold Cross Validation
- Concept 09: K-Fold CV in sklearn
- Concept 10: Practical Advice for K-Fold in sklearn
- Concept 11: Cross Validation for Parameter Tuning
- Concept 12: GridSearchCV in sklearn
- Concept 13: GridSearchCV in sklearn
- Concept 14: On to the Validation Mini-Project
- Concept 15: Validation Mini-Project Video
- Concept 16: Validation Mini-Project
- Concept 17: Your First (Overfit) POI Identifier
- Concept 18: Deploying a Training/Testing Regime
-
Lesson 15: Evaluation Metrics
How do we know if our classifier is performing well? Katie discusses different evaluation metrics for classifiers in this lesson.
- Concept 01: Welcome to Evaluation Metrics Lesson
- Concept 02: Accuracy Review
- Concept 03: Shortcomings of Accuracy
- Concept 04: Picking the Most Suitable Metric
- Concept 05: Confusion Matrices
- Concept 06: Confusion Matrix Practice 1
- Concept 07: Confusion Matrix Practice 2
- Concept 08: Filling in a Confusion Matrix
- Concept 09: Confusion Matrix: False Alarms
- Concept 10: Decision Tree Confusion Matrix
- Concept 11: Confusion Matrix for Eigenfaces
- Concept 12: How Many Schroeders
- Concept 13: How Many Schroeder Predictions
- Concept 14: Classifying Chavez Correctly 1
- Concept 15: Classifying Chavez Correctly 2
- Concept 16: Precision and Recall
- Concept 17: Powell Precision and Recall
- Concept 18: Bush Precision and Recall
- Concept 19: True Positives in Eigenfaces
- Concept 20: False Positives in Eigenfaces
- Concept 21: False Negatives in Eigenfaces
- Concept 22: Practicing TP, FP, FN with Rumsfeld
- Concept 23: Equation for Precision
- Concept 24: Equation for Recall
- Concept 25: Welcome to the End of Evaluation Lesson
- Concept 26: Evaluation Mini-Project Video
- Concept 27: Applying Metrics to Your POI Identifier
- Concept 28: Number of POIs in Test Set
- Concept 29: Number of People in Test Set
- Concept 30: Accuracy of a Biased Identifier
- Concept 31: Number of True Positives
- Concept 32: Unpacking Into Precision and Recall
- Concept 33: Recall of Your POI Identifier
- Concept 34: How Many True Positives?
- Concept 35: How Many True Negatives?
- Concept 36: False Positives?
- Concept 37: False Negatives?
- Concept 38: Precision
- Concept 39: Recall
- Concept 40: Making Sense of Metrics 1
- Concept 41: Making Sense of Metrics 2
- Concept 42: Making Sense of Metrics 3
- Concept 43: Making Sense of Metrics 4
- Concept 44: Metrics for Your POI Identifier
-
Lesson 16: Tying It All Together
Spend some time reflecting on the course material with Sebastian and Katie!
-
Part 17 (Elective): Matrix Math and Numpy Refresher
-
Module 01: Matrix Math and Numpy Refresher
-
Lesson 01: Matrix Math and NumPy Refresher
In this lesson, you'll review the matrix math you'll need to understand to build your neural networks. You'll also explore NumPy, the library you'll use to efficiently deal with matrices in Python.
- Concept 01: Introduction
- Concept 02: Data Dimensions
- Concept 03: Data in NumPy
- Concept 04: Element-wise Matrix Operations
- Concept 05: Element-wise Operations in NumPy
- Concept 06: Matrix Multiplication: Part 1
- Concept 07: Matrix Multiplication: Part 2
- Concept 08: NumPy Matrix Multiplication
- Concept 09: Matrix Transposes
- Concept 10: Transposes in NumPy
- Concept 11: NumPy Quiz
-
Part 18 (Elective): [New] Introduction to Python
-
Module 01: New Lessons
-
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, built-in 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 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: 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: Third-Party Libraries
- Concept 27: Experimenting with an Interpreter
- Concept 28: Online Resources
- Concept 29: Conclusion
-
Part 19 (Elective): Introduction to Python
Learn Python programming fundamentals such as data types and structures, variables, loops, and functions.
-
Module 01: Lessons
-
Lesson 01: Numbers and Strings
In this lesson you will learn how to use Python's numeric and string data types. You will use built-in functions and methods to process this data, and store the results in variables
- Concept 01: Welcome!
- Concept 02: Arithmetic
- Concept 03: Integers and Floats
- Concept 04: Errors
- Concept 05: Variables I
- Concept 06: Variables II
- Concept 07: Comparison Operators
- Concept 08: Strings I
- Concept 09: Built-in Functions
- Concept 10: Types and Type Conversion
- Concept 11: String Methods I
- Concept 12: String Methods II
-
Lesson 02: Functions, Installation and Conditionals
In this lesson you will install Python on your own computer. You will learn how to define functions, and how to use conditional statements to write more elaborate programs. We will also practice our software engineering skills by learning how to break programs down into manageable pieces.
- Concept 01: Welcome Back!
- Concept 02: Defining Functions I
- Concept 03: Defining Functions II
- Concept 04: Defining Functions III
- Concept 05: Put a Python In Your Computer
- Concept 06: Python Programming Setup
- Concept 07: Code with Branches I
- Concept 08: Code with Branches II
- Concept 09: Code with Branches III
- Concept 10: Code with Branches IV
- Concept 11: Code with Branches V
- Concept 12: Breaking Programs Into Smaller Pieces
- Concept 13: Outlining and Building a Program
- Concept 14: Building Program Pieces I
- Concept 15: Building Program Pieces II
- Concept 16: Building Program Pieces III
- Concept 17: Building Program Pieces IV
- Concept 18: Putting together the Pieces
-
Lesson 03: Data Structures and Loops
In this lesson you will learn how to use Python's collections: lists, sets and dictionaries. You will learn how to iterate over these collections with for loops and while loops. You will also learn how to build compound data structures that combine these collections. We will practice the software engineering skills of refactoring and self-reliant problem solving.
- Concept 01: Welcome Back!
- Concept 02: Lists
- Concept 03: Lists II
- Concept 04: For Loops
- Concept 05: For Loops II
- Concept 06: While Loops
- Concept 07: While Loops II
- Concept 08: Reorganizing Code
- Concept 09: Reorganizing Code II
- Concept 10: Sets
- Concept 11: Sets II
- Concept 12: Dictionaries
- Concept 13: Dictionaries II
- Concept 14: Dictionaries III
- Concept 15: Dictionaries IV
- Concept 16: Compound Data Structures
- Concept 17: Compound Data Structures II
- Concept 18: Problem Solving Skills
-
Lesson 04: Files and Modules
In this lesson you will extend your knowledge of functions by learning how to specify default arguments and how to return multiple value from a function. You will learn how to read from files. You will also learn how to import modules from Python's standard library, and how to install third-party libraries. We will also learn more about reliant problem solving.
- Concept 01: Tuples
- Concept 02: Tuples II
- Concept 03: Default Arguments
- Concept 04: Variable Scope
- Concept 05: Reading from a File
- Concept 06: Reading from a File II
- Concept 07: The Standard Library
- Concept 08: The Standard Library II
- Concept 09: Third-Party Libraries
- Concept 10: Using Online Resources
-
Lesson 05: Optional Case Study: Wikipedia Web Crawl
In this lesson we will apply the skills learned previously by writing a web crawler that explores Wikipedia.
- Concept 01: Case Study Introduction
- Concept 02: Laying the Groundwork
- Concept 03: Designing the Program
- Concept 04: Implementing the Program
- Concept 05: Implementing the Program II
- Concept 06: Implementing the Program III
- Concept 07: Iterative Programming I
- Concept 08: Iterative Programming II
- Concept 09: Iterative Programming III
- Concept 10: Finishing Touches
- Concept 11: Conclusion
-