Zur Seitennavigation oder mit Tastenkombination für den accesskey-Taste und Taste 1 
Zum Seiteninhalt oder mit Tastenkombination für den accesskey und Taste 2 

Foto: Matthias Friel

Research Software Engineering - Einzelansicht

Veranstaltungsart Vorlesung/Übung Veranstaltungsnummer 551721
SWS Semester SoSe 2023
Einrichtung Institut für Informatik und Computational Science   Sprache englisch
Belegungsfrist 03.04.2023 - 10.05.2023

Belegung über PULS
Gruppe 1:
     jetzt belegen / abmelden
    Tag Zeit Rhythmus Dauer Raum Lehrperson Ausfall-/Ausweichtermine Max. Teilnehmer/-innen
Einzeltermine anzeigen
Vorlesung Di 14:00 bis 16:00 wöchentlich 18.04.2023 bis 25.07.2023  2.70.0.01 Prof. Dr. Lamprecht  
Einzeltermine anzeigen
Übung Mi 10:00 bis 12:00 wöchentlich 26.04.2023 bis 26.07.2023  2.70.0.05 Prof. Dr. Lamprecht  
Gruppe 2:
     jetzt belegen / abmelden
    Tag Zeit Rhythmus Dauer Raum Lehrperson Ausfall-/Ausweichtermine Max. Teilnehmer/-innen
Einzeltermine anzeigen
Vorlesung Di 14:00 bis 16:00 wöchentlich 18.04.2023 bis 25.07.2023  2.70.0.01 Prof. Dr. Lamprecht  
Einzeltermine anzeigen
Übung Mi 12:00 bis 14:00 wöchentlich 19.04.2023 bis 26.07.2023  2.70.0.05 Prof. Dr. Lamprecht  
Kommentar

Software is vital for contemporary research: The most precious data is worthless without suitable software to process and analyze it. Over the past decade, Research Software Engineering (RSE) has formed as a new discipline to professionalize the development of software for scientific applications.

This course is an introduction to Research Software Engineering. It is intended for students who are already using Python (or a similar programming language) for data analysis, and who want to take their coding and software development skills to the next level. The course covers topics like version control with Git/GitLab, coding standards, development processes, requirements analysis, software architectures and design, testing and error handling, software licensing, software publication and citation, building command-line tools, configurable programs, creating packages, and workflow automation.

The weekly lectures are accompanied by exercise sessions to practice the concepts and techniques discussed. Students will furthermore work on two research software projects during the course, the first individually and the second in an interdisciplinary team. For both, students are invited to bring their own research ideas and problems.

Literatur

The course uses the textbook "Research Software Engineering with Python" (D. Irving et al., 2021, https://merely-useful.tech/py-rse/index.html) and selected additional material (provided in the course).

Bemerkung

The course "Forschungsdatenmanagement/Research Data Management" (taught by Prof. Dr. Lucke) complements this course with a focus on how to manage research data professionally.

Voraussetzungen

The course assumes basic programming skills in Python (e.g. as acquired in "Grundlagen der Programmierung") and builds on that. You should be comfortable doing things like reading data from files and writing loops, conditionals, and functions. If you know another imperative programming language well, you can probably manage to pick up enough Python during the course.

Leistungsnachweis

Projects and (written or oral) exam.

Lerninhalte

Learning outcomes of this course include:
- Organize small and medium-sized data science projects.
- Use the Unix shell to efficiently manage your data and code.
- Write Python programs that can be used on the command line.
- Use Git to track and share your work.
- Work productively in a small team where everyone is welcome.
- Enable users to configure your software without modifying it directly.
- Analyse requirements and develop suitable software architectures.
- Organise code in a modular and sustainable way.
- Test your software and know which parts have not yet been tested.
- Find, handle, and fix errors in your code.
- Publish your code and research in open and reproducible ways.
- Create Python packages that can be installed in standard ways.
- Use Make, SnakeMake and other workflow managers to automate complex workflows.

Zielgruppe

Students from all disciplines who have at least basic programming skills (preferably in Python) and want to learn more about conducting research software projects professionally.


Strukturbaum
Keine Einordnung ins Vorlesungsverzeichnis vorhanden. Veranstaltung ist aus dem Semester SoSe 2023 , Aktuelles Semester: WiSe 2024/25