Building Better Research Software

This course teaches tools and practices for producing and sharing quality, sustainable and FAIR (Findable, Accessible, Interoperable and Reusable) research software to support open and reproducible research.

Difficulty rating: ★★★☆ Intermediate

Who is it for?

  • Postgraduate research students and early career researchers who want to develop software to support their research using good and sustainable software practices
  • Researchers with foundational software training who wish to refresh and improve their software practices for open and reproducible research

Summary of the topics covered

  • Key principles of open and reproducible research and their implications for research software development
  • Analysing software for maintainability, reproducibility and reuse, identifying risks and opportunities for improvement
  • Applying professional software development workflows for version control, reproducible environment management and collaboration
  • Designing modular and extensible software to support reuse and scalable development
  • Designing and implement testing, documentation and quality assurance practices to support correct and reusable research software
  • Evaluating software projects for openness, sustainability, reusability and collaborative practices
  • Selecting appropriate tools and practices to support collaborative and open research software development

Prerequisites

Participants require a foundational knowledge of the following:

  • Python
  • Version control with Git
  • Working in a command line interface (shell)

Duration

14 hours

Next course

11,12,23,24 June 2026 09:30 - 13:00 Book here
(attend all sessions)

Can't attend?

We don’t have online materials for this session, but the course will run again — so you’ll be very welcome to join next time.