Maintaining & Sustaining Software Intermediate 10h 5m

Building Better Research Software

This short course is teaching tools and practices for producing and sharing quality, sustainable and FAIR (Findable, Accessible, Interoperable and Reusable) research software to support open and reproducible research. The course can be delivered over 2 full or 4 half days.

Learning outcomes

  • Explain key principles of open and reproducible research and their implications for research software development.
  • Analyse software for maintainability, reproducibility and reuse, identifying risks and opportunities for improvement.
  • Apply professional software development workflows for version control, reproducible environment management and collaboration.
  • Design modular and extensible software to support reuse and scalable development.
  • Design and implement testing, documentation and quality assurance practices to support correct and reusable research software.
  • Evaluate software projects for openness, sustainability, reusability and collaborative practices.
  • Select appropriate tools and practices to support collaborative and open research software development.

Prerequisites

Git

Cite this lesson

Metadata from CITATION.cff.

APA

Gibson, S., Goel, A., Hodges, T., Jaffa, S., Kopec-Harding, K., Nenadic, A., Sauze, C., Stevens, S. (2025). Building Better Research Software. (Version beta-Dec2025). UC OSPO Network. https://doi.org/10.5281/zenodo.12666088

BibTeX
@misc{building_better_research_software_2025,
  author    = {Gibson, Sarah and Goel, Aman and Hodges, Toby and Jaffa, Sarah and Kopec-Harding, Kamilla and Nenadic, Aleksandra and Sauze, Colin and Stevens, Sarah},
  title     = {Building Better Research Software},
  year      = {2025},
  publisher = {UC OSPO Network},
  url       = {https://doi.org/10.5281/zenodo.12666088},
  doi       = {10.5281/zenodo.12666088},
  version   = {beta-Dec2025}
}