Teacher guide — Grade 11, Unit 8: Reproducibility, Git and the climate project¶
Time: 3 lessons + project (about 5 periods). Track: B (project).
| # | Lesson | Time |
|---|---|---|
| 1 | Git basics | 40–45 min |
| 2 | Seeds, environments, notes | 40–45 min |
| 3 | Project: analyse and publish | 40–45 min |
| P | Unit project: Climate or weather? | 2 periods |
Before you start¶
- Materials: Notebook
notebooks/climate_project.ipynb; Git installed (https://git-scm.com). - Read
docs/pedagogy/lesson-anatomy.mdanddocs/pedagogy/ai-use-policy.md.
If you have no computers / no internet¶
Practise 'commit messages' on paper by describing each change in one line.
Common misconceptions¶
- Saving as final_v2_REAL_final.ipynb is version control.
- Setting a seed makes a result true; it only makes it repeatable.
Differentiation¶
- Support: give a partially filled table / sentence starters; pair with a data-steward role.
- Stretch: ask "what would change your conclusion?" and "who is missing?"
Answer key (check questions)¶
Lesson 1: Git basics
1. What does git commit record?
Answer: A snapshot with a message.
2. Why write clear messages?
Answer: So you know what and why later.
3. Which command shows changes waiting?
Answer: git status.
Lesson 2: Seeds, environments, notes
1. Why set a seed?
Answer: So random results can be repeated.
2. What else affects reproducibility?
Answer: Library/Python versions and data versions.
3. Does a seed make a result correct?
Answer: No: only repeatable.
Lesson 3: Project: analyse and publish
1. What proves it is reproducible?
Answer: Someone else reruns it and gets the same results.
2. What goes in the limits?
Answer: Synthetic data, one series, short period, weather vs climate.
3. What do you disclose?
Answer: AI help used, data licence and source.
Assessment¶
Starter quiz each lesson (3 questions, one recalling the previous lesson); unit quiz in quiz.yml;
project marked with the rubric in docs/pedagogy/assessment.md; 2-minute oral check per group.
Alignment¶
Enrichment aligned to NEB Grade 11–12 Computer Science (databases, programming) and Maths/Statistics.
Answers: practice exercises¶
- Edit the file →
git status→git add→git commit. - "Fix typo in rainfall chart title"; "Add 95% bootstrap interval for temperature trend"; "Remove raw CSV from repo and add data/raw/ to .gitignore" (also note it remains in history; ask the teacher how to purge if sensitive).
- Creates a random-number generator with seed 42, so the same "random" numbers come out each run.
data/raw/ .ipynb_checkpoints/ secrets.txt- No seed; cells run out of order; data file changed (downloaded again); different library versions; hidden state from deleted cells still in memory.
- Put the file in the project (
data/climate.csv) and usepd.read_csv("data/climate.csv")(orPath(__file__)- based paths in scripts). - Seeds 1–5 (1,000 resamples each): 0.18–0.39, 0.19–0.39, 0.18–0.39, 0.17–0.39, 0.18–0.38 °C/decade — the conclusion (positive trend, interval excludes 0) is robust.
- It proves the notebook works from a clean start, with no hidden variables from cells you deleted or ran out of order.
- Missing code/data, undocumented manual steps, different software versions, errors, selective reporting. Trust: if others cannot check a result, policy based on it rests on faith.
- Check for: question, data source/licence/date, how to run, seed/versions, key results, limits, AI use, licence.
Real-data exercises: notes¶
- R1
hashlib.sha256(open(path, "rb").read()).hexdigest(); teach the difference between "same code" and "same data". - R2 OWID and WDI revise estimates each year; small differences are normal — record the download date.
- R3 Supervise any public contribution; follow CONTRIBUTING.md and the code of conduct.