HiPerCH 16 / HeFDI Code School (hybrid)
Coding workshop for researchers with a working knowledge of writing and reading Python code that will be held as a hybrid event at TU Darmstadt and online.
- https://www.uni-giessen.de/de/ueber-uns/veranstaltungen/sonstige/hefdi-code-school-hiperch16-hybrid
- HiPerCH 16 / HeFDI Code School (hybrid)
- 2024-11-27T09:00:00+01:00
- 2024-11-29T13:00:00+01:00
- Coding workshop for researchers with a working knowledge of writing and reading Python code that will be held as a hybrid event at TU Darmstadt and online.
27.11.2024 09:00 bis 29.11.2024 13:00 (Europe/Berlin / UTC100)
TU Darmstadt or online, register here:
HiPerCH 16 / HeFDI Code School (27.-29. November 2024), hybrid
Sustainability, maintainability, 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.
This workshop will be held as a hybrid event at TU Darmstadt and online.
The Code School is organized by the HeFDI team, this winter term in cooperation with experts from HKHLR / HiPerCH. We have also cooperated with NFDI consortia (NFDI4Ing/ Suresoft, NFDI4Earth). All workshops are free-of-charge.
HiPerCH / HeFDI Code School meets the needs of researchers for further training in the field of software development. Software for the evaluation and creation of research data is now being developed in almost all research areas, but systematic training is rarely part of the curriculum or further training in non-computer science subjects. Without sustainable, high quality research software, the evaluation and analysis of research data is limited in many places and the traceability and reproducibility of research results is jeopardized. This is where HiPerCH / HeFDI Code School comes in and develops formats for further training in sustainable and qualitative research software for doctoral students and postdocs from all disciplines. The offer fills a gap, and demand is rising continuously.
The event takes place over the course of 3 days, from the 27th until the 29th November 2024. Registration will open on Oct 7th, 2024. For further details and registration, please refer to the HKHLR website. If you have any questions or suggestions regarding the HeFDI Code School, feel free to send us an email via hefdi-code-school@uni-marburg.de!
Prerequisites
Participants need a working knowledge of writing and reading Python code.
Bring your own device with a working Python installation (preferably Python >= 3.11).
Agenda
Day 1
- Introduction
- OOP in Python
- Usage and importance of version control system git
- Software design principles for modular and testable code
- Practical Exercise
Day 2
- Code refactoring
- Practical application of design principles in different example codes
- Practical Exercise
- Testing and validation techniques
Day 3
- Test automation
- Practical Exercise: Knowledge Transfer