Proseminar „Softwareentwicklung in der Wissenschaft“
Beschreibung
Im Seminar werden wir die Softwareentwicklung in der Wissenschaft diskutieren. Im Detail der Prozess von der wissenschaftlichen Fragestellung über die Modellierung und Programmierung bis hin zur Analyse der Ergebnisse. Hierzu werden Softwareentwicklungswerkzeuge und Mechanismen vorgestellt und deren Umsetzung in der bestehenden Praxis analysiert.
Die Lehrmaterialien sind typischerweise in englischer Sprache.
Beachten Sie auch unsere allgemeinen organisatorischen Hinweise zu Seminaren.
Zielgruppe
Das Proseminar eignet sich für Studierende im Bachelortudiengängen mit Bezug zur Informatik sowie als Seminar im Masterstudiengang in den Geowissenschaften.
Wir fordern explizit Studierende der angewandten Informatik zur Teilnahme auf beispielsweise Bioinformatik, Wirtschaftsinformatik sowie Geowissenschaftler.
Für Studierende der Informatik und Geowissenschaften wird die Anrechnung innerhalb des Studiums problemlos möglich, Studierende anderer Studiengänge müssen die Anrechnung mit dem jeweiligen Prüfungsausschuss klären.
Interessierte Zuhörer sind auch herzlich willkommen.
Daten der Veranstaltung
Ort | DKRZ, Raum 034 |
Zeit | Montag 14:15 - 15:45 oder Montag 16:15 - 17:45 |
Vorbesprechung | Montag 06.04.2020 14:15 |
Mailingliste | SIW-20 |
Dozenten
Theorie
Vertiefende Vorträge zu Einzelaspekten der Softwareentwicklung in der Wissenschaft, z.B:
Modellierung und Simulation
Leistungsanalyse und Effizienz
Auswahl der Numerik und Algorithmen
Algorithm Engineering
Verifikation, und Validierung:
Assesment of Accuracy and Reliability
Qualität von berechneten Lösungen (floating point Repräsentation), Conditionierung
Computer-assisted Proofs and Self-Validating Methods
General Methods for Implementing Reliable and Correct Software
Design and execution of validation experiments
Solution Verification & Fehlerquellen
Software Engineering
…
Zeitplan
Nach der Festlegung der Themen soll der Inhalt mit dem jeweiligen Betreuer diskutiert werden.
Einführungs-Vortrag
Abschließend soll aus den Ausarbeitungen ein Bericht generiert werden.
Das LaTeX-Template hierzu wird von uns vorgegeben.
14:15 - 15:45
11.05.
18.05.
-
-
Inhalt: Motivation, Vergleich mit anderen Softwareverwaltungstools (siehe EasyBuild-Thema), Benutzung (siehe
Tutorial)
25.05.
Grundlegendes Python Setup (venv, pip, argparse, yaml config files)
5) - Jonas Lefert
Vortrag Ausarbeitung
08.06.
15.06.
22.06.
29.06.
06.07.
-
MPI: Einseitige Kommunikation (Paper) 14)
13.07.
Software Parallelisierung: Parallelisierungsbibliotheken: TBB (
Quelle1) (
Quelle2)
[English Only]15) – Lars Taddey
Vortrag
-
16:15 - 17:45
11.05.
-
Inhalt: Motivation, grundlegende Syntax, Unterschiede zu anderen Sprachen (Vor- und Nachteile), kleines Beispielprogramm (z. B. C vs. Rust)
-
18.05.
-
Inhalt: Motivation, Vergleich mit anderen Buildsystemen (siehe Meson-Thema), Benutzung, kleines Beispiel
-
Inhalt: Motivation, Vergleich mit anderen Buildsystemen (siehe CMake-Thema), Benutzung, kleines Beispiel
25.05.
08.06.
15.06.
-
-
12 Regeln für statistisch korrektes Benchmarking (
Paper)
-
22.06.
Machine Learning: Generative Adversarial Networks (GANs) (
Paper)
27) - Hergen Lehmann
-
29.06.
06.07.
13.07.
Softwareverwaltung: Container
32) - Pascal Kröger
Vortrag
Inhalt: Motivation, Technologien (
Docker,
Podman), Nutzungsszenarien
Offene Themenliste
-
-
17: Software Parallelisierung: A Case Study for Performance Portability using OpenMP 4.5 (
Paper)
[English Only]35)
18: Software Parallelisierung: Integrating GPU support for OpenMP offloading directives into Clang (
Paper)
[English Only]36)
34: LLVM: Umgang mit dem
AST 37)
-
36: LLVM: Profiling mit DiscoPoP (
Paper)
39)
-
38: Reproduzierbarkeit: Wie ein mehr davon? (
Paper)
41)
-