Resources
Exam Resources
Semester  Midterm (1)  Midterm 2  Final 

Spring 2021  Exam (Solutions)  
Fall 2020  Exam (Solutions)  Exam (Solutions)  
Summer 2020  Exam (Solutions)  Exam (Solutions)  Exam (Solutions) 
Spring 2020  Checkpoint (Solutions)  N/A  
Fall 2019  Exam (Solutions)  Exam (Solutions)  Exam (Solutions) 
Summer 2019  Exam (Solutions) [Video]  Exam (Solutions)  
Spring 2019  Exam (Solutions) [Video]  Exam (Solutions) [Video]  Exam (Solutions) 
Fall 2018  Exam (Solutions)  Exam (Solutions)  
Spring 2018  Exam (Solutions)  Exam (Solutions) [Video]  
Fall 2017  Exam (Solutions) [Video]  Exam (Solutions)  
Spring 2017  Exam (Solutions)  Exam (Solutions) 
Spring 2020 Checkpoint Reference Sheet
Fall 2019 Midterm 1 Reference Sheet
Spring 2019 Midterm 1 Reference Sheet
Other Resources
We will be posting all lecture materials on the course syllabus. In addition, they will also be listed in the following publicly visible Github Repo.
Here is a collection of resources that will help you learn more about various concepts and skills covered in the class. Learning by reading is a key part of being a well rounded data scientist. We will not assign mandatory reading but instead encourage you to look at these and other materials. If you find something helpful, post it on Piazza, and consider contributing it to the course website.
You can send us changes to the course website by forking and sending a pull request to the course website github repository. You will then become part of the history of Data 100 at Berkeley.
Local Setup
Click here to read our guide on how to set up our development environment locally (as an alternative to using DataHub).
SQL Resources
We’ve assembled some SQL Review Slides to help you brush up on SQL. We’ve also compiled a list of SQL practice problems, which can be found here, along with their solutions.
This SQL Cheat Sheet is an awesome resource that was created by Luke Harrison, a former Data 100 student.
Probability Practice
We’ve compiled a few practice probability problems that we believe may help in understanding the ideas covered in the course. They can be found here, along with their solutions.
We’d also like to point you to the textbook for Stat 88, an introductory probability course geared towards data science students at Berkeley.
Regex Practice
We’ve organized some regex problems to help you get extra practice on regex in a notebook format. They can be found here, along with their solutions.
Web References
As a data scientist you will often need to search for information on various libraries and tools. In this class we will be using several key python libraries. Here are their documentation pages:

The Bash Command Line:
 Linux and Bash: Intro to Linux, Cloud Computing (which you can skip for the purposes of this class), and the Bash command line. You can skip all portions that don’t pertain to using the command line.
 Bash Part 2: Part 2 of the intro to command line.
 Python:
 Python Tutorial: Teach yourself python. This is a pretty comprehensive tutorial.
 Python + Numpy Tutorial this tutorial provides a great overview of a lot of the functionality we will be using in DS100.
 Python 101: A notebook demonstrating a lot of python functionality with some (minimal explanation).
 Data Visualization:
 matplotlib.pyplot tutorial: This short tutorial provides an overview of the basic plotting utilities we will be using.
 Altair Documentation: Altair(VegaLite) is a new and powerful visualization library. We might not get to teach it this semester, but you should check it out if you are interested in pursuing visualization deeper. In particular, you should find the example gallery helpful.
 Prof. Jeff Heer’s Visualization Curriculum: This repository contains a series of Pythonbased Jupyter notebooks that teaches data visualization using VegaLite and Altair.
 If you are interested in learning more about data visualization, you can find more materials in:
 Edward Tufte’s book sequences – a classic!
 Prof. Heer’s class.

Pandas:
 The Pandas Cookbook: This provides a nice overview of some of the basic Pandas functions. However, it is slightly out of date.
 Learn Pandas A set of lessons providing an overview of the Pandas library.
 Python for Data Science Another set of notebook demonstrating Pandas functionality.
Books
Because data science is a relatively new and rapidly evolving discipline there is no single ideal textbook for this subject. Instead we plan to use reading from a collection of books all of which are free. However, we have listed a few optional books that will provide additional context for those who are interested.

Principles and Techniques of Data Science This is the accompanying textbook written for DS100 course.

Introduction to Statistical Learning (Free online PDF) This book is a great reference for the machine learning and some of the statistics material in the class

Data Science from Scratch (Available as eBook for Berkeley students) This more applied book covers many of the topics in this class using Python but doesn’t go into sufficient depth for some of the more mathematical material.

Doing Data Science (Available as eBook for Berkeley students) This books provides a unique casestudy view of data science but uses R and not Python.

Python for Data Analysis (Available as eBook for Berkeley students). This book provides a good reference for the Pandas library.
Data Science Education
Interested in bringing the Data Science major or curriculum to your academic institution? Please fill out this form if you would like support from Berkeley in offering some variant of our Data Science courses at your institution (or just to let us know that you’re interested). Information about the courses appear at data8.org and ds100.org. Please note that this form is for instructors. If you are only interested in learning Python or data science, please look at our Data 8 or Data 100 websites mentioned above.