This event is a part of the "Best Practices for HPC Software Developers" webinar series, produced by the IDEAS Productivity Project. The HPC Best Practices webinars address issues faced by developers of computational science and engineering (CSE) software on high-performance computers (HPC) and occur approximately monthly.
|Writing Clean Scientific Software
|Date and Time
|2023-07-12 01:00 pm EDT
|Nick Murphy (Center for Astrophysics, Harvard & Smithsonian)
|Registration, Information, and Archives
Webinars are free and open to the public, but advance registration is required through the Event website. Archives (recording, slides, Q&A) will be posted at the same link soon after the event.
Most scientists are largely self-taught as programmers. Even many of us who spend most of our time coding have never had formal training in writing software. This webinar is intended for students and scientists who have some experience writing code but who have had to learn mostly on their own. The webinar will describe tips and strategies on how to write readable, reusable, and maintainable code. These tips include writing short functions that do exactly one thing with no side-effects, and measuring the length of a variable name by the time needed to understand its meaning rather than by number of characters. The webinar will describe strategies for restructuring a complicated function into smaller and more manageable chunks, and provide tips on how to make the best use of comments and error messages. Overall, the webinar will embolden the Computational Science and Engineering (CS&E) community to think of code as communication.
Nick Murphy is an astrophysicist and research software engineer at the Center for Astrophysics in Cambridge, Massachusetts. Nick attended the University of Michigan as an undergraduate before heading to the University of Wisconsin for graduate school in astronomy. Most of Nick’s research has involved simulating plasma processes in the solar atmosphere. Nick co-founded the American Astronomical Society’s Working Group on Accessibility and Disability, and is now a member of the APS Division of Plasma Physics Diversity Equity and Inclusion Organizing Collective Committee. Nick is one of the core contributors to PlasmaPy: an open source Python package for plasma research and education.