Subjects and activities

Class 12 · Computing and AI literacy

Make work reproducible: versions and records

Six months from now, could you, or anyone else, get exactly the same result from your files?

What you will learn: Keep versioned records so someone else can reproduce a result.

Small test at the end: scroll down to the end of this page for five short questions that check what you have learnt. Tap an answer, then press Check answer. Go to the questions ↓

Jump to: Check yourself · For grown-ups · For teachers

Safety first

Anonymous or made-up data only.

Keep it safe:

  • Use anonymous or made-up data only. Never put names or contact details in shared files.

You will need

  • Paper or computer files
  • A small data setYour own, or made up for practice.

Time: About 40 minutes.

The story

Months after her survey project, Tara is asked to show how she got her result. She opens the folder: final.csv, final2.csv, final-final-NEW.csv. Which one did she use? She cannot remember. How could she have kept records so that anyone could get the same result?

The idea

Work is reproducible when someone else can follow your records and get the same result.

Keep the raw data exactly as collected and never overwrite it. Make changes in a new version.

A change log lists each version with its date, what changed and why. Then any result can be traced back to the raw data.

Name files with a version and date, and write down the steps of any calculation, so nothing depends on memory.

A change log for a survey data file. Version 1, 3 November: raw data, 60 rows, as collected. Version 2, 5 November: removed 1 row because ID 17 was typed twice. Version 3, 6 November: added a class column for a new graph.Change log for a survey data fileVersionDateChangeReasonv13 NovRaw data, 60 rowsAs collectedv25 NovRemoved 1 rowID 17 typed twicev36 NovAdded "class" columnFor a new graph
A change log for a survey data file. Version 1, 3 November: raw data, 60 rows, as collected. Version 2, 5 November: removed 1 row because ID 17 was typed twice. Version 3, 6 November: added a class column for a new graph.

Worked example

Tracing a result back (made-up survey)

  1. v1, 3 Nov: raw data, 60 rows, kept unchanged.
  2. v2, 5 Nov: ID 17 was typed twice, so one copy was removed: 60 − 1 = 59 rows.
  3. The mean in the report was worked out from v2.
  4. A classmate repeated the steps from v1 and got the same mean.

Because the raw data was kept and each change was logged, someone else could repeat the work and check it.

Try it

  1. Save the raw data.

    Name it v1 with a date. Never change it.

  2. Start a change log.

    Columns: version, date, change, reason.

  3. Make each change in a new version.

    Log it before moving on.

  4. Write the steps.

    How each number in your report was calculated, and from which version.

  5. Test it.

    Ask a partner to follow your records. Do they get the same result?

What you make (paper or offline)

Your change log and checklist

A change log table with version, date, change and reason.Change log for a survey data fileVersionDateChangeReasonv13 NovRaw data, 60 rowsAs collectedv25 NovRemoved 1 rowID 17 typed twicev36 NovAdded "class" columnFor a new graph
A change log table with version, date, change and reason.

A change log for your data.

The steps for one result.

Your partner's check: same result or not.

Make it on paper. Keep it with you. Nothing to upload.

Check yourself

Five questions about what this page teaches. Choose an answer and press Check answer, or open "See the answer and why". Nothing is saved or sent: your choices stay on this screen and disappear when you leave or reload the page.

  1. Question 1 of 5What does it mean for work to be reproducible?

    See the answer and why
    • A. It looks neat and is well printed Not this one. Neat files can still be impossible to repeat.
    • B. It was done once and never again Not this one. Doing it once says nothing about repeating it.
    • C. Someone else can repeat it and get the same result Correct. That is the test of reproducible work.
    • D. Only the person who did it understands it Not this one. That is the opposite of reproducible.
  2. Question 2 of 5Raw data has 60 rows. One duplicate row is removed in v2. How many rows does v2 have?

    See the answer and why
    • A. 59 rows Correct. 60 − 1 = 59.
    • B. 58 rows Not this one. Only one row was removed, not two.
    • C. 61 rows Not this one. That adds a row instead of removing one.
    • D. 60 rows Not this one. That is v1, before the duplicate was removed.
  3. Question 3 of 5Why keep v1, the raw data, unchanged?

    See the answer and why
    • A. Raw data is not needed after cleaning Not this one. Without it no one can check the cleaning.
    • B. So every later change can be checked against it Correct. It is the starting point for tracing any result.
    • C. So you have twice as much data Not this one. A copy is not more data.
    • D. Because files can never be edited Not this one. Files can be edited; you choose not to edit the raw one.
  4. Question 4 of 5Which change-log entry is complete?

    See the answer and why
    • A. "v2, 5 Nov: removed 1 row (ID 17 typed twice)." Correct. It gives the version, date, change and reason.
    • B. "Removed some data that looked wrong." Not this one. Which data, when, and why exactly?
    • C. "v2: some changes were made." Not this one. It does not say what changed or why.
    • D. "Fixed some stuff in the file today." Not this one. No version, no exact change, no reason.
  5. Question 5 of 5Which file name is best for a second version?

    See the answer and why
    • A. final-final-new.csv Not this one. Nobody can tell which version this is.
    • B. data.csv Not this one. It gives no version or date.
    • C. final.csv Not this one. It does not say which version or when.
    • D. survey-v2-5-Nov.csv Correct. It shows the content, version and date.

Think back

Could your partner reproduce your result? Where did they get stuck?

What would you lose if your raw data were overwritten?

Investigate further

  • Add a "how calculated" note to every number in a past project.
  • Find out what a "lab notebook" is and how scientists use one.

For grown-upsTap a heading to open it. The safety notes are at the top of the page.

Before you start
  • Be the partner who tries to reproduce a result from the records.
Questions that help
  • "Where is the original data?"
  • "How did you get this number?"
What's really going on

Reproducible records let others check work and let you find your own mistakes later.

Other ways to do it
  • Keep the change log on paper beside a paper data table.

For teachersLearning aims, classroom ideas and what to look for.

Learning aims
  • Keep raw data, versioned files and a change log.
  • Test reproducibility with a partner.
Subject links
  • Computing: file management.
  • Science: lab notebooks.

These links are general. They have not been checked against a specific board syllabus.

In the classroom
  • Pairs swap records and try to reproduce one number.
What to look for
  • Raw data kept.
  • Each change logged with a reason.
ProLearners Assist