Syllabus
Course overview
The main goal of this course is to introduce computational thinking and problem solving techniques using Python as the core programming language. Computational thinking serves as the foundation for learning to code in any programming language and solving complex problems in your life. 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. No prior coding experience is necessary, we will cover the basics of programming with Python and learn best practices for writing clean, efficient, readable, and testable code.
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. Although these models can augment certain tasks, computational thinking and data literacy remain essential. By learning how to evaluate, verify, and interpret information accurately, you will develop the skills to create fair and effective solutions. 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.
With a strong emphasis on practical applications, you will gain hands-on experience in acquiring, cleaning, transforming, and visualizing tabular and geospatial data. The course is designed to balance theoretical knowledge with applied skills, enabling you to use computational tools for urban analysis.
Intended Learning Outcomes
Module 1: Computational Thinking & Programming Foundations
- Apply the fundamentals of algorithmic thinking to break down complex problems into simple, manageable tasks and convert them into pseudocode.
- Write clean, Python code using variables, control flow, functions, and debugging strategies.
- Explain fundamental geospatial concepts including coordinate reference systems, projections, and vector/raster data models.
Module 2: Urban Data Wrangling & Visualization
- 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.
- Use visualization theories and principles to evaluate what makes a visualization effective, interpretable, and appropriate for its purpose.
Module 3: Data Analytics in Action
- Analyze urban street networks and compute accessibility measures using OSMnx.
- Identify spatial patterns through point pattern analysis and hotspot detection.
- Detect misinformation and deceptive patterns in data visualization.
- Recognize spatial statistical pitfalls including MAUP and ecological fallacy.
- Synthesize analytical workflows into a reproducible, portfolio-ready project.
See the weekly schedule, with due dates and required / optional reading and resources on Schedule.
Textbook
Seleccted 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
Most of this course takes place at the computer, learning to program in Python through interactive lectures and weekly exercises. Exercises focus on building core programming skills and applying them to manipulate and analyze geographic information. Most exercises use real-world data; you may submit Python code, output figures, and short responses. Collaboration is encouraged for weekly exercises, but the final exercise must be completed individually and clearly reflect your own work.
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):
- Class Activities and Participation: 15%
- Lab Activities and Participation: 15%
- Assignments: 30% (4 assignments; lowest score dropped)
- Final Project: 40% (Proposal 5%, Midterm 15%, Final 20%)
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
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 schedule: Course schedule
- Final project overview: Final project overview
- Course policies hub: Course policies hub
- Teaching team: Teaching team