The fall semester begins next week at UC Berkeley. For the third year in a row, Paul Waddell and I will be teaching CP255: Urban Informatics and Visualization.
This masters-level course trains students to analyze urban data, develop indicators, conduct spatial analyses, create data visualizations, and build interactive web maps. To do this, we use the Python programming language, open source analysis and visualization tools, and public data.
This course is designed to provide future city planners with a toolkit of technical skills for quantitative problem solving. We don’t require any prior programming experience – we teach this from the ground up – but we do expect prior knowledge of basic statistics and GIS.
Our teaching materials, including IPython Notebooks, tutorials, and guides are available in this GitHub repo, updated as the semester progresses.
Teaching agenda for this semester:
Learning basic Python coding: we spend about 3 weeks introducing the fundamentals of coding, data types, conditionals, loops, and functions. Just enough to make you dangerous.
CartoDB for simple interactive web mapping.
Installing, customizing, and using WordPress: each student creates a customized blog as a web portfolio to share and publicize their projects from class.
GitHub for version control and collaborative development.
QGIS: a powerful, free, and open-source alternative to ArcGIS.
Data wrangling, spatial statistics, data science, and spatial analysis with Python and the pandas and geopandas libraries
Machine learning and clustering in Python with scipy and scikit-learn
Our guest speakers this semester include Alicia Rouault and Prashant Singh – the CEO and CTO, respectively, of LocalData; Michal Migurski, the CTO of Code for America; Eddie Tejeda, the CEO of Civic Insight; Donna LaSala, the Director of Information Technology for the City of Berkeley; AutoDesk’s Matt Davis; and my fellow doctoral student, Sam Maurer.