Welcome to Urban Informatics & Visualization

Aerial view of Columbus Circle in New York City at sunset

Photo by TierneyMJ / Adobe Stock , used under Adobe Stock Education License


Cities are dynamic, interconnected systems that continuously adapt to technological, social, and environmental shifts. Each wave of change brings new challenges that demand innovative solutions. Computational thinking plays a central role in finding sustainable and resilient solutions to these challenges.

The main goal of this course is to introduce computational thinking and problem solving techniques using Python as the core programming language.

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.

Active participation is key to your success and the overall learning experience in this course. You can expect a variety of hands-on activities, including polls, pair programming, group projects, and in-class exercises that inspire critical thinking and team work. Everyone is encouraged to ask questions and explore new ideas.

Coding errors are expected, and even helpful. Debugging is where you develop the deeper skills and confidence needed to solve complex problems effectively!

Coding errors are expected and even helpful as they sharpen your problem-solving skills and deepen your understanding of how programs work. Embrace these moments: Debugging is where you develop the deeper skills and confidence needed to solve complex problems effectively!

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.

Have questions? Feeling confused?

  • Add your questions to this shared Google Doc.
    Your question can help other classmates!
  • Email us if it’s something you don’t feel comfortable sharing publicly.
  • Book an office-hours slot if you need to talk in-person.

We are here to help you!


This site uses Just the Docs, a documentation theme for Jekyll.