Choose the contribution type
A lesson teaches one idea with assumptions, an example and further reading. A code module defines its inputs, units, timing and outputs. A dataset includes provenance and a real download. A research note distinguishes the question, method, evidence and unresolved points.
Follow the same record
- Title, topic, author or source, and version.
- Maturity: edited lesson, runnable example, historical source or research draft.
- Prerequisites and the question the item helps answer.
- Source link, applicable terms and original attribution.
- For empirical work: data version, configuration, baseline and reproduction steps.
Update the catalogue
Code, data, papers, competitions, solutions, resources and repository descriptions live in separate JSON files under catalogue/. Add lesson content under content/ and its metadata to catalogue/lessons.json. Rebuild with python tools/build.py, then run python tools/check_site.py.
The generated website works as static GitHub Pages content. Python is used for authoring and checking; visitors read the finished pages and download code to run locally.
Keep the source collections intact
The six original repositories keep their own histories. Library entries point to specific files and captured revisions. A source link is not a claim that the module is tested, the hypothesis is proven or the whole repository is an endorsed curriculum.
Use the Library repository to propose an addition, or follow the contribution conventions of the relevant source repository.