Skip to article frontmatterSkip to article content

Mapping Systems Summer 2025

Tuesday and Thursdays, 6-8pm @ 209 Fayerweather

Instructor: Mario Giampieri (mag2382@columbia.edu)

Introduction

Mapping Systems introduces CDP students to programming concepts and methods for spatial analysis, using urban planning challenges as a basis for learning. The course will also explore the social, political, and ethical implications of mapping technologies, as well as our role as practitioners in the production and interpretation of spatial data.

The course will focus on building proficiency in Python-based workflows focused on finding, describing, and visualizing spatial data; manipulating and drawing meaning from data layers; understanding distance and spatial relatedness; and measuring change over time. The course will also introduce web-based methods for visualizing and interacting with data. While a primary goal of this course is to introduce students to practical tools and workflows and build fluency in their use, we will maintain a critical perspective and also introduce students to some historical and conceptual context, as well as case studies.

The course will require students to complete weekly exercises to gain proficiency in spatial analytic methods in service of being able to use said methods in their computational design practice. Students will be asked to further develop one exercise into a final project, described in more detail below.

Final Project

The final project will expand upon one of the exercises and further explore the methods and tools used. This may mean conducting a more in-depth analysis of a dataset, applying the methods to a different (and/or multiple) dataset, or extending the functionality of web-based visualizations. You will be asked to diagram your project, write a short description of your goals, and reflect on how you intend to further explore these methods through the following semesters.

Learning Objectives

At the most basic level, the goal of this class is to introduce students to mapping in Python and Javascript and demonstrate how to explore, analyze, and visualize spatial data. By the end of the course, students should be able to:

Furthermore, students should develop a deeper understanding of how spatial data is used in decision-making, and challenges associated with using data to inform arguments (agency in mapping; objective vs subjective / abstract vs experiential).

This is primarily a methods course, however students will be expected to complete weekly readings and come prepared to discuss them in class. There are several optional readings listed for each week; it is not expected that students will read all of these, but they are provided for those who wish to explore the topics in more depth.

Course Organization / Communication

Class meets on Tuesdays and Thursdays in 200 Fayerweather from 6-8pm. Weeks will generally be organized as follows:

Conversation topics that pertain to the entire class, such as meeting time/location or technical difficulties / troubleshooting should live in the course Discord channel. All other questions can be sent to me directly via email at mag2382@columbia.edu.

All reading materials and slides will be posted to Canvas, and tutorials will be posted to the course’s Github repository (i.e. this website). All exercises will be saved and managed via Github (details below).

Office Hours

Office hours are by appointment on Fridays, or before class on Tuesday or Thursday. Email me to schedule a time to chat.

Schedule

Week 01

Introductions + getting started: IDE and environment setup, loading and visualizing data

Class 01: Introductions

Class 02: Loading, exploring, visualizing data (Tutorial)

Week 02

Geoprocessing / vector data analysis basics using geopandas and shapely

Class 03: Mapping as a critical and creative process

Class 04: Geoprocessing (Tutorial)

Week 03

Web mapping, interactive visualization, and crowd-sourced information

Class 05: Web mapping part 1

Class 06: Web mapping (Tutorial part 1)

Week 04

APIs and website deployment

Class 07: Web mapping part 2

Class 08: Developing an API and site deployment (Tutorial)

Week 05

Conceiving of and measuring distance and spatial relatedness

Class 09: Distance, Adjacency, Networks

Class 10: Measuring Distance (Tutorial)

Week 06

Preparing for final colloquium presentations + presentations on August 6th

Class 11: Desk crits / work session

References
  1. Entrikin, J. N. (1991). The Betweenness of Place. In The Betweenness of Place (pp. 6–26). Macmillan Education UK. 10.1007/978-1-349-21086-2_2
  2. Corner, J. (2011). The Agency of Mapping: Speculation, Critique and Invention. In The Map Reader (pp. 89–101). Wiley. 10.1002/9780470979587.ch12
  3. GRAHAM, M. (2010). NEOGEOGRAPHY AND THE PALIMPSESTS OF PLACE: WEB 2.0 AND THE CONSTRUCTION OF A VIRTUAL EARTH. Tijdschrift Voor Economische En Sociale Geografie, 101(4), 422–436. 10.1111/j.1467-9663.2009.00563.x
  4. Schröder-Bergen, S., Glasze, G., Michel, B., & Dammann, F. (2021). De/colonizing OpenStreetMap? Local mappers, humanitarian and commercial actors and the changing modes of collaborative mapping. GeoJournal, 87(6), 5051–5066. 10.1007/s10708-021-10547-7
  5. Haklay, M., & Weber, P. (2008). OpenStreetMap: User-Generated Street Maps. IEEE Pervasive Computing, 7(4), 12–18. 10.1109/mprv.2008.80
  6. Xin, R., Ai, T., Ding, L., Zhu, R., & Meng, L. (2022). Impact of the COVID-19 pandemic on urban human mobility - A multiscale geospatial network analysis using New York bike-sharing data. Cities, 126, 103677. 10.1016/j.cities.2022.103677