Principles and Techniques of Data Science

Data 100, Spring 2020

Ani Adhikari

Ani Adhikari

Joey Gonzalez

Joey Gonzalez


We will not be updating this page with announcements. For the latest announcements, make sure to check our Piazza.

Important Information

  • When: Tuesdays and Thursdays, 9:30am-11:00am
  • Where: 150 Wheeler
  • What: See the syllabus
  • News: We will post updates about the class on Piazza.

This class is listed as CS C100 (undergraduate) and CS C200A (graduate). Be sure to register for one of these two classes.


  • Prepare students for advanced Berkeley courses in data-management, machine learning, and statistics, by providing the necessary foundation and context
  • Enable students to start careers as data scientists by providing experience working with real-world data, tools, and techniques
  • Empower students to apply computational and inferential thinking to address real-world problems


While we are working to make this class widely accessible we currently require the following (or equivalent) prerequisites. We are not enforcing prerequisites during enrollment. However, all of the prerequisties will be used starting very early on in the class. It is your responsibility to know the material in the prerequisites.:

  • Foundations of Data Science: Data8 covers much of the material in DS100 but at an introductory level. Data8 provides basic exposure to python programming and working with tabular data as well as visualization, statistics, and machine learning.
  • Computing: The Structure and Interpretation of Computer Programs (CS 61A) or Computational Structures in Data Science (CS 88). These courses provide additional background in python programming (e.g., for loops, lambdas, debugging, and complexity) that will enable DS100 to focus more on the concepts in Data Science and less on the details of programming in python.
  • Math: Linear Algebra (Math 54, EE 16a, or Stat89a): We will need some basic concepts like linear operators, eigenvectors, derivatives, and integrals to enable statistical inference and derive new prediction algorithms. This may be satisfied concurrently to DS100.

About Data 100

Combining data, computation, and inferential thinking, data science is redefining how people and organizations solve challenging problems and understand their world. This intermediate level class bridges between Data8 and upper division computer science and statistics courses as well as methods courses in other fields. In this class, we explore key areas of data science including question formulation, data collection and cleaning, visualization, statistical inference, predictive modeling, and decision making.‚Äč Through a strong emphasis on data centric computing, quantitative critical thinking, and exploratory data analysis, this class covers key principles and techniques of data science. These include languages for transforming, querying and analyzing data; algorithms for machine learning methods including regression, classification and clustering; principles behind creating informative data visualizations; statistical concepts of measurement error and prediction; and techniques for scalable data processing.