Research Software Engineering - Einzelansicht

Veranstaltungsart Vorlesung/Übung Veranstaltungsnummer
SWS 4 Semester SoSe 2025
Einrichtung Institut für Informatik und Computational Science   Sprache englisch
Belegungsfristen 01.04.2025 - 10.05.2025

Belegung über PULS
01.04.2025 - 10.05.2025

Belegung über PULS
Gruppe 1:
     jetzt belegen / abmelden
    Tag Zeit Rhythmus Dauer Raum Lehrperson Ausfall-/Ausweichtermine Max. Teilnehmer/-innen
Einzeltermine anzeigen
Übung Mo 10:00 bis 12:00 wöchentlich 07.04.2025 bis 14.07.2025  2.70.0.11 Prof. Dr. Lamprecht ,
Müller
09.06.2025: Pfingstmontag
Einzeltermine anzeigen
Vorlesung Do 16:00 bis 18:00 wöchentlich 10.04.2025 bis 17.07.2025  2.25.F0.01 Prof. Dr. Lamprecht 12.06.2025: 
Gruppe 2:
     jetzt belegen / abmelden
    Tag Zeit Rhythmus Dauer Raum Lehrperson Ausfall-/Ausweichtermine Max. Teilnehmer/-innen
Einzeltermine anzeigen
Übung Di 12:00 bis 14:00 wöchentlich 08.04.2025 bis 15.07.2025  2.70.0.10 Prof. Dr. Lamprecht ,
Müller
10.06.2025: 
Einzeltermine anzeigen
Vorlesung Do 16:00 bis 18:00 wöchentlich 10.04.2025 bis 17.07.2025  2.25.F0.01 Prof. Dr. Lamprecht 12.06.2025: 
Gruppe 3:
     jetzt belegen / abmelden
    Tag Zeit Rhythmus Dauer Raum Lehrperson Ausfall-/Ausweichtermine Max. Teilnehmer/-innen
Einzeltermine anzeigen
Übung Di 16:00 bis 18:00 wöchentlich 08.04.2025 bis 15.07.2025  2.70.0.09 Prof. Dr. Lamprecht ,
Müller
10.06.2025: 
Einzeltermine anzeigen
Vorlesung Do 16:00 bis 18:00 wöchentlich 10.04.2025 bis 17.07.2025  2.25.F0.01 Prof. Dr. Lamprecht 12.06.2025: 
Kurzkommentar

Bitte beachten: Die Belegung dieses Kurses als Modul INF-1060 ist nur für die BSc-Studiengänge Computerlinguistik und Kognitionswissenschaften vorgesehen.

Teilnehmende aus anderen Studiengängen belegen den Kurs bitte unter einem der Module INF-2090 - Aufbaumodul Informatik I, BVMINF100 - Vertiefung Informatik I, BVMINF200 - Vertiefung Informatik II, INF-7040 - Effiziente Datenverarbeitung für die Naturwissenschaften, INF-DSAM4A - Advanced Infrastructures and Software Engineering A, INF-DSAM4B - Advanced Infrastructures and Software Engineering B, INF-DS-C2 - Data Infrastructures and Software Engineering, GEE-SS06 - Current Topics in ClEWS oder PHY-SS05 - Recent Advances in ClEWS.

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.

Please join the course on Moodle: https://moodle2.uni-potsdam.de/course/view.php?id=42737

 

The first lecture of the course is on Thursday, 10th April. However, we ask you to go through a number of things before that, and visit the labs on 7th or 8th April if necessary:

  1. Software to install: We will need a number of software tools in the course, so you should make sure to have them installed and running before the first lecture. Please follow the instructions at https://se-up.github.io/RSE-UP/chapters/install.html to get set up. If you encounter any problems, visit the labs in the first week to get help.
  2. Python refresher: https://se-up.github.io/RSE-UP/exercises/python_refresher.html contains a number of Python exercises that you can use as a refresher, and to check if your level of Python matches the expectations of the course. We highly recommend to do them before the first lecture. If you encounter any problems, please visit the labs in the first week, where sample solutions to these exercises will be discussed.
Literatur

The course uses the textbook "Research Software Engineering with Python" (D. Irving et al., 2021, https://third-bit.com/py-rse/) 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 2025 , Aktuelles Semester: WiSe 2025/26