First RSE Workshop

Bringing together RSEs to develop and refine training material

August 9-10, Princeton University

Workshop Agenda


We are excited to announce our first INTERSECT RSE Workshop, August 9-10, 2022 at Princeton University! Thanks to a grant from the National Science Foundation, we are organizing a 1.5 day workshop to generate content for future INTERSECT-sponsored RSE bootcamps.

This workshop has two main goals:

  1. Collaboratively generate (and curate) training topics and content for the INTERSECT RSE Bootcamps.
  2. Foster collaboration and nurture RSE peer relationships within the community.

We have funding available to cover the expenses for some participants. We are asking for individuals to use this form to express and interest and ability to attend the entirety of the workshop.

Workshop Plan

This first workshop will lay the foundation for the INTERSECT-sponsored RSE bootcamps that aim to deliver RSE-led training to intermediate and advanced research software developers. As one of the primary goals of the workshop is to produce training materials, the bulk of the workshop time will be spent in small working groups focused on producing content. The following section provides an initial list of the topics for which workshop participants will develop and/or curate content.

Preliminary Structure

As a starting point for the workshop discussions, we have identified the following high-level topics. These topics constitute a proposed outline for the bootcamp. Beneath each topic is a list of the potential content for each topic to serve as a starting point for the workshop. Through discussion and collaboration during the workshop, participates will refine this list, perhaps significantly, and then collaboratively modify existing material or develop new material.

  1. Intro
    • Welcome and Introductions
    • Overview and Landscape
  2. Design
    • Design patterns and approaches
    • Refactoring & Legacy Code
  3. Working Collaboratively
    • Advanced Git
    • Making good PRs
    • Documentation
    • Project management and Issue Tracking
    • Code Review
  4. Testing
    • Types of testing
    • Writing good tests
    • Testing frameworks
    • Debugging
  5. Continuous Integration
    • Linters
    • Code Coverage
  6. Packaging & distribution
    • Versioning
    • Licensing
    • Building a Python package
    • Publishing and citation
  7. Performance
    • Overview of architecture and hardware (HPC)
    • Speeding up scientific Python
    • Profiling
  8. Machine Learning Basics
    • What every RSE should know about ML
  9. DevOps
    • Containerization
    • Continuous Deployment

Across all of the training modules, we have three overaching goals:

  1. Provide attendees with exposure to best practices & modern tools
  2. Provide attendees with hands-on practice and demonstration
  3. Help demystify buzz words

FAQs

How much is supposed to be done at the end of the workshop?

We aim to have each module 90% complete by the end of the workshop. Additional refinement and improvement can happen asynchronously afterward the workshop

What topics will we work on?

See the Preliminary Structure above for the tentative list of topics covered in the workshop.

What’s the format of the material?

We will determine this during the workshop. However we anticipate the materials will reside in some sort of Git repository.

What happens after?

After the workshop, we will finish curating the materials to prepare for the first INTERSECT Bootcamp.

Can I teach one of these sections elsewhere?

Yes. We intend to create reusable materials that can be taught in other venues.

Is there a remote participation option?

Not at the workshop. However, once the workshop ends we encourage community participation to extend and enhance the training material.

Other INTERSECT participation options ›