Skip to main content

SWD3: Software development practices for Research

Booking for this course is through the IT Training Unit.

Click here to book

 

Suitability

Research postgraduate students and staff from all faculties and research domains who want to improve their workflows for code-related projects.

 

Workshop content

The purpose of this workshop is to introduce a number of the techniques and concepts that professional software developers use to manage their code, projects and teams. Although the development of research codes and software has different needs and challenges to the development of commercial software, there are nonetheless some tools and techniques that we can adopt or adopt to improve our Research Software Engineering. This will be a hands-on session with lots of discussion and small group activities.

While we will use Python as our example language to work through an example of software development; however, the concepts and content covered will be relevant regardless of what language you use for computation.

At the end of the workshop, attendees will understand:

  • The difference between reproducibility and reusability of code, and how both contribute to robust research;
  • Strategies to manage dependencies for their projects to ensure reusability and reproducibility;
  • How to leverage version control and semantic versioning to share specific versions of their code;
  • Licensing of open source software;
  • How to enable easy citation of your software;
  • Testing of research code: theory and strategies;
  • Publishing code alongside research results

This course includes practical exercises and hands-on coding that you will be guided through.

 

Prerequisites

 

Duration

2 half day sessions 

 

Frequency

This course runs one to two times per year depending on demand. If you would like a bespoke version of this course run in your department then please contact us.