Requirements: Upper Division

Based on changes to L&S policy, courses completed at UC Berkeley with a grade of Pass in Spring 2020, Fall 2020, Spring 2021, and Summer 2021 will count toward Data Science major requirements, including prerequisites to declare the major. Please see the L&S P/NP policy modifications for more information.


  • To satisfy the requirements of the major, all courses must be taken for a letter grade and passed with a 'C-' or higher.
  • Students must maintain a 'C' average in courses taken for the major, and in the upper-division courses taken for the major.
  • A minimum 2.0 overall Grade Point Average is required to remain in good standing.

See details about each of the upper-division requirements and the lists of courses that satisfy each in the drop-down menus below.


The Data Science B.A. degree is offered by the College of Letters & Science, and students must also plan to meet all L&S College requirements in order to graduate.

The Data Science major requires a minimum of 8 upper-division courses, totaling a minimum of 28 upper-division units, effective Fall 2019. Along with Computational and Inferential Depth, Probability, Modeling, Machine Learning, Decision Making, and Human Contexts and Ethics (all detailed below), students will also select and complete a Domain Emphasis. Learn more about the Domain Emphasis requirement here.

A single course may not be used to fulfill more than one requirement within the requirements of the major.

Data 100: Principles and Techniques of Data Science

Acceptable courses:

Computational & Inferential Depth

A student will be required to take two courses comprising 7 or more units from a list of advanced courses providing computational and inferential depth (C&ID) beyond that provided in Data 100 and the lower division (see below).

It is recognized that, currently, some of these courses have prerequisites that are not formally within the major, so for some combinations  students may need to use electives to complete those. However, many options are available that do not place such demands.

  • ASTRON 128. Astronomy Data Science Laboratory (4 units)

  • COMPSCI 161. Computer Security (4 units)

  • COMPSCI 162. Operating Systems and Systems Programming (4 units)

  • COMPSCI 164. Programming Languages and Compilers (4 units)

  • COMPSCI 168. Introduction to the Internet: Architecture and Protocols (4 units)

  • COMPSCI 169 or 169A or W169 or W169A. Software Engineering (3-4 units)

  • COMPSCI 169L. Software Engineering Team Project (2 units) may be combined with COMPSCI 169A or W169A, may not be combined with COMPSCI 169

  • COMPSCI 170. Efficient Algorithms and Intractable Problems (4 units)

  • COMPSCI 186 or W186. Introduction to Database Systems (4 units)

  • COMPSCI 188. Introduction to Artificial Intelligence (4 units)

  • DATA 144 / INFO 154. Data Mining and Analytics (3 units)

  • ECON 140. Economic Statistics and Econometrics (4 units) 

    • OR ECON 141. Econometric Analysis (4 units)

  • EECS 127. Optimization Models in Engineering (4 units)

  • EL ENG 120. Signals and Systems (4 units)

  • EL ENG 123. Digital Signal Processing (4 units)

  • EL ENG 129. Neural and Nonlinear Information Processing (3 units) [no longer offered]

  • ENVECON C118 / IAS C118. Introductory Applied Econometrics (4 units)

  • ESPM 174. Design and Analysis of Ecological Research (4 units)

  • IND ENG 115. Industrial and Commercial Data Systems (3 units)

  • IND ENG 135. Applied Data Science with Venture Applications (3 units)

  • IND ENG 165. Engineering Statistics, Quality Control and Forecasting (4 units)

  • IND ENG 173. Introduction to Stochastic Processes (3 units) 

  • INFO 159. Natural Language Processing (4 units)  [formerly 3 units]

  • INFO 190-1. Introduction to Data Visualization (4 units) - only when offered with this topic [formerly 3 units]

  • NUC ENG 175. Methods of Risk Analysis (3 units) 

  • PHYSICS 188. Bayesian Data Analysis and Machine Learning for Physical Sciences (4 units)   [formerly offered as PHYSICS 151]

  • STAT 135. Concepts of Statistics (4 units)

  • STAT 150. Stochastic Processes (3 units)

  • STAT 151A. Linear Modelling: Theory and Applications (4 units)

  • STAT 152. Sampling Surveys (4 units)

  • STAT 153. Introduction to Time Series (4 units)

  • STAT 158. The Design and Analysis of Experiments (4 units)

  • STAT 159. Reproducible and Collaborative Statistical Data Science (4 units)

  • UGBA 147 - Advanced Business Analytics (3 units) - only when offered with this topic 

  • *COMPSCI 194. Data Engineering (4 units) - approved only with this topic in Spring 2021
