SWD 3: Software development practices for research programming

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 isn’t a programming workshop, so it will be relevant to you whichever programming language (on Windows, Linux or Mac) or infrastructure (HPC, Cloud, Desktop) you use.

This will be a hands-on session with lots of discussion and small group activities. We’ll be joined by a number of people who develop codes and software who will share their experiences.

Sessions in the workshop will cover:

  • Defining and managing projects and teams
  • Software and data management plans
  • Effective communication techniques
  • Planning and software design
  • Risk management and controlling costs
  • Testing and code review
  • End of project reviews
  • What happens next?
  • Refactoring and enhancing existing codes

Prerequisites

This is an intermediate level workshop for people who are already programming in any programming language.

Duration

one day

Frequency

This workshop usually runs once each academic year.

Suitability

This workshop is suitable for all research staff and students.

Booking

This course can be booked through the IT Training Unit