Skip to content

Software project materials Student writing guide

How to Read a Software Project Worked Example and Source Code

The worked report and source archive linked here are real educational materials: one explains a small inventory-summary program and the other contains the runnable code and tests. The included stock records are fictional. Together, the files show how a bounded software problem can be described and checked without pretending that a complete student research project or user evaluation took place.

Read the report beside the actual files

Start with the scope and requirements in the PDF, then inspect the package README, package metadata, source, fixture and test file. Follow one requirement through the code to its test: the two-column header, non-negative whole-number quantity, fixed low-stock threshold and printed summary. This comparison helps distinguish documentation claims from code that is actually present.

  1. Extract the source archive and read README.md before running it.
  2. Run the documented command against the bundled synthetic CSV.
  3. Read src/index.mjs and locate the parser, validation, summary and CLI sections.
  4. Run the built-in tests and compare the assertions with the report's evidence table.
  5. Make a note of behavior the package does not implement, such as a configurable threshold or persistent storage.

Treat tests as bounded evidence

A passing test supports the specific assertion it makes. In this package, tests cover the fixture summary, quoted commas and escaped quotes, and selected invalid input. They do not show that a real organisation needs the program, that users can operate it, that every CSV dialect works or that the code is production ready.

A claim matched to evidence

Supported: 'The supplied fixture produces four rows, a quantity sum of thirteen and two names at or below the code's fixed threshold of two.' Not supported: 'The tool improves inventory control for small businesses.' The second claim needs evidence from an appropriate real setting and evaluation.

Plan an adaptation you can explain

If your programme permits starter-code reuse, define the new problem and acceptance criteria before modifying the code. For example, adding a configurable low-stock threshold creates new input rules, error cases and tests. Record the scaffold version, dependencies, changes and test results, and cite or disclose the supplied material as your department requires.

  • What new user need or research question would justify the change?
  • Which requirement changes, and how will a test show that it works?
  • What CSV inputs or operating conditions remain unsupported?
  • What permission, ethics, data-protection or attribution rule applies?
  • Which parts of the implementation did you personally change and verify?

The linked PDF documents the current implementation and limits. It is useful as a worked teaching report, not as a finished submission to copy. Your own report must match your approved project, actual data and work completed.

Sources and further reading

These university writing resources inform the general advice here. They do not replace your department's handbook or supervisor's guidance.

  1. Node.js documentation: Test runner
  2. RFC Editor: RFC 4180, CSV format and media type
  3. U.S. Office of Research Integrity: Definition of Research Misconduct