Ten simple rules for training scientists to make better software

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Gallagher, Kit, Creswell, Richard, Lambert, Ben, Robinson, Martin, Lei, Chon Lok, Mirams, Gary R., Gavaghan, David J.
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866910860283215872
author Gallagher, Kit
Creswell, Richard
Lambert, Ben
Robinson, Martin
Lei, Chon Lok
Mirams, Gary R.
Gavaghan, David J.
author_facet Gallagher, Kit
Creswell, Richard
Lambert, Ben
Robinson, Martin
Lei, Chon Lok
Mirams, Gary R.
Gavaghan, David J.
contents Computational methods and associated software implementations are central to every field of scientific investigation. Modern biological research, particularly within systems biology, has relied heavily on the development of software tools to process and organize increasingly large datasets, simulate complex mechanistic models, provide tools for the analysis and management of data, and visualize and organize outputs. However, developing high-quality research software requires scientists to develop a host of software development skills, and teaching these skills to students is challenging. There has been a growing importance placed on ensuring reproducibility and good development practices in computational research. However, less attention has been devoted to informing the specific teaching strategies which are effective at nurturing in researchers the complex skillset required to produce high-quality software that, increasingly, is required to underpin both academic and industrial biomedical research. Recent articles in the Ten Simple Rules collection have discussed the teaching of foundational computer science and coding techniques to biology students. We advance this discussion by describing the specific steps for effectively teaching the necessary skills scientists need to develop sustainable software packages which are fit for (re-)use in academic research or more widely. Although our advice is likely to be applicable to all students and researchers hoping to improve their software development skills, our guidelines are directed towards an audience of students that have some programming literacy but little formal training in software development or engineering, typical of early doctoral students. These practices are also applicable outside of doctoral training environments, and we believe they should form a key part of postgraduate training schemes more generally in the life sciences.
format Preprint
id arxiv_https___arxiv_org_abs_2402_04722
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Ten simple rules for training scientists to make better software
Gallagher, Kit
Creswell, Richard
Lambert, Ben
Robinson, Martin
Lei, Chon Lok
Mirams, Gary R.
Gavaghan, David J.
Computers and Society
Software Engineering
Computational methods and associated software implementations are central to every field of scientific investigation. Modern biological research, particularly within systems biology, has relied heavily on the development of software tools to process and organize increasingly large datasets, simulate complex mechanistic models, provide tools for the analysis and management of data, and visualize and organize outputs. However, developing high-quality research software requires scientists to develop a host of software development skills, and teaching these skills to students is challenging. There has been a growing importance placed on ensuring reproducibility and good development practices in computational research. However, less attention has been devoted to informing the specific teaching strategies which are effective at nurturing in researchers the complex skillset required to produce high-quality software that, increasingly, is required to underpin both academic and industrial biomedical research. Recent articles in the Ten Simple Rules collection have discussed the teaching of foundational computer science and coding techniques to biology students. We advance this discussion by describing the specific steps for effectively teaching the necessary skills scientists need to develop sustainable software packages which are fit for (re-)use in academic research or more widely. Although our advice is likely to be applicable to all students and researchers hoping to improve their software development skills, our guidelines are directed towards an audience of students that have some programming literacy but little formal training in software development or engineering, typical of early doctoral students. These practices are also applicable outside of doctoral training environments, and we believe they should form a key part of postgraduate training schemes more generally in the life sciences.
title Ten simple rules for training scientists to make better software
topic Computers and Society
Software Engineering
url https://arxiv.org/abs/2402.04722