main content

HeFDI Data Workshops 'Sustainable Research Software'


12. May 2023 10:00 – 12. May 2023 12:00
26. May 2023 10:00 – 26. May 2023 12:00
23. June 2023 10:00 – 23. June 2023 12:00
07. July 2023 10:00 – 07. July 2023 12:00
Download events (.ics)


Workshop - May 12 - Scientific Software Development is not a Jenga game!

Scientific software is often hard to maintain and reuse. A major reason for the instability of software is that it is subject to continuous change. This is especially true for software in the scientific context, since the scientific discourse is open-ended. Change has caused difficulties for scientific software developers from the very beginning, and it continues to do so. In parallel, the software engineering community has produced numerous developments that we as research software developers can take advantage of to significantly support our work. This workshop is an introduction on how to bridge the gap between both worlds and introduces practices, methods and principles to develop maintainable software and to make the software development process sustainable.

Workshop - May 26 - Clean Code and Refactoring

In the scientific environment with ever-changing requirements, it is important to produce source code that can be read, understood and modified by ourselves or others. This workshop will teach you how to apply clean code principles and refactoring techniques to produce high quality, maintainable code.

Workshop - June 23 - Introduction to Software Testing

Software testing ensures the proper functioning of a constantly evolving software and helps to quickly identify faults in a software code. This workshop introduces the first steps toward writing various types of software tests for scientific codes along with hands-on sessions.

Workshop - July 07 - Continuous Integration and Test Driven Development

Continuous Integration (CI) and Test-driven development (TDD) are two software development practices that complement each other and can be used together to improve the quality and efficiency of software development.

CI is a development practice that emphasizes integrating and testing code changes frequently in a shared repository. The goal is to catch bugs and issues early in the development process, before they become more difficult and expensive to fix.

TDD, on the other hand, is a development approach that emphasizes writing automated tests before writing the code. The developer writes a failing test, then writes the code to make the test pass, and finally refactors the code to improve its quality. This cycle is repeated for each new feature or change to the code.

When used together, CI and TDD can help to ensure that the code is always in a functional and deployable state, and that any issues or bugs are caught early in the development process.

For more information see the following announcement

Event Organizer

HeFDI, Suresoft, NFDI4Ing


Cooperation Partners