**Students may only count ONE of these three courses towards the major: IND ENG 173 or STAT 150 (from C&ID), or EECS 126 (from Probability).


A student will be required to take one course in probability. An understanding of probability is essential for dealing with uncertainty and randomness, the algebraic properties of estimation, the ability to formulate and comprehend stochastic simulations, and many other aspects of data science theory and practice. 

Acceptable courses:

  • STAT 134. Concepts of Probability (4 units)
  • DATA / STAT C140. Probability for Data Science (4 units)
  • IND ENG 172. Probability and Risk Analysis for Engineers (4 units) [formerly offered for 3 units]
  • EECS 126. Probability and Random Processes (4 units) [formerly EL ENG 126]

**Students may only count ONE of these three courses towards the major: IND ENG 173 or STAT 150 (from C&ID), or EECS 126 (from Probability).

Modeling, Learning, and Decision-Making

A student will be required to complete one course in modeling, learning, and decision-making.

Acceptable courses:

  • COMPSCI 182 or L182 or W182. Designing, Visualizing, and Understanding Deep Networks (4 units)
  • COMPSCI 189. Introduction to Machine Learning (4 units)
  • DATA / STAT C102. Data, Inference, and Decisions (4 units)
  • IND ENG 142. Introduction to Machine Learning & Data Analytics (3 units)
  • STAT 154. Modern Statistical Prediction & Machine Learning (4 units)

Human Contexts and Ethics

Students will be required to take one course from a curated list of courses that establish a human, social, and ethical context in which data analytics and computational inference play a central role. The purpose of this requirement is to equip the student with an understanding of the human and social structures, formations, and practices that shape data science activity (such as data collection and analysis, data stewardship and governance, work to ensure privacy and security, deployment of data in societal or organizational settings, decision-making with data, engagements of data with justice, practices of data ethics) and to allow them to gain experience and practice with modes of critical thinking, reflection, and engagement with these experiences and the choices involved. 

Acceptable courses:

  • AMERSTD / AFRICAM 134 or C134. Information Technology and Society (4 units)
  • BIO ENG 100. Ethics in Science and Engineering (3 units)
  • CY PLAN 101. Introduction to Urban Data Analytics (4 units)
  • DATA C104 / HISTORY C184D / STS C104. Human Contexts and Ethics of Data  (4 units) 
  • DIG HUM 100. Theory and Method in the Digital Humanities (3 units)
  • ESPM C167 / PUB HLTH C160. Environmental Health and Development (4 units)
  • INFO 188. Beyond the Data: Humans and Values (3 units)
  • ISF 100J. The Social Life of Computing (4 units)
  • NWMEDIA 151AC. Transforming Tech: Issues and Interventions in STEM and Silicon Valley (4 units)
  • PHILOS 121. Moral Questions of Data Science (4 units)

Domain Emphasis

Domain Emphases give students a grounded understanding of a particular domain of data-intensive research, relevant theory, or an integrative intellectual thread. A Domain Emphasis is comprised of three courses chosen from a list. Each Domain Emphasis is rooted in a lower division course, which is typically also a prerequisite for the upper division courses. 

See the full list of available Domain Emphasis options.

Need advising?

Data Science advisors are available to help! Email us at, or find out about our other advising services.


The major program is designed to provide integrative course experiences in the lower division and upper division, as well as the technical depth in computation and inference required for students to engage in data science upon graduation.

Data 100, Principles and Techniques of Data Science (CS/STAT C100), explores the data science lifecycle and focuses on quantitative critical thinking​ and key principles and techniques needed to carry out this cycle.  It bridges between Foundations of Data Science (Data 8) and upper division courses.