Seminar „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 Softwareentwicklungs-werkzeuge und Mechanismen vorgestellt und deren Umsetzung in der bestehenden Praxis analysiert.
Die Themen werden sich entsprechend in zwei Blöcke gliedern, einmal ausgesuchte Themen zur Theorie der Softwareentwicklung und dann der Abgleich mit der Wissenschaftlichen Praxis. Dies kann einmal durch das Studium ausgesuchter Literatur oder anhand von wissenschaftlichen Veröffentlichungen sowie durch persönliche Interviews von Wissenschaftlern, die wissenschaftliche Software entwickeln oder betreuen, erfolgen. Die Diskrepanz zwischen Theorie und Praxis wird diskutiert und Stärken und Schwächen der Arbeitsansätze besprochen.
Beachten Sie auch unsere allgemeinen organisatorischen Hinweise zu Seminaren.
Zielgruppe
Das Seminar eignet sich für Studierende im Bachelortudiengängen mit Bezug zur Informatik sowie 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
Dozenten
- Thomas Ludwig
- Hermann Lenhart
Themenliste
Theorie
Hier werden vertiefende Vorträge zu Einzelaspekten der Softwareentwicklung in der Wissenschaft angeboten, z.B:
- Modellierung und Simulation
- Leistungsanalyse und Effizienz
- Auswahl der Numerik und Algorithmen
- Algorithm Engineering (and Software-reliability 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 (IV, Roy)
- Solution Verification & Fehlerquellen (I, III, Roy)
Weitere ausgewählte Artikel zum Thema können auch bearbeitet werden.
Wissenschaftliche Praxis
Praxis in diversen Projekten: An Hand von Interviews soll die Praxis der Softwareentwicklung beispielhaft evaluiert werden. Im Mittelpunkt der Interviews stehen konkrete Fragen warum eine bestimmte Software entwickelt wird, von wem und wie diese entwickelt. Aufbauend auf den persönlichen Kenntnissen und Fähigkeiten im Bereich der Informatik kann als Ausgangspunkt die Einführungspräsentation, die angebene Literatur und eigene Literaturrecherche dienen. Die von uns ausgewählten Interviewpartner werden über eines (oder mehrere) ihrer Projekte mit euch sprechen, euch evtl. Hintergrundinformation in Form von Papern, Dokumentationen oder Links zur Fragestellung geben. Hieraus sind konkrete und gezielte Fragen zum Projekt und der Softwareentwicklung für das Interview zu erarbeiten.
In euren Präsentationen im Seminar stellt ihr die Fragestellung(en) der Interviewpartner, die behandelte Software, den Projektkontext und die hieraus evaluierte SWE in der Praxis vor. Daneben sind projektabhängige und von euren Interessen abhängige Schwerpunkte und Fragestellungen von euch zu erstellen. Als Leitfaden kann das Muster des Fragenkataloges dienen:
Einführungsfragebogen Softwareentwicklung in der Wissenschaft
Die Interviewpartner sind von uns ausgesucht und werden euch von uns genannt.
Abschließend soll aus den Ausarbeitungen ein Bericht generiert werden. Das LaTeX-Template hierzu wird von uns vorgegeben.
Zeitplan und Materialien
Als Themenblöcke für die Literaturvorträge wurden zusammengestellt (jeder Themenblock entspricht einem Vortrag):
A) Probleme bei Softwareentwicklung:
McManua & Wood-Harper, 2007: Software engineering: a quality management perspective. The TQM Magazine Vol 19, No. 4, 2007, pp. 315-327.
Segal & Morris, 2008: Develloping Scientific Software, IEEE Software pp. 18-20
Segal, 2008: Models of scientific sortware development. IN: SECSE08, International Workshop on Software Engeneering in Computationsl Science and Engeneering, Leipzig, Germany (2008), pp. 1-5.
B) Studien zur Interaktion von Informatik und Naturwissenschaften:
Carver, Kendall, Squires & Post, 2007: Software Development Environments for Scientific and Engineering Software: A Series of case studies. ISCE07 Proceedings fo the 29th international conference on Software Engineering. pp-1-10.
Kendall, Fisher, Hernderson, Carver, Post, Rhoades & Squires, 2008: Development of a Weather Forecast Code: A case study. IEEE Software pp. 59-65.
Basil et al., 2008: Understanding The High Performance Computing Community: A Software Engineer's perspective. IEEE Software pp. 29-36.
Vorschläge für die Interviews:
ZMAW Institute
BSH: Bundesamt für Seeschifffahrt und Hydrographie
bitte Vorschläge zu einem Institut und/oder Personen an uns schicken.
Termine für Vorträge
Termin 24.06.2013:
Vortrag: Leonie Pick "Studien zur Interaktion von Informatik und Naturwissenschaften" Ausarbeitung zum Vortrag
Vortrag: Dominik Rupp "Softwareentwicklung beim Bundesamt für Seeschifffahrt und Hydrographie"
Termin 01.07.2013:
Vortrag: Renko Buhr "Probleme der Softwareentwicklung in der Wissenschaften"
Literaturhinweise
- Scientific Software Engineering in a Nutshell Online Dokument
- Scientific Software Engineering - Basic techniques of creating practical scientific software PDF Präsentation
- gitworkflows (Man page)
- Release Management in Free Software Projects: Practices and Problems (Springer)
- Lustige Anekdote Pseudo scientific Software Engineering
- Software Entwicklung - Kampf der Altlasten HTML
- Report from the Second International Workshop on Software Engineering for Computational Science and Engineering (SE-CSE 09)