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.

Scientific Software Workflow Checklist

A one-page companion for COMP 521 projects

Read Scientific Software: From Claim to Evidence for the reasoning behind these practices; keep this page beside your editor when you need the compact working version. It is a working aid, not a grading rubric; the current project brief defines the deliverables.

First: identify the project phase

ProjectWhere implementation belongsFinal execution check
P1Functions may remain in analysis.ipynb.Restart the kernel and run all cells; save, commit, push, and verify.
P2 onwardReusable code belongs in the modules named by the brief; the notebook imports it.Run the brief’s exact tests and reproduction commands, then restart and run the notebook.

There is no course-wide run.py command. Do not substitute a generic workflow for the repository’s instructions.

Before coding

Write down:

If the project or reference does not specify an interface choice, label it as your decision instead of presenting it as a scientific requirement.

Build in small slices

  1. Implement one scalar or boundary case.

  2. Compare it with a value you can derive or trust.

  3. Add the neighboring case.

  4. Generalize to arrays or repeated evaluation.

  5. Create the diagnostic figure.

  6. Interpret what the evidence supports and what it does not.

  7. Commit a coherent checkpoint.

Use claim-matched evidence

EvidenceUse it for
Reference or analytic comparisonanchor values, limiting cases, known solutions
Behavioral check/testinterfaces, shapes, bounds, branches, error behavior
Visual diagnostictrends, discontinuities, outliers, residual structure
Clean rerunreproducibility from the submitted repository

For P1, place compact checks directly in the notebook. From P2 onward, preserve repeatable behavior checks in the project-required test suite.

Debug with one hypothesis at a time

  1. Save the exact input, output, warning, or traceback.

  2. Reduce it to the smallest failing case.

  3. State one hypothesis in a sentence.

  4. Choose one observation that could disconfirm it.

  5. Change one cause and rerun the same case.

  6. Keep a successful regression check.

If you are stuck, bring the contract, the smallest failing input, the complete error, and what you tried. Use the Canvas discussion board for a shared question, Canvas Inbox for a private matter, or office hours. Follow the course AI policy for tutoring and verification uses.

Before every commit

git status
git diff
git add .
git status
git diff --staged
git commit -m "Describe the completed change"
git push

Before submitting any notebook

P2+ additions