This repository contains the materials for COMPSS 211. We focus on practical tools and techniques in Python to collect, manage, and analyze data at scale. Key topics include:
- Local Computing: Command-line operations and version control with Git and Github.
- Data Acquisition: Using web APIs to retrieve data and web scraping/crawling to collect data when APIs aren’t available.
- Deployment / Remote Computing: Working with cloud and container technologies – for example, launching computations on Google Cloud and using Docker for reproducible environments.
- Natural Language Processing (NLP): Fundamental text processing and analysis techniques for social science data.
- Coding in the Age of LLMs: Integrating Large Language Models (like GPT) into the coding workflow. Students will learn how to prompt AI coding assistants and critically evaluate and debug AI-generated code.
Throughout the course, students will apply these skills to real-world computational social science problems. We will use datasets to practice methods and ultimately drive a final project that tells a social science story with data. By the end, students will be equipped to fetch data from diverse sources, manage code collaboratively, leverage AI and cloud tools, and build end-to-end computational workflows.
You can run this course repository directly in your browser using GitHub Codespaces, without needing to install anything locally.
- Click the green “<> Code” button near the top of this page.
- Select “Open with Codespaces” → “New codespace.”
- GitHub will launch a ready-to-use development environment where you can run notebooks and edit files.
Once your Codespace is open, you can:
- Open any
.ipynb
file and run code immediately - Use the terminal to run commands (e.g.,
git pull
each week to get new materials) - Add your own notes or save code changes
- Use Github copilot
Each week: Simply open your existing Codespace and run
git pull
in the terminal to fetch the latest updates from the course repository. We will add each week’s materials in a new/weekXX/
folder.
Note: Make sure to commit and push your changes to your personal GitHub repo if you want to save work between sessions, or download your work as
.ipynb
files when done.
Let us know during class or office hours if you run into any issues using Codespaces. We’ll walk through this setup together in Week 1.
Anaconda is a useful package management software that allows you to run Python and Jupyter notebooks easily. Installing Anaconda allows you to run the materials for this workshop on your local machine. If you would like to run Python on your own computer, complete the following steps prior to the workshop:
-
Download and install Anaconda. Click the "Download" button.
-
Download the workshop materials (this repo):
- Click the green "Code" button in the top right of the repository information.
- Click "Download Zip".
- Extract this file to a folder on your computer where you can easily access it (we recommend Desktop).
-
Optional: if you're familiar with
git
, you can instead clone this repository by opening a terminal and entering the commandgit clone [email protected]:dlab-berkeley/COMPSS-211a.git
.
D-Lab works with Berkeley faculty, research staff, and students to advance data-intensive social science and humanities research. Our goal at D-Lab is to provide practical training, staff support, resources, and space to enable you to use Python and R for your own research applications. Our services cater to all skill levels and no programming, statistical, or computer science backgrounds are necessary. We offer these services in the form of workshops, one-to-one consulting, and working groups that cover a variety of research topics, digital tools, and programming languages.
Visit the D-Lab homepage to learn more about us. You can view our calendar for upcoming events, learn about how to utilize our consulting and check out upcoming workshops. Subscribe to our newsletter to stay up to date on D-Lab events, services, and opportunities.
D-Lab offers a variety of Python workshops, catered toward different levels of expertise.