Downloads provided by UsageCounts
This talk describes the motivation and design of learning modules for teaching best practices for developing research software and practical computational science. These modules have been offered twice as a 10-week graduate course in an engineering program, although the content applies broadly to any field of scientific and/or engineering research where software may be developed. Topics taught include local and remote version control, licensing and copyright, structuring Python modules, testing and test coverage, continuous integration, packaging and distribution, open science, introduction to parallelism, software citation, and reproducibility basics, among others. Lectures are supplemented by in-class activities and discussions, and all course material is shared openly via GitHub. In the 10-week course, student work is heavily based on a single, term-long project where students individually develop a software package targeted at their own research topic; all contributions must be submitted as pull requests and reviewed/merged by other students. The course was offered in 2018 and 2019 to 24 students total, and shorter-length workshops will also be offered.
This work was supported by a Better Scientific Software Fellowship, part of the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration.
education, research software, best practices
education, research software, best practices
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
| views | 2 | |
| downloads | 6 |

Views provided by UsageCounts
Downloads provided by UsageCounts