Details of Award
NERC Reference : NE/Y003616/1
Software Development for Earth and Environmental Scientists: Reproducible Research through Reusable, Reliable Code
Training Grant Award
- Lead Supervisor:
- Professor DM Schultz, The University of Manchester, Earth Atmospheric and Env Sciences
- Grant held at:
- The University of Manchester, Earth Atmospheric and Env Sciences
- Science Area:
- Atmospheric
- Earth
- Freshwater
- Marine
- Terrestrial
- Overall Classification:
- Atmospheric
- ENRIs:
- Biodiversity
- Environmental Risks and Hazards
- Global Change
- Natural Resource Management
- Pollution and Waste
- Science Topics:
- Software Engineering
- Software Maintenance
- Software Reliability
- Software Reuse
- Abstract:
- Much of modern research is conducted using complex analysis or simulation software. To help ensure that research is reproducible, this software needs to be accessible and usable by others. It should be well written, documented, and archived using a version-control system allowing the tracking of critical changes. However, such software is often not written by dedicated software engineers, but by researchers who have not had time nor resources to properly learn these skills. This deficit in skills has led to a longstanding scientific "replication crisis" where many published, peer-reviewed papers cannot be independently reproduced. Many open communities, such as The Carpentries (https://carpentries.org/) and research software engineers (RSEs; https://society-rse.org/), have worked over the past decade to address this training gap by providing foundational coding and data training to researchers. However, an internal RSE survey conducted by the Software Sustainability Institute (SSI) reports a need for more intermediate-level training to help researchers with the next steps after gaining basic coding literacy as research software-related projects are becoming more complex, require larger development teams, and involve more stakeholders. Such an intermediate-level, discipline-specific course was piloted at the University of Manchester from 27-31 March 2023 to 35 NERC postgraduate students and researchers from around the UK. The workshop followed The Carpentries style of delivery (instructor-led code-along sessions), but was also enhanced with individual self-learning sessions, as well as team exercises and working in small groups with dedicated team instructors on-hand to help. In addition, students were encouraged to bring their own research problems and own research data, and we allowed time during the course for them to apply the lessons learnt to their research and with the support of on-hand instructors. The course received overwhelmingly positive feedback, with 87% of students saying that they would be likely to use the skills learned during the course in their present and future work. We propose to update and refine the course based on the feedback collected from the first cohort and deliver the course again for a similar number of participants in 2023/24. Participants will learn advanced, transferable skills in software engineering and version control, helping them to cooperate with peers on their software development tasks. We will train participants in setting up and maintaining a development environment that can be defined, captured, and recorded to support generating repeatable research. Participants will learn best practices and advanced tools for collaborative code development, including code review for rigorous inspection and early code-error and defect detection. They will also learn through doing that "good" code has a modular structure, has been formally tested, is documented, is easy to read, and is self-explanatory. Such training will help them reduce the "technical debt" that causes many of the common issues encountered with legacy research software and will show them how software can be sustainably managed. Following these principles, participants will be able to reuse their code in new research by producing libraries of useful functions. We will tailor this course for the NERC audience, by replacing the original code examples, datasets, and exercises with NERC-relevant equivalents. Training and learning outcomes of the course will include students gaining intermediate-level general software engineering skills, making them highly employable both within academia and industry. Students will also have opportunities to apply these skills to their own work during the course, supported by the on-hand expert helpers.
- NERC Reference:
- NE/Y003616/1
- Grant Stage:
- Awaiting Completion
- Scheme:
- Doctoral Training
- Grant Status:
- Active
- Programme:
- Advanced Training
This training grant award has a total value of £59,503
FDAB - Financial Details (Award breakdown by headings)
Total - Other Costs |
---|
£59,503 |
If you need further help, please read the user guide.