Foundations (Pt. 2)

Author

Jon Reades

Published

October 1, 2026

Overview

This week we will dig into data (lists and dictionaries) in greater detail so that you understand how we design structures to store and organise data to simplify our analysis. We will also start using Git and GitHub to track changes to your work and keep it backed up.

ImportantLearning Outcomes

By the end of this week you should be able to:

  1. Choose between a list, dictionary, list-of-lists or dictionary-of-lists to store a given dataset, and justify the choice.
  2. Access and modify values in nested data structures by chaining indexes and keys.
  3. Use add, commit, push and pull to keep a notebook under version control on GitHub.
  4. Explain why data are never simply ‘raw’, and how they can reproduce existing inequalities (D’Ignazio & Klein ch. 6; Mattern).
NoteBefore class
  1. Watch the four pre-recorded lectures (≈ 40 min in total): Dictionaries (9 min) · LOLs (8 min) · DOLs to Data (7 min) · Git (16 min)
  2. Read D’Ignazio and Klein (2020) and Mattern (2017), making notes against the study guide questions.
  3. Check you can log in to GitHub from your laptop: you’ll commit your notebook to GitHub at the end of the practical.
  4. Bring your laptop with Podman running. If you’re new to Python, do the Code Camp Dictionaries, Loops and Recap 2 lessons first.

This week we also start to move beyond Code Camp, so although you should recognise many of the parts that we discuss, you’ll see that we begin to put them together in a new way. The next two weeks are a critical transition between content that you might have seen before in Code Camp (see Practical) or other introductory materials, and the ‘data science’ approach.

Readings

Come to class prepared to discuss the following readings:

Citation Article
D’Ignazio and Klein (2020) Ch.6 URL
Mattern (2017) URL

Study Guide

The following questions will help guide your reading and prepare you for class discussions:

  1. Drawing on D’Ignazio and Klein (2020) (The Numbers Don’t Speak for Themselves) consider:
  • What critical attribute is missing from ‘big data’ found in the wild and why does it matter?
  • How do the risks this creates differ for insiders, outsiders, and minoritised groups?
  • How can the case of VAWG (Violence Against Women and Girls) help you understand the feminist critique of these kinds of data?
  • What does it mean to say that data emerges ‘fully cooked’?
  • Why is it fundamentally unethical to ‘let the numbers speak for themselves’?
  1. Using Mattern (2017), critically analyze the “city as computer” metaphor:
  • What are its strengths and weaknesses?
  • How does this metaphor shape our understanding of urban environments and the solutions we prioritize for urban challenges?
  • What aspects of cities does it overlook or oversimplify?
  • How does Mattern propose we move beyond this metaphor towards a richer understanding of urban intelligence?

Pre-Recorded Lectures

Come to class having watched:

Session Video Presentation
Dictionaries Video Slides
LOLs Video Slides
DOLs to Data Video Slides
Getting Stuck into Git Video Slides

Practical

This week’s practical will take you through the use of dictionaries and introduce the concept of ‘nested’ data structures. When you’re done, you’ll commit your completed notebook to GitHub. However, if you have not yet completed Code Camp (or were not aware of it!), then you will benefit enormously from tackling the following sessions:

TipConnections

The practical focusses on:

  • Comparing the use of Python lists and dictionaries to store tabular data.
  • Extending lists and dictionaries into nested data structures.
  • Committing your work to GitHub.

To access the practical:

  1. Preview
  2. Download

References

D’Ignazio, Catherine, and Lauren F. Klein. 2020. “Data Feminism.” In. MIT Press. https://data-feminism.mitpress.mit.edu/.
Mattern, Shannon. 2017. “A City Is Not a Computer.” Places Journal. https://doi.org/10.22269/170207.