bssw-tutorial / tutorial-management

An issues-only repository for overarching management of BSSw tutorial development and presentation
0 stars 0 forks source link

2021-06-24/2021-06-25: ISC tutorial #10

Closed bernhold closed 3 years ago

bernhold commented 3 years ago
bernhold commented 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?

bernhold commented 3 years ago

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.

bernhold commented 3 years ago

Day 1

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

Day 2

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
bernhold commented 3 years ago

Presentation development suggestions:

bernhold commented 3 years ago

Hands-On development suggestions (prioritized):

rinkug commented 3 years ago
  • 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.

bernhold commented 3 years ago

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...

pagrubel commented 3 years ago

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.

frobnitzem commented 3 years ago

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).