Welcome to Data Science Discovery!

Data Science Discovery is an open-access data science resource created by The University of Illinois and used as the basis for STAT/CS/IS 107: Data Science Discovery and several other courses. Our mission is to create the most valuable Data Science resource available, both for students at The University of Illinois and for any other learner online.

You will find hundreds of pages of high-quality content, primarily divided up into four sections:

  • 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!
  • Data Science Guides are short, solution-focused examples of common tasks in Data Science. We create several new guides each week, so there is constantly something new!
  • Data Science Datasets are clean, documented, and relevant datasets for Data Science. As we use a new dataset in any of courses or research, we add the dataset here for you to use!
  • Data Science Projects are a new feature for Fall 2022, which we're excited to kick-off in September!


Data Science Guides are our short, solution-focused examples of common tasks in Data Science. Here's a few of the latest:


MicroProjects are detailed but small projects designed to do real Data Science in under an hour!


Our datasets are clean, documented, and relevant datasets for Data Science. Here's the latest datasets we've been nerding out with:

Learn Data Science!

Begin learning Data Science through diving into the six "badges", each with many sections to explore individual topics:

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.

This module has nine sections:

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.

This module has six sections:

Module 3: 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.

This module has six sections:

Module 4: 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.

This module has eight sections:

Module 5: 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.

This module has seven sections:

Module 6: 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.

This module has six sections: