Skip to main content Site map
HomeNews and blogs hub

Intermediate Research Software Development Course

Bookmark this page Bookmarked

Intermediate Research Software Development Course

Author(s)
Denis Barclay

Denis Barclay

Communications Officer

Posted on 31 March 2026

Estimated read time: 1 min
Sections in this article
Share on blog/article:
LinkedIn

Intermediate Research Software Development Course

laptop keyboard

The Intermediate Research Software Development Course will take place on 13 - 16 April 2026 at the University of Manchester. The course, which is based on material developed by the SSI, aims to teach a core set of established, intermediate-level software development skills and best practices for working as part of a team in a research environment using Python as an example programming language. The core set of skills is not a comprehensive set of all-encompassing skills, but a selective set of tried-and-tested collaborative development skills that form a firm foundation for continuing on your learning journey.

The workshop is delivered by EPCC (Chris Wood and Evgenij Belikov) with the help from SSI and Manchester RIT.

A typical learner for this course may be someone working in a research environment who needs to write code and has gained basic software development skills through self-learning or attending, for example, a novice Software Carpentry Python course. They have been applying those skills in their domain of work by writing code for some time, e.g. half a year or more. However, their software development-related projects are now becoming larger and involve more researchers and other stakeholders.

After going through this course, participants will be able to:

  • Set up and use a suitable development environment together with popular source code management infrastructure to develop software collaboratively.
  • Use a test framework to automate the verification of correct behaviour of code, and employ parameterisation and continuous integration to scale and further automate code testing.
  • Design robust, extensible software through the application of suitable programming paradigms and design techniques.
  • Understand the code review process and employ it to improve the quality of code.
  • Prepare and release software for reuse by others.
  • Manage software improvement from feedback through agile techniques.
Find out more and register
Back to Top Button Back to top