Introduction to Computational Thinking with Data Science and Society
This foundational Data Science course combines inferential and computational thinking as applied to the fundamentals of quantitative social inquiry. Apply critical concepts and skills in computer programming to conduct quantitative social science research in various contexts, including economic outcomes, public health, environmental justice, privacy, bioethics, and social networks. Understand the process of using data for quantitative analysis and how to develop a variety of figures, combined with text, to communicate their findings. The focus is on data exploration and identifying patterns relevant to social concepts, rather than inferences and predictions. The course can serve as a precursor to Data 8: Foundations of Data Science.
Topics
- C6 takes advantage of the complementarity of computing and quantitative reasoning to enliven abstract ideas and build students’ confidence in their ability to solve real problems with quantitative tools. Students learn computer science concepts and immediately apply them to plot functions, visualize data, and simulate random events. Foundations of Data Science (CS/Info/Stat C8, a.k.a. Data 8) is an increasingly popular class for entering students at Berkeley. Data 8 builds students’ computing skills in the first month of the semester, and students rely on these skills as the course progresses. For some students, particularly those with little prior exposure to computing, developing these skills benefits from further time and practice. C6 is a rapid introduction to Python programming, visualization, and data analysis, which will prepare students for success in Data 8. C6 also includes quantitative reasoning concepts that aren’t covered in Data 8. These include certain topics in: principles of data visualization; simulation of random processes; and understanding numerical functions through their graphs. This will help prepare students for computational and quantitative courses other than Data 8.
- Perform basic computations in Python, and be able to work with tabular data. Understand the syntactic structure of Python code. Use good practices in Python programming. Formulate questions about data and perform exploratory data analysis. Appreciate the interdisciplinary nature of data science. Create and use visualizations to understand univariate data and to identify associations or causal relationships in bivariate data. Run and understand basic probabilistic simulations.
Official catalogue course objectives and student learning outcomes
Sources
- Course catalogue ↗2026-2027