Twenty-eight research skills, grouped into six competency milestones, delivered through the weekly research log in IE 6999. This repository is the source of truth; Canvas is a delivery copy, regenerated from here.
Students start at handbook/README.md.
Students keep a weekly research log split into three channels — reading, writing, arithmetic — graded every week. That already existed and works. This curriculum slots into it rather than sitting beside it.
A skill is performed as one week’s ordinary log entry. There is no extra weekly work: the skill replaces that week’s entry, it does not stack on top of it.
A milestone is a group of related skills. When they are all in, the student submits an index saying which week each went in. Graded complete / redo. One demonstration and the skill is held permanently — it does not repeat in a later semester.
| M1 | The Workbench | 5 | Spreadsheets · Notebooks+AI · Command line · LaTeX · Sanity checks |
| M2 | Reproducible Code | 4 | Git · Folder structure · Environments · CLI agents |
| M3 | Reading and Reasoning | 5 | Critique · Gap-finding · Logic · Claim/reason/evidence · Claim precision |
| M4 | The Manuscript | 5 | IMRAD · Citations · Authorship · Figures · Accessibility |
| M5 | The Review Cycle | 5 | Refereeing · Rebuttal · Venue · Talk · Defending |
| M6 | Stewardship | 4 | Zenodo · Data management · Proposals · Mentoring |
Twenty-eight skills. Target two milestones per semester; the full set takes three to four semesters.
Nothing is gated — no prerequisites, no completion requirements, no sequential progress. The tiers are advice about a sensible order, not locks, because the course runs every semester with a mixed cohort and any fixed schedule is wrong for most of the room.
Two ungraded companion pages, narrowing from general to lab-specific. Both ship as Canvas pages with no assignment attached.
handbook/sear-lab-domain-knowledge.md — the lab. Infrastructure’s three
layers, the three research areas laid against them, and which course goes deep on each.
Read in week one; surface level on purpose.handbook/engineering-research-domain-knowledge.md — the questions
behind the methods. Philosophy of science, the normative content of modelling choices, policy
literacy, field history, economics. Read later, once the domain is familiar.One optional bonus lesson, shipped the same way:
handbook/bonus-model-hierarchy.md — pencil, spreadsheet,
simulation. It belongs to no milestone, so the count stays at twenty-eight.
skills/ 28 lesson packages, one per skill
milestones/ 6 milestone definitions and their gates
handbook/ the public-facing entry point, plus the two ungraded pages
exemplars/ passed student artifacts, with permission
records/ Canvas exports (gitignored — may contain student names)
scripts/ the Canvas generators
docs/ design brief and background notes
handbook/curriculum.html — all 28 skills on one page: purpose,
deliverable and grading checklist for each. For a student choosing what to do this week
without opening 28 files. Generated by scripts/build_curriculum_page.py; regenerate
after editing any lesson, and never edit it by hand.prospective-students.html — the recruiting page. A
different job: it answers should I join this lab, not what do I do this week.python scripts/build_curriculum_page.py
python scripts/push_to_canvas.py --course 277913 --dry-run
python scripts/push_to_canvas.py --course 277913
Idempotent — matches by title and updates in place, so re-running never duplicates. Everything is created unpublished; publishing is a decision made in Canvas.
Requires pandoc on PATH and CANVAS_TOKEN in the environment. The token is never
written to this repository. This repository is public.
Edit the Markdown here and re-run. Do not edit a generated page in Canvas — the next run overwrites it.
It points at the code standard and never restates it. A skill file says “governed by Part 1” and links to https://github.com/sear-labs/code-standard. It does not summarise what Part 1 says. Part 0 of the standard forbids this, and the stated reason is measured rather than theoretical: a partial restatement reads as complete and stops the search.
Every deliverable is performed on the student’s own dissertation work. Not a sample repo, not a practice paper. PhD students correctly read toy exercises as busywork stacked on top of real work, and a restructured sample repo teaches nothing about the repo the thesis depends on.
Senior students maintain this. The intended loop: you pass a milestone, your artifact goes
into exemplars/ with your permission, and the student after you starts from where you
finished instead of from zero.
Two things to check before opening a PR that adds an exemplar:
skills/26-research-data-management.md — that
skill’s whole subject is answering this question before rather than after.The curriculum – prose, skills, milestones, handbook and templates – is CC BY 4.0:
adopt and adapt it with attribution. The scripts are MIT. Stated by path in
LICENSE-DATA; LICENSE covers the scripts. Student work in
exemplars/ is excluded and stays the student’s.
This is a public repository belonging to a Title II entity, so it is in scope for
skills/19-accessibility.md — WCAG 2.1 AA from 26 April 2027.
It is a legitimate target for a student taking that skill, and is the intended first one.