UC Berkeley · Fall 2026
CP 101
Introduction to Urban Data Analytics
What can we learn about a city from its data, and what does the data leave out?
Course overview
Urban data analytics is the practice of using data to understand how cities work: how people move through them, what they can reach, how neighborhoods change, and which groups of people the available data represents and which ones it misses. Cities produce this data constantly, through building permits, transit feeds, street networks, 311 complaints, to name a few. The data gets used to decide where a bus line runs, which block gets repaved, and which neighborhood is labeled underserved. Data availability drives where decisions get focused, so a place or a group that goes unmeasured tends to go unaddressed. Learning to work with this data means learning to take part in those decisions instead of only receiving them.
Through our course, we want to explore how we should keep people at the center of the analysis, as cities are, in essence, the people living in them. Every row in an urban dataset stands for someone, or for somewhere someone depends on. An analysis can be technically correct and still wrong if it loses track of that, so this course asks two questions of every result: who does this represent, and who and what does it leave out?
The course introduces computational thinking and problem solving techniques using Python as the core programming language. You will learn to break complex problems into functional, manageable chunks, and translate each into a set of scripts to automate tasks, making them reproducible for yourself and others. This is not an intro to programming course. We will briefly review the basics of programming with Python and transition to working with tabular and geospatial data.
While AI models (including GenAI) can speed up problem solving, they are far from perfect and can produce biased or misleading outcomes. As a result, it is crucial to develop the skills needed to rigorously evaluate their outputs, question their validity, and work with data that has been systematically analyzed and thoroughly verified. Ultimately, this blend of problem solving techniques and responsible data practices will help us shape the future of our cities in a more sustainable and equitable way. The course is designed to balance theoretical knowledge with applied skills, enabling you to use computational tools for urban analysis.
Course modules
Foundations
Weeks 1–4
- Explain why cities are complex systems and apply computational thinking (decomposition, abstraction, pattern recognition) to urban problems.
- Write clean Python code using variables, control flow, and debugging strategies.
- Explain fundamental geospatial concepts including coordinate reference systems, projections, and vector/raster data models.
Geospatial Analysis & Visualization
Weeks 5–11
- Acquire, clean, and transform tabular and geospatial data using Pandas and GeoPandas.
- Validate data quality through sanity checks for structure, types, duplicates, and missing values.
- Perform spatial operations including joins, overlays, and geometric predicates.
- Explain data governance concerns in the collection and stewardship of urban data.
- Apply visualization principles to create effective, accessible, and interpretable maps and charts.
- Design thematic maps using appropriate classification schemes and data normalization.
- Publish reproducible analyses to the web using GitHub Pages and ArcGIS StoryMaps.
- Analyze urban street networks and compute accessibility measures using OSMnx.
Data, Decisions, and the City
Weeks 12–15
- Communicate analysis to a non-technical public audience through narrative storytelling.
- Evaluate privacy implications of urban data collection and use.
- Interrogate what quantification captures and what it omits in data-driven decisions.
- Critique deceptive visualizations and spurious correlations in published work.
- Recognize spatial statistical pitfalls including MAUP and ecological fallacy.
- Synthesize analytical workflows into a reproducible final project artifact for public exhibition.
See the weekly schedule, with due dates and required / optional reading and resources on the course calendar.
What you will build
- Maps and charts: thematic maps designed with appropriate classification schemes and data normalization, and figures that apply visualization principles to be effective, accessible, and interpretable.
- Cleaned data: tabular and geospatial data acquired, cleaned, and transformed with Pandas and GeoPandas, and validated through sanity checks for structure, types, duplicates, and missing values.
- Street network analyses: urban street networks analyzed and accessibility measures computed using OSMnx.
- Critiques: short written critiques of deceptive visualizations and spurious correlations in published work.
- A final project: analytical workflows synthesized into a reproducible final project artifact, published to the web using GitHub Pages and ArcGIS StoryMaps and shown at a public exhibition during finals week.
Textbook
Selected chapters of the books listed on the Textbooks page are referenced in the schedule. Additional papers and resources are also provided on that page, pertaining to each week.
Format and assessment
Lectures meet Mon and Wed, 12:30–2:00 pm, in Wurster 112. All lab sections meet in Wurster 214B:
| Section | Day | Time |
|---|---|---|
| 101 | Thu | 9:30–10:59 am |
| 102 | Thu | 11:00 am–12:29 pm |
| 103 | Fri | 1:00–2:29 pm |
| 104 | Fri | 2:30–3:59 pm |
This course meets twice weekly (Mon/Wed) for interactive lectures and in-class activities, plus a weekly hands-on lab section on Thursday or Friday (sections 101 and 102 meet Thursday; sections 103 and 104 meet Friday). You will learn Python through hands-on exercises (A1–A4) that build core programming and data analytics skills using real urban datasets. Assignments may require Python code, output figures, and short written responses. Collaboration is encouraged on assignments; the final project is completed in teams and culminates in a public exhibition during finals week.
The course calendar follows the Berkeley Fall 2026 academic calendar. When a university holiday falls on a class day, that session moves to the next available Mon/Wed slot. RRR week is Dec 7–11 with no scheduled class.
Prerequisites
No formal prerequisites. Prior programming experience is helpful but not strictly required.
Office hours
See Office Hours for the current schedule and booking link.
Communication
Primary course communication channels is OH and email. See How to Succeed for guidance on how to ask for help.
Grading
Current grading breakdown (see Grading Policies for full details):
- Assignments (A1–A4): each worth 100 points; 30% of the course grade
- Final Project: proposal, midterm check-in, and exhibition artifact (see course calendar)
- Class participation and in-class activities
Deadlines and late policy
Extensions and late submissions are detailed in Grading Policies.
Attendance and participation
Attendance expectations and absence policy are in Attendance Policies.
Use of AI tools
Using Generative AI tools such as GPT, Claude, Gemini, Copilot, etc., is permissible; however, you must be able to explain what each line of your code does after submitting your assignment or project. You may also be asked to explain your code during the grading process and reproduce some specific patterns or styles used there, without looking at the code. Failure to meet this requirement will result in no points awarded for the assignment.
Additional guidelines for generative AI use are in How to Succeed.
Course technology
Bring a laptop and charger to each class. We will work in Google Colab or JupyterHub (DataHub) so everyone has the same setup from day one. This keeps hardware and installation issues from getting in the way, and it ensures that progress in the course is not determined by who has the fastest laptop. Course notebooks include any needed installation commands, and DataHub is preconfigured with the required packages. No local configuration is required on your end.
Mutual respect and accommodations
We aim to foster a strong sense of community in the classroom. We welcome students of all backgrounds and identities, including differences in culture, ethnicity, national origin, gender identity and expression, sexual orientation, religion, political affiliation, disability status, and other visible and non-visible experiences. Everyone in this course is expected to help create a respectful, welcoming, and inclusive learning environment. If this standard is not being upheld, please feel free to speak with me.
We aim to provide appropriate accommodations for all students. If you have a disability or access need that requires academic accommodations, please contact the Disabled Students’ Program (DSP) to request services:
- Disabled Students’ Program (DSP), 260 Cesar Chavez Center
- Phone: 510-642-0518
- Website: DSP
DSP will conduct a needs assessment and work with instructors to ensure that accommodations align with the course requirements. You are also welcome to contact me by email, or before or after class, to discuss accommodations or medical emergencies.
Code of conduct and academic integrity
Any test, paper or report submitted by you and that bears your name is presumed to be your own original work that has not previously been submitted for credit in another course. Plagiarism, the act of using another person’s words or ideas and presenting them as your own deliberately or by accident, is viewed as a particularly serious offense and will be reported to Student Conduct and prosecuted to the fullest extent possible. Note that plagiarism includes not only the unattributed use of specific words, but also extends to ideas, charts, data and phrasing. Make sure you identify the source of any material that is not your own (including the use of chatbots, e.g. Open AI). You do not need to cite facts that are common knowledge, but the words and phrasing should be your own and not someone or something else’s.
Religious Creed Policy
UC Berkeley’s Religious Creed Policy describes accommodations for students who miss exams due to religious observance. The policy is distributed annually at the beginning of each fall semester.
Department Climate Statement
The Department of City and Regional Planning in the College of Environmental Design is committed to an equitable and inclusive educational environment for all. As students, staff, and faculty, we strive to foster a community that celebrates diversity and affirms the dignity of each person by respecting the identities, perspectives, and experiences of those with whom we work. As members of the UC Berkeley community, the Department of City and Regional Planning and its faculty are committed to a safe work environment for all.
The following campus-wide resources are available to support this commitment:
- GENEQ (Gender Equity Resource Center)
- Path to Care: Sexual Violence and Sexual Harassment
- Office for the Prevention of Harassment and Discrimination (OPHD)
- OPHD information for students, staff, and faculty
- University Health Services: Counseling and Psychological Services
- Centers for Educational Justice and Community Engagement
Key links
- Course calendar: Home
- Final project overview: Final project overview
- Course policies hub: Course policies hub
- Teaching team: Teaching team