Closed bernhold closed 3 years ago
Anshu, Rinku, and Pat have agreed to present.
DavidR can present if needed, but has limited time and is concerned about taking on a significant new time commitment. Maybe he can assist with hands-on activities instead of presenting?
The latest plan is that we will have fully functioning Zoom sessions for the tutorials. Breakout rooms will be enabled. Chat will be enabled.
I've sent all of the volunteers a calendar invite to hold the time blocks.
The organizers want breaks to be synchronized (they will have some kind of mixer activities during them). So the requested structure is 120 min instruction + 30 min break + 90 min instruction. Our next step will be to work out the details of the agenda.
Duration | Seq | Topic | Presenter |
---|---|---|---|
10 | 00 | Introduction and Setup | David E. Bernholdt, ORNL |
20 | 01 | Motivation and Overview of Best Practices in HPC Software Development | David E. Bernholdt, ORNL |
30 | 02 | Agile Methodologies | Rinku Gupta, ANL |
30 | 03 | Git Workflows | Patricia A. Grubel, LANL |
30 | 04 | Scientific Software Design | Anshu Dubey, ANL |
30 | Break | ||
30 | 05 | Improving Reproducibility Through Better Software Practices | David E. Bernholdt, ORNL |
15 | 06 | Agile Methodologies Redux | Rinku Gupta, ANL |
45 | Hands-On Activities | All |
Duration | Seq | Topic | Presenter |
---|---|---|---|
25 | 07 | Software Testing 1 | Patricia A. Grubel, LANL |
15 | 08 | Software Testing 1a | David M. Rogers, ORNL |
20 | 09 | Software Testing 2 | David M. Rogers, ORNL |
30 | 10 | Continuous Integration | David M. Rogers, ORNL |
30 | Hands-On Activities | All | |
30 | Break | ||
45 | 11 | Refactoring Scientific Software | Anshu Dubey, ANL |
15 | 12 | Summary | Anshu Dubey, ANL |
30 | Hands-On Activities | All |
Presentation development suggestions:
Hands-On development suggestions (prioritized):
- Git Workflows: Emphasize more git and git workflows as a collaborative tool
Do we need some introductory slides to Git in Git workflows? Some more emphasis and explanations related to how git workflows are defined as "team-accepted high-level patterns/rules on how to use git for efficient collaboration" but the technical concept of git remain the same, independent of git workflows.
We should narrow down on who is presenting the Workflows slides so that the presenter can work on an initial draft of revisions to suit their comfort level and others can provide feedback.
Do we need some introductory slides to Git in Git workflows?
My feeling is probably not. We want to keep the BSSw tutorials focused on things where we can really add value and where CSE/HPC demands a different perspective than general "industrial" computing. There's plenty of material out there on how to use git, at multiple levels. We might want to mention some of the resources we particularly like for that (and make sure they're in bssw.io), but not try to replicate them. (Ross Bartlett would be a good person to advise on this.) Further, our informal surveys of our audience suggest that a majority are now already using git, so they're familiar with at least the core ideas/capabilities.
My feeling is that we should talk about pull requests (and mention the idea of peer review and forward reference to CI testing), and branches, and merging but not go into a lot of detail (we can have more detail in the hands-on activities, but we don't want to bog down here in the presentation). Then we talk about git workflows as a set of rules for how to manage a repository to maintain certain properties (i.e. main is always buildable or deployable or whatever, branches are made for each release and bug fixes may be ported among branches as appropriate, conventions for feature branches, etc.)
However that's just my thinking, and I welcome the opinions of others on this...
I agree with you David. The main ideas are for how git workflows can help one's project. I think there are those who are using git but might not understand the ideas behind the workflow and handling things like pull requests etc. for the project they may be joining or setting up.
I've updated the hands-on material agenda to reflect the agenda above.
I'm currently working to add "solution" branches to the hands-on matialsi for isc21. Those will serve as the basis for building out the "missing" https://bssw-tutorial.github.io/2021-06-24-isc/handson-m08-testing.html, and testing walk-through. The main challenge is that there are three different repositories to work across - example code, hands-on instructions, and BSSW tutorial presentations (this one).