Since 2010, the University of Glasgow has been running primer courses to teach researchers simple coding. We asked Bill Wright, who runs the courses, to explain why Glasgow is investing time into teaching researchers about the benefits of, and methods for, coding.
There are few fields of research where IT does not play an important role: from researching prior work, data gathering, communication and presentation to performing sophisticated and complex analysis. Although third-party applications are the best software solution for many projects, a number of researchers find that they need to write, adapt or even commission bespoke code. Rather than performing the core analysis, this home-grown code is often used to test or assess data, to pre-process it for input to applications, or to post-process the output. The saving in time, effort and accuracy is often significant.
Writing bespoke code can be risky, especially if:
- The amount of coding effort is underestimated
- There is a lack of awareness about effort-saving programming techniques and facilities
- Inadequate testing does not identify problems
- A profusion of versions, patches and fixes resulting in confusion and uncertainty
And it is in countering these risks where some basic training in programming can pay off.
The courses being run at the University of Glasgow help to create awareness of what can be achieved by relatively simple and easy coding. The researchers use Python and are shown development environments, which offer frameworks and aid good practice in areas like source control and testing.
The injection of programming capability into research projects (with some informal follow-on support) will help to improve research outcomes. Of course, many factors affect research outcomes, so it is difficult to assess the effectiveness of the training on anything except the comments of the trainees. And the feedback is good, some trainees find the format and pace too concentrated, but others have their imagination and enthusiasm fired.