The Better Scientific Software (BSSw) Tutorial
The BSSw tutorial focuses on issues of developer productivity, software sustainability, and reproducibility in scientific research software, particularly targeting high-performance computers. In selecting topics for our tutorials, we try to emphasize topics for which few other training resources are available which speak to the particular experiences of developers of scientific software.
We first presented a version of this tutorial in 2016, and since then we have been working continually to refine and expand it. We present it most often as part of conferences, but we are open to a wide range of venues, both in person (circumstances permitting) and online. Contact us for more information.
In the listings below, each tutorial event has its own page, providing details specific to that tutorial, including the agenda, presentations, hands-on activities, and other resources. Quick links are also provided to key tutorial artifacts, where available.
Stability and persistence
We consider the individual tutorial web pages to be archival. Once a tutorial is over, we minimize further changes, though we will update pages if we find significant issues in the tutorial materials, or when we get additional artifacts (e.g., recordings are rarely available immediately). We also periodically check the URLs in the “Resources from Presentations” sections of the pages and will attempt to provide alternative resources for links that are no longer available (we do not update the presentation slides). This site is hosted on GitHub Pages. Presentations are generally archived on FigShare, and recordings on YouTube. We rely on these high-profile sites to provide a reasonable degree of persistence for the tutorial resources.
Scheduled Tutorials
We do not currently have any tutorials scheduled. Check back periodically for updates. Also, some of our past tutorials have recordings available.
Past Tutorials
- 2024-08-02: Software Productivity and Sustainability track @ Argonne Training Program on Extreme-Scale Computing summer school (St. Charles, Illinois)
- Artifact: Presentation Slides (FigShare)
- 2024-06-18: Software Practices for Reproducible Science tutorial @ 2024 ACM Conference on Reproducibility and Replicability (ACM-REP) conference (Rennes, France and online)
- Artifact: Presentation Slides (FigShare)
- 2024-05-12: Better Scientific Software tutorial @ ISC High Performance conference (Hamburg, Germany)
- Artifact: Presentation Slides (FigShare)
- 2023-11-12: Better Software for Reproducible Science tutorial @ The International Conference for High-Performance Computing, Networking, Storage, and Analysis (SC23) conference (Denver, Colorado)
- Artifact: Presentation Slides (FigShare)
- 2023-08-04: Software Productivity and Sustainability track @ Argonne Training Program on Extreme-Scale Computing summer school (St. Charles, Illinois)
- Artifact: Presentation Slides (FigShare)
- 2023-08-01: Better Scientific Software tutorial @ NOAA Global Systems Laboratory (Boulder, Colorado)
- Artifact: Presentation Slides (FigShare)
- 2023-05-21: Better Scientific Software tutorial @ ISC High Performance conference (Hamburg, Germany, and online)
- Artifact: Presentation Slides (FigShare)
- 2023-04-18: Better Scientific Software tutorial @ Improving Scientific Software conference (Boulder, Colorado and online)
- Artifacts: Playlist (YouTube) | Presentation Slides (FigShare)
- 2023-02-06: Software Practices for Better Science: Testing, Reproducibility, and Documentation tutorial @ Exascale Computing Project Tutorial Days (online)
- Artifacts: Recording (YouTube) | Presentation Slides (FigShare)
- 2022-11-13: Better Scientific Software tutorial @ The International Conference for High-Performance Computing, Networking, Storage, and Analysis (SC22) conference (Dallas, Texas, and online)
- Artifact: Presentation Slides (FigShare)
- 2022-08-11: Software Productivity and Sustainability track @ Argonne Training Program on Extreme-Scale Computing summer school (St. Charles, Illinois)
- Artifacts: Playlist (YouTube) | Presentation Slides (FigShare)
- 2022-05-29: Better Scientific Software tutorial @ ISC High Performance conference (Hamburg, Germany, and online)
- Artifacts: Presentation Slides (FigShare) | Hands-On Code Repository (GitHub)
- 2022-05-02: Developing a Testing and Continuous Integration Strategy for your Team tutorial @ Exascale Computing Project Annual Meeting (online)
- Artifacts: Playlist (YouTube) | Presentation Slides (FigShare) | Hands-On Code Repository (GitHub)
- 2022-04-07: Better Scientific Software tutorial @ Improving Scientific Software conference (online)
- Artifacts: Playlist (YouTube) | Presentation Slides (FigShare) | Hands-On Code Repository (GitHub)
- 2021-11-15: Better Scientific Software tutorial @ The International Conference for High-Performance Computing, Networking, Storage, and Analysis (SC21) conference (St. Louis, Missouri and online)
- Artifacts: Playlist (YouTube) | Presentation Slides (FigShare) | Hands-On Code Repository (GitHub)
- 2021-08-12: Software Productivity and Sustainability track @ Argonne Training Program on Extreme-Scale Computing summer school (online)
- Artifacts: Playlist (YouTube) | Presentation Slides (FigShare) | Hands-On Code Repository (GitHub)
- 2021-06-24: Better Scientific Software tutorial @ ISC High Performance conference (online)
- Artifacts: Playlist (YouTube) | Presentation Slides (FigShare) | Hands-On Code Repository (GitHub)
- 2021-04-12: Developing a Testing and Continuous Integration Strategy for your Team tutorial @ Exascale Computing Project Annual Meeting (online)
- Artifacts: Playlist (YouTube) | Presentation Slides (FigShare)
- 2021-03-25: Better Scientific Software tutorial @ Improving Scientific Software conference (online)
- Artifacts: Playlist (YouTube) | Presentation Slides (FigShare) | Hands-On Code Repository (GitHub)
- 2020-11-10: Better Scientific Software tutorial @ The International Conference for High-Performance Computing, Networking, Storage, and Analysis (SC20) conference (online)
- Artifacts: Presentation Slides (FigShare) | Hands-On Code Repository (GitHub)
- 2020-08-06: Software Productivity and Sustainability track @ Argonne Training Program on Extreme-Scale Computing summer school (online)
- Artifacts: Playlist (YouTube) | Presentation Slides (FigShare) | Hands-On Code Repository (GitHub)
- 2020-03-05: Better Scientific Software tutorial @ RF SciDAC workshop (Knoxville, Tennessee)
- Artifact: Presentation Slides (FigShare)
- 2020-02-04: Better Scientific Software tutorial @ Exascale Computing Project Annual Meeting (Houston, Texas)
- Artifact: Presentation Slides (FigShare)
- 2019-11-18: Better Scientific Software tutorial @ The International Conference for High-Performance Computing, Networking, Storage, and Analysis (SC19) conference (Denver, Colorado)
- Artifact: Presentation Slides (FigShare)
- 2019-08-08: Software Productivity track @ Argonne Training Program on Extreme-Scale Computing summer school (St. Charles, Illinois)
- Artifacts: Playlist (YouTube) | Presentation Slides (FigShare)
- 2019-06-19: Better Scientific Software tutorial @ ISC High Performance conference (Frankfurt, Germany)
- Artifact: Presentation Slides (FigShare)
- 2019-01-14: Better Scientific Software tutorial @ Exascale Computing Project Annual Meeting (Houston, Texas)
- Artifact: Presentation Slides (FigShare)
- 2018-11-12: Better Scientific Software tutorial @ The International Conference for High-Performance Computing, Networking, Storage, and Analysis (SC18) conference (Dallas, Texas)
- Artifact: Presentation Slides (FigShare)
- 2018-08-08: Software Productivity track @ Argonne Training Program on Extreme-Scale Computing summer school (St. Charles, Illinois)
- Artifacts: Playlist (YouTube) | Presentation Slides (FigShare)
- 2018-06-24: Better Scientific Software tutorial @ ISC High Performance conference (Frankfurt, Germany)
- Artifact: Presentation Slides (FigShare)
- 2018-02-06: What All Codes Should Do: Overview of Best Practices in HPC Software Development tutorial @ Exascale Computing Project Annual Meeting (Knoxville, Tennessee)
- Artifact: Presentation Slides (FigShare)
- 2017-11-13: Better Scientific Software tutorial @ The International Conference for High-Performance Computing, Networking, Storage, and Analysis (SC17) conference (Denver, Colorado)
- Artifact: Presentation Slides (FigShare)
- 2017-08-09: Software Productivity track @ Argonne Training Program on Extreme-Scale Computing summer school (St. Charles, Illinois)
- Artifacts: Playlist (YouTube) | Presentation Slides (FigShare)
- 2017-02-28: CSE Collaboration through Software: Improving Productivity and Sustainability tutorial @ SIAM Computational Science and Engineering (2017) conference (Atlanta, Georgia)
- Artifact: Presentation Slides (FigShare)
- 2016-11-14: Testing of HPC Scientific Software tutorial @ The International Conference for High-Performance Computing, Networking, Storage, and Analysis (SC16) conference (Salt Lake City, Utah)
- Artifact: Presentation Slides (FigShare)
Acknowledgements
The BSSw tutorial is produced by the IDEAS Productivity project.
This work was supported by the U.S. Department of Energy Office of Science, Office of Advanced Scientific Computing Research (ASCR), and by 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.
This work was supported by the U.S. Department of Energy, Office of Science, Office of Advanced Scientific Computing Research, Next-Generation Scientific Software Technologies (NGSST) program.
Built 2024-10-04 from commit b1e2072