Foundations (Pt. 2)
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.
By the end of this week you should be able to:
- Choose between a list, dictionary, list-of-lists or dictionary-of-lists to store a given dataset, and justify the choice.
- Access and modify values in nested data structures by chaining indexes and keys.
- Use
add,commit,pushandpullto keep a notebook under version control on GitHub. - Explain why data are never simply ‘raw’, and how they can reproduce existing inequalities (D’Ignazio & Klein ch. 6; Mattern).
- Watch the four pre-recorded lectures (≈ 40 min in total): Dictionaries (9 min) · LOLs (8 min) · DOLs to Data (7 min) · Git (16 min)
- Read D’Ignazio and Klein (2020) and Mattern (2017), making notes against the study guide questions.
- Check you can log in to GitHub from your laptop: you’ll commit your notebook to GitHub at the end of the practical.
- 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:
- 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’?
- 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:
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: