Computational Text Analysis for African Digital Humanities — 112 runnable notebooks organised by method, data served from CourseHub
# Computational Text Analysis for African Digital Humanities
**112 runnable notebooks**, organised by method. Every one executes top to bottom — enforced by the build, not assumed.
Companion to the course at coursehub.africandigitalhumanities.ca, where the same notebooks run in the browser with no setup.
## The data loads itself
Open any notebook in Colab and run the first cell. It downloads what it needs from `coursehub.africandigitalhumanities.ca/ide/pack-data/text/` — **no uploading, no API key, no account.**
| Corpus | What it is | Licence |
|---|---|---|
| `masakhanews.csv` | News in 16 African languages with topic labels | AFL-3.0 |
| `masakhaner.csv` | MasakhaNER 2.0 — 147,053 sentences, 19 languages, official splits | CC BY 4.0 |
| `colonial_texts.csv` | Passages from pre-1929 writing about Africa | Public domain |
| `african_legal.csv` | ECOWAS, ANC and TRC documents | Public / open |
| `labse_headlines.npy` | Precomputed LaBSE vectors, so neural lessons work with no GPU | derived |
## Where the GPU comes from
- **In Colab** — your own free GPU (`Runtime > Change runtime type > T4`).
- **In CourseHub** — a shared L40S, via an endpoint whose credential stays on the server.
- **Anywhere else** — precomputed vectors shipped with the course.
No API key appears anywhere in this repository, by design: a notebook cell is readable by whoever runs it.
## Contents
### 00-foundations
Where the field came from, and how to turn a humanities question into a countable one.
| Notebook | Method | Open |
|---|---|---|
| Text as Data | Turning a corpus into a table: document, token, type | |
| Practice: Your First Hour With an Unfamiliar Corpus | A reproducible first-look protocol before any analysis | |
| What a Corpus Can and Cannot Answer | Matching a literary or linguistic question to a countable method | |
| Whose Africa Is in the Public Domain? | Corpus construction as an argument; the absence audit for text | |
| Practice: Match Your Question to a M …