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
SWS 4 Semester SoSe 2024
Einrichtung Institut für Informatik und Computational Science   Sprache englisch
Belegungsfrist 02.04.2024 - 10.05.2024    aktuell
Gruppe 1:
     jetzt belegen / abmelden
    Tag Zeit Rhythmus Dauer Raum Lehrperson Ausfall-/Ausweichtermine Max. Teilnehmer/-innen
Einzeltermine anzeigen
Vorlesung Do 10:00 bis 12:00 wöchentlich 11.04.2024 bis 18.07.2024  2.70.0.11 Prof. Dr. Lamprecht  
Einzeltermine anzeigen
Übung Di 12:00 bis 14:00 wöchentlich 16.04.2024 bis 16.07.2024  2.70.0.01 Prof. Dr. Lamprecht  
Gruppe 2:
     jetzt belegen / abmelden
    Tag Zeit Rhythmus Dauer Raum Lehrperson Ausfall-/Ausweichtermine Max. Teilnehmer/-innen
Einzeltermine anzeigen
Vorlesung Do 10:00 bis 12:00 wöchentlich 11.04.2024 bis 18.07.2024  2.70.0.11 Prof. Dr. Lamprecht  
Einzeltermine anzeigen
Übung Di 16:00 bis 18:00 wöchentlich 16.04.2024 bis 16.07.2024  2.70.0.01 Prof. Dr. Lamprecht  
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, 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 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.

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
Die Veranstaltung wurde 21 mal im Vorlesungsverzeichnis SoSe 2024 gefunden:
Vorlesungsverzeichnis
Humanwissenschaftliche Fakultät
Department Linguistik
Bachelor of Science
Kognitionswissenschaft (Prüfungsversion ab WiSe 2021/22)
Pflichtmodule
INF-1060 - Software Engineering I (auslaufend)  - - - 1 offens Buch
INF-1060 - Software Engineering I  - - - 2 offens Buch
Wahlpflichtmodule
INF-2090 - Aufbaumodul Informatik I  - - - 3 offens Buch
Computerlinguistik (Prüfungsversion ab WiSe 2017/18)
Wahlpflichtmodule Informatik
INF 1060 - Software Engineering I (auslaufend)  - - - 4 offens Buch
INF 1060 - Software Engineering I  - - - 5 offens Buch
Mathematisch-Naturwissenschaftliche Fakultät
Institut für Informatik und Computational Science
Bachelor of Science
Computational Science (Prüfungsversion ab WiSe 2013/14)
I. Grundlagenmodule Informatik
Software Engineering I (auslaufend)  - - - 6 offens Buch
Software Engineering I  - - - 7 offens Buch
II. Aufbaumodule Informatik
Aufbaumodul Informatik I  - - - 8 offens Buch
Computational Science (Prüfungsversion ab WiSe 2019/20)
I. Grundlagenmodule Informatik/Computational Science
INF-1060 - Software Engineering I  - - - 9 offens Buch
INF-1060 - Software Engineering I (ausluafend)  - - - 10 offens Buch
II. Aufbaumodule Informatik
INF-2090 - Aufbaumodul Informatik I  - - - 11 offens Buch
Master of Science
Computational Science (Prüfungsversion ab WiSe 2019/20)
I. Kernmodule Computational Science
INF-7040 - Effiziente Datenverarbeitung für die Naturwissenschaften  - - - 12 offens Buch
Data Science (Prüfungsversion ab WiSe 2018/19)
Elective Modules - Advanced Module
INF-DSAM4B - Advanced Infrastructures and Software Engineering B  - - - 13 offens Buch
INF-DSAM4A - Advanced Infrastructures and Software Engineering A  - - - 14 offens Buch
Compulsory Modules
INF-DS-C2 - Data Infrastructures and Software Engineering  - - - 15 offens Buch
Bachelor of Education
Informatik (Prüfungsversion ab WiSe 2020/21)
Pflichtmodule
INF-1060 - Software Engineering I  - - - 16 offens Buch
INF-1060 - Software Engineering I (auslaufend)  - - - 17 offens Buch
Institutsübergreifende Studiengänge
Master of Science
Climate, Earth, Water, Sustainability (Prüfungsversion ab WiSe 2021/22)
Elective Modules
PHY-SS05 - Recent Advances in ClEWS  - - - 18 offens Buch
Institut für Physik und Astronomie
Master of Science
Physik (Prüfungsversion ab WiSe 2019/20)
Wahlpflichtmodule
Außerfachliche Ergänzung
INF-DS-C2 - Data Infrastructures and Software Engineering  - - - 19 offens Buch
Wirtschafts- und Sozialwissenschaftliche Fakultät
Wirtschaftswissenschaften
Bachelor of Science
Wirtschaftsinformatik (Prüfungsversion ab WiSe 2015/16)
Informatik
INF-1060 - Software Engineering I  - - - 20 offens Buch
INF-1060 - Software Engineering I (auslaufend)  - - - 21 offens Buch