arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2402.04722cs.CYcs.SE
收藏

培养科学家开发更好软件的十条简单规则

Ten simple rules for training scientists to make better software

Kit Gallagher, Richard Creswell, Ben Lambert, Martin Robinson, Chon Lok Lei, Gary R. Mirams, David J. Gavaghan

AI总结:

本文提出十条简单规则,旨在有效培养具备一定编程基础但缺乏正式软件工程训练的科研人员(如早期博士生),使其掌握开发可持续、高质量研究软件的必要技能,以支撑学术与工业生物医学研究。

摘要:

计算方法及其相关的软件实现是各个科学研究领域的核心。现代生物学研究,特别是在系统生物学领域,严重依赖于软件工具的开发,以处理和组织日益庞大的数据集,模拟复杂的机制模型,提供数据分析与管理工具,以及可视化和组织输出结果。然而,开发高质量的研究软件要求科学家掌握一系列软件开发技能,而向学生教授这些技能具有挑战性。确保计算研究的可重复性和良好的开发实践日益受到重视。然而,对于探讨哪些具体教学策略能有效培养研究人员掌握开发高质量软件所需的复杂技能集,人们关注较少,而这些高质量软件日益成为支撑学术和工业生物医学研究的基石。近期《十条简单规则》系列文章讨论了向生物学学生教授基础计算机科学和编程技术。我们通过描述有效教授科学家所需必要技能的具体步骤,推进了这一讨论,这些技能是开发适合在学术研究或更广泛领域中(重复)使用的可持续软件包所必需的。尽管我们的建议可能适用于所有希望提高软件开发技能的学生和研究人员,但我们的指南主要针对那些具备一定编程素养但缺乏软件开发或工程方面正式培训的学生,这通常是早期博士生的典型特征。这些实践也适用于博士培训环境之外,我们相信它们应该成为生命科学领域研究生培训计划更广泛意义上的关键组成部分。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