Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Making your project understandable and rerunnable

1. Why reproducibility matters

Reproducibility means that someone else can understand and rerun the main steps of your project.

In SDS320, reproducibility matters because your final project includes a report and a public GitHub or GitLab repository. The repository should allow another student to understand your work on a different machine. This requires more than code that runs once on your laptop.

Reproducibility also helps you. A project that is documented and organised is easier to debug, revise, present and finish.

This page builds on the SDS210 reproducibility material and adapts it to SDS320 project work.


2. What reproducibility means in this course

In SDS320, reproducibility does not mean that every large dataset must be stored in your repository. It means that the main workflow is understandable and rerunnable from documented materials.

Another student should be able to answer:


3. Reproducibility checklist

Use this checklist throughout the semester.

Structure and paths

Data and environment

Code and outputs

Interpretation and responsibility


4. Reproducibility during the project

Do not wait until the final week to make your project reproducible. Build reproducibility gradually.

A useful rhythm is:

after each meaningful project step
→ commit changes
→ update README or notes
→ check paths
→ save important outputs
→ write down decisions

For example:


5. Flags & checks

Red flagFirst check
The project works only on your computerReplace absolute paths and document setup steps.
You cannot remember how an output was producedLink the output to the notebook or script that created it.
A notebook fails after restarting the kernelCheck imports, paths, variables and run order.
Data are missing from the repositoryDocument how to access or recreate them.
The README does not explain how to run the projectAdd setup instructions and notebook/script order.
A result depends on manual editingDescribe the manual step or replace it with code.
AI helped debug important codeAdd an honest AI-use note if relevant.

6. Mini task

Identify one part of your current workflow that someone else could not yet reproduce.

Write:

The least reproducible part of my project is ...
This is because ...
The next improvement is ...

Then make one small change: update a README, rename a file, add a path check, save an intermediate output or document a manual step.


7. Key takeaways