Skip to content
all decision records

DR-001Accepteddecided 2026-10-05

Recover the 2020 solution from a Notability note

docs/decisions/DR-001-recovering-the-solution-from-notability.md

Context

The final program.c I submitted for COMP10002 Assignment 1 in Semester 1, 2020 was not kept as a source file. When I started reviving the project in October 2026, the only copies I could find were an early partial attempt (drafts/programs2.c, which only starts stages 1 and 2) and a Notability note from the same course folder in which I had saved the full solution.

Everything else in the revival depends on this file. The web port copies its loops, the parity tests compile it, and the site quotes it line by line, so the recovered text had to be trustworthy before any of that work could start.

Decision

I recovered the full solution from the Notability note and transcribed it into coursework/src/program.c exactly as written, without reformatting, renaming or fixing anything. The file in the repository is byte-identical to that transcription, and it is never edited. Any later analysis is added around it.

Options considered

  1. Rewrite the solution from memory. This would have produced cleaner code, but it would be a 2026 program presented as 2020 work.
  2. Publish only the partial draft. This is honest but incomplete, because stages 3 to 5 are missing.
  3. Recover the note and transcribe it verbatim. This is what I chose.
  4. Recover the note and tidy it up. This would fix the 50-byte first-line limit and the other quirks, but it would also change what the program prints, so it would no longer be the submitted program.

Why

The point of the repository is to show what I wrote as a first-year student and what I can do with it now. A verbatim copy keeps those two things separate. The quirks in the code are part of the record, and the visualiser explains them instead of hiding them.

The 2020 submission server compiled with gcc -Wall -std=c99 and checked stdout against sample outputs, so those two checks are the best available test of whether the transcription is faithful.

What happened

The recovered file compiles cleanly with -Wall -std=c99 and reproduces both official sample outputs byte for byte (make test passes, and the Coursework CI job runs it on every change to coursework/).

The evidence has a limit that I want to state plainly. I do not have the file that was actually submitted, so I cannot prove the transcription matches it character for character. Two sample tests passing is consistent with a faithful copy, but a transcription error in a code path the samples never reach would not show up. The later differential testing (DR-002) compares the port with this file, not with the 2020 submission, so it cannot close that gap either.

What I'd change

Keep coursework in version control from the first day, and record a hash of every submitted file at the time of submission. That would turn "consistent with" into "identical to".