HiPerCH 12 - Module 2

HiPerCH 12 - Module 2

Introduction to Research Software Engineering


 

Content

 

This course introduces selected fundamental methods and good practices from software engineering and highlights their value for research.

Successful science is based on a systematic approach to research. But in practice, the development and use of research software often lacks methodology: no "laboratory journals" are being kept, the evaluation process is left undocumented, and the testing of results remains unstructured. Furthermore, reviews of self-written software barely occur.

But thoroughly checked software and the documentation of its use is increasingly required for scientific publications. Researchers benefit from applying principles of software engineering to their practice.

The workshop is sectioned in two sessions, each featuring a live demo covering key aspects.

In the morning session we address engineering methods used in software development for tracking change, ensuring correctness and collaborating with others on software development.

  •  How to version control (Gitlab): branching, merging and issue tracking.
  •  What to put under version control?
  •  Aspects of automating evaluation process.
  •  Considerations for selecting and automating test cases.

The afternoon session is dedicated to the question how to make scientific results produced with software the most sustainable.  We will outline some ideas for sustainable code development:

  •  Practical usage of version control.
  •  Writing comprehensible code.
  •  Adding elementary documentation.
  •  Adding a license.
  •  Making a release.
  •  Making code citable.

We will close the workshop with an outlook to elements of software carpentry like continuous integration and testing.


 

Agenda

 

  • 09:00   Welcome & Introduction
  • 09:15   Session 1: Introduction to Software Processes & Change
  • 10:30   Break
  • 10:45   Live-Demo 1: "Software project management: Forking, working on features and merge back“
  • 12:00   Lunch Break
  • 13:00   Session 2: Software Engineering in Support for Sustainable Science
  • 14:45   Break
  • 15:00   Live-Demo 2: "Making a script reuse- and publishable"
  • 15:30   Outlook: Software Carpentry

 

Trainer(s)

 

  • Dr. Marcel Giar (HKHLR)
  • Carina Haupt (DLR)
  • Dr. Christian Iwainsky (HKHLR)
  • Tobias Schlauch (DLR)

 

Participation

 

  • Sessions will be held online via Zoom. Contact data will be made available after successful registration.
  • The maximum number of participants is 30.

Participating Universities