Inhaltspezifische Aktionen

HKHLR/HeFDI Code School Advanced Track: Principles of Research Software Engineering (hybrid)

3 Days Workshop with a lot of Hands-On-Sessions and Tasks for Advanced Programmers who want to improve their Coding Skills

Wann

20.10.2025 bis 22.10.2025 (Europe/Berlin / UTC200)

Wo

On-Site in Marburg and online (hybrid)

Name des Kontakts

Telefon des Kontakts

0641/99-14013

Termin zum Kalender hinzufügen

iCal


General Information

Sustainability, maintainablilty, testability and ease of use of research software, while gaining importance, often fall short in scientific practice. Applying principles of software engineering and design can greatly improve software quality, thereby enabling others to readily use it, to understand and reproduce results. Ultimately, this enhances the overall scientific quality of the published results.

In this course, we dive into the practical aspects of software engineering and design specifically tailored for scientific software, in order to make it more extensible, maintainable and testable. The principles we discuss can be applied to various types of codes such as software for numerical simulation as well as scripts for data processing.

We take the viewpoint of an academic software developer that is exposed to an existing code base with the task to add further functionality. Approaches to dealing with common obstacles like missing tests, interposed functional aspects and inherited technical dept will be discussed. Based on the lessons learned, we also explore how to structure and deploy software used for e.g. data processing.

During practical hands-on sessions, participants will interactively learn how to utilize software development techniques to tackle the aforementioned issues in practice in order to enhance the quality and reproducibility of their software.

Workshop schedule

Day Time
Monday, October 20 10-12 a.m. and 1-5 p.m.
Tuesday, October 21 9-12 a.m. and 1-5 p.m.
Wednesday, October 22 9-12 a.m. and 1-4 p.m.

There will be a coffee break in the morning and afternoon.

Agenda

  • Software design principles for modular and testable code
  • Practical application of design principles in different example codes
  • OOP in Python
  • Usage and importance of version control system git
  • Code refactoring
  • Testing and validation techniques
  • Test automation
  • Practical & Transfer Exercises

Prerequisites

The workshop is designed for any users and authors of research software. No knowledge of high performance computing is necessary.
Participants need a working knowledge of writing and reading Python code. Bring your own device with a working Python installation (preferably Python >= 3.11).

Registration

This workshop will be conducted in cooperation with the HKHLR (Hessisches Kompetenzzentrum für Hochleistungsrechnen / Competence Center for High Performance Computing in Hessen) and as a hybrid event. The On-Site-location is at the Philipps-University Marburg.

Find all information here: https://www.uni-marburg.de/en/hefdi/data-events/code-school

Registration (On-Site-participation; limited to 20 attendees): https://eveeno.com/298972792
Registration (Online-participation): https://eveeno.com/codeschool25on