This is the second part of a two-course series on urban data science that I teach at the University of Southern California's Department of Urban Planning and Spatial Analysis.
This course series takes a computational social science approach to working with urban data. It uses Python and Jupyter notebooks to introduce coding and statistical methods that students can reproduce and experiment with in the cloud. The series as a whole presumes no prior knowledge as it introduces coding, stats, spatial analysis, and applied machine learning from the ground up, but PPD599 assumes you have completed PPD534 or its equivalent.
The first course in the series, PPD534, starts with the basics of coding with Python, then on to data loading and analysis, then on to descriptive statistics, then inference and the scientific method, and finally a critical assessment of smart cities and urban informatics.
The second course, PPD599, assumes you have completed PPD534 (or its equivalent) and builds on its topics. It introduces spatial analysis, network analysis, spatial models, and applied machine learning. It also digs deeper into the tools and workflows of urban data science in both research and practice.
PPD599's lecture materials are available in this repo and interactively on Binder.
Did you discover this course on GitHub? Come study with us: consider applying to the urban planning master's or PhD programs at USC.
Are you interested in data science and spatial analysis to improve urban transportation around the world, critically interrogate how big data reshapes housing affordability, or leverage technology for better city planning? We seek students from all backgrounds. If you're an activist or urbanist with no tech experience, we will teach you data/tech skills to effectively apply your knowledge to serve the community. If you're a coder or scientist interested in urbanism and planning, we will teach you how to unlock your skills for more equitable cities.