Learn Data Science
Data Science Lessons each contain a deep-dive into core Data Science topics, divided up into six modules. Every single lesson contains conversation "office hour"-style lectures with Professors Wade Fagen-Ulmschneider and Karle Flanagan, written explanations, example worksheets, practice questions, and more!

Module 1: Basics of Data Science with Python
"Basics of Data Science with Python" provides a strong introduction of the field of Data Science. You will understand best practices in designing good, great, and ideal experiments, use Python to load data into DataFrame, and manipulate DataFrames in Python to explore subsets of data.
1-01ยป What is Data Science?1-02ยป Python for Data Science: Introduction to DataFrames1-03ยป Row Selection with DataFrames1-04ยป Types of Data1-05ยป DataFrames with Conditionals1-06ยป Experimental Design and Blocking1-07ยป Observational Studies, Confounders, and Stratification1-08ยป Lists and Functions in Python

Module 2: Exploratory Data Analysis
"Exploratory Data Analysis" teaches about the tools and techniques to begin to do exploratory data analysis on real-world datasets. You will learn several methods of analyzing statistical properties of the data and how to calculate and apply these properties using Python. Finally, you will create simple data visualizations showing an overview of the data.
2-01ยป Exploratory Data Analysis Overview2-02ยป Descriptive Statistics2-03ยป Adding Rows and Columns to a DataFrame2-04ยป Grouping Data in Python2-05ยป Histograms2-06ยป Quartiles and Box Plots2-07ยป Basic Data Visualization in Python

Module 3: Simulation and Distributions
"Simulation and Distributions" provides an exploration into the world of computer simulations. Beginning with simulating simple events, like rolling a dice where the expected outcome is known, you gradually build increasingly complex simulations. You will find many simulations result in common distributions, such as the Normal Distribution, which you will learn has many interesting properties all its own.
3-01ยป Overview of Simulation3-02ยป Random Numbers in Python3-03ยป For-Loops in Python3-04ยป Simple Simulations in Python3-05ยป Sample Space3-06ยป Conditionals in Python3-07ยป Functions in Python3-08ยป Normal Distribution3-09ยป Law of Large Numbers

Module 4: Prediction and Probability
"Prediction and Probability" begins with a deep-dive into probability and using probabilities to make informed predictions on future events. You will complete dozens of problems on basic probability, explore how to describe dependent probabilistic events, and use Python to make predictions under uncertainty.
4-01ยป Probability Introduction4-02ยป Multi-event Probability: Multiplication Rule4-03ยป Complements and Special Cases4-04ยป Multi-event Probability: Addition Rule4-05ยป Conditional Probability4-06ยป Bayes' Theorem

Module 5: Towards Machine Learning
"Towards Machine Learning" applies all of the foundational knowledge applied in the previous modules to using modern techniques to help computers discover common similarities in data and to predict future outcomes based on previously-seen events. Completion of this and all other modules provides you with the ability to advance to dedicated machine learning courses.
5-01ยป Overview of Machine Learning5-02ยป Correlation5-03ยป Simple Linear Regression5-04ยป Linear Regression in Python (sk-learn)5-05ยป Test/Train Split5-07ยป Clustering

Module 6: Polling, Confidence Intervals, and the Normal Distribution
"Polling, Confidence Intervals, and the Normal Distribution" starts with an exploration of different sampling techniques. You will learn how bias and sampling variability can affect the results of surveys. From that, you know how to use expectation and inference as a way to make predictions and decisions under uncertainty.
6-01ยป Random Variables6-02ยป Bernoulli & Binomial Random Variables6-03ยป Python Functions for Random Distributions6-04ยป Central Limit Theorem6-05ยป Polling and Sampling6-06ยป Confidence Intervals6-07ยป Hypothesis Testing