Software Mining and Applications (Sommersemester 2021)
Dozent:
Prof. Dr. Jürgen Döllner
(Computergrafische Systeme)
,
Willy Scheibel
(Computergrafische Systeme)
,
Daniel Atzberger
(Computergrafische Systeme)
,
Daniel Limberger
(Computergrafische Systeme)
Allgemeine Information
- Semesterwochenstunden: 4
- ECTS: 6
- Benotet:
Ja
- Einschreibefrist: 18.03.2021 - 09.04.2021
- Lehrform: Seminar / Projekt
- Belegungsart: Wahlpflichtmodul
- Lehrsprache: Deutsch
Studiengänge, Modulgruppen & Module
- IT-Systems Engineering
- IT-Systems Engineering
- HCGT: Human Computer Interaction & Computer Graphics Technology
- HPI-HCGT-K Konzepte und Methoden
- HCGT: Human Computer Interaction & Computer Graphics Technology
- HPI-HCGT-T Techniken und Werkzeuge
- HCGT: Human Computer Interaction & Computer Graphics Technology
- HPI-HCGT-S Spezialisierung
- ISAE: Internet, Security & Algorithm Engineering
- HPI-ISAE-T Techniken und Werkzeuge
- ISAE: Internet, Security & Algorithm Engineering
- HPI-ISAE-K Konzepte und Methoden
- ISAE: Internet, Security & Algorithm Engineering
- HPI-ISAE-S Spezialisierung
- OSIS: Operating Systems & Information Systems Technology
- HPI-OSIS-K Konzepte und Methoden
- OSIS: Operating Systems & Information Systems Technology
- HPI-OSIS-T Techniken und Werkzeuge
- OSIS: Operating Systems & Information Systems Technology
- HPI-OSIS-S Spezialisierung
- DATA: Data Analytics
- HPI-DATA-K Konzepte und Methoden
- DATA: Data Analytics
- HPI-DATA-T Techniken und Werkzeuge
- DATA: Data Analytics
- HPI-DATA-S Spezialisierung
- CODS: Complex Data Systems
- HPI-CODS-K Konzepte und Methoden
- CODS: Complex Data Systems
- HPI-CODS-T Techniken und Werkzeuge
- CODS: Complex Data Systems
- HPI-CODS-S Spezialisierung
Beschreibung
Im heutigen Softwareentwicklungsprozess werden Prozesse und Arbeit an Softwaresystemen digital erfasst (Project Management, Bug Tracking, Version Control, Build und Test Pipelines). Diese Daten können mithilfe von Process Mining und Software Data Mining extrahiert und aufbereitet werden. Dabei sind diese Daten in ihrer Struktur komplex und in ihrer Anzahl massiv, sowie andauernder zeitlicher Änderung unterlegen. Aus diesen Daten können dann analytische oder visuelle Ergebnisse zum Monitoring oder Management von Softwareentwicklungsprozessen abgeleitet werden.
In diesem Seminar werden Techniken und Methoden zur Erfassung, Aufbereitung und Visualisierung für die explorative, visuellen Analyse von Datensätzen aus dem Software Engineering untersucht, umgesetzt und erprobt.
Besonderer Fokus bei der Datenerfassung sind dabei Techniken zum Mining von Source Code und Metriken aus Versionsverwaltungssystemen und Prozessen und Metriken aus Projektmanagementplattformen. Für die Datenaufbereitung sollen insbesondere Data Cleansing und Machine Learning thematisiert werden. Im Bereich der Visualisierung soll der Fokus auf der Algorithmik und dem Rendering von Softwarevisualisierungsverfahren wie Treemaps und Topic Maps liegen.
In diesem Seminar werden dazu Forschungs- oder Softwareprojekte vorrangig in Einzelarbeit umgesetzt. Im Rahmen der eigenen Interessen kann aus unterschiedlichen Forschungsthemen des Fachgebietes ein Thema gewählt werden. Dabei kann das Projekt je nach Interesse und Thema stärker auf Erfassung, Aufbereitung oder Visualisierung fokussieren.
Voraussetzungen
Das Seminar richtet sich an Studierende im Masterstudiengang Data Engineering und IT-Systems Engineering. Für experimentell orientierte Projektthemen wird auf bestehende Visualisierungskomponenten zurückgegriffen. Darüber hinaus werden Kenntnisse einer Skriptsprache zur Datenverarbeitung (z.B. R oder Python) erwartet. Für Entwicklungsthemen sind dagegen projektabhängig Kenntnisse der objektorientierten Software-Entwicklung, der webbasierten Programmierung (JavaScript, Node.js), der Grundlagen der Computergrafik und auch der Visualisierung (OpenGL, GLSL und WebGL) von Vorteil. Vereinzelt können auch Serverkomponenten Fokus der Themen sein, wofür sich systemnahe Programmierung anbietet (Python, C++, Docker).
Students can participate in German or English.
Literatur
Zu jedem Thema gibt es neben den über das Internet frei zugänglichen Informationen eine Reihe aktueller Fachartikel, die bei der Themenvergabe mit ausgegeben werden. Die weitere Recherche von themenspezifischer Literatur ist Teil der Bearbeitung.
Als Motivation für das Seminar ist folgender Artikel zur Vorbereitung empfohlen:
Lern- und Lehrformen
In dem Seminar wird die forschungsnahe Projektarbeit mit individueller Betreuung durch das Fachgebiet gelehrt.
Materialien und Termine werden über einen Moodle Kurs ausgeteilt und bekanntgegeben. Es wird von jedem Teilnehmer erwartet, dass er in diesem Kurs eingeschrieben ist.
Leistungserfassung
Die Leistungspunkte werden erreicht, wenn die Studierenden:
-
über das Themengebiet, die Problemstellung und den benutzten Ansatz einen Zwischenvortrag abhalten (10%),
-
erfolgreich ein dem Thema entsprechendes Softwareentwicklungsprojekt (50%) planen und durchführen,
-
erfolgreich die Grundlagen und Ergebnisse in einer schriftlichen Ausarbeitung (~6 Seiten doppelspaltig) zusammenfassen (20%),
-
über das Arbeitspaket bzw. einen ausgewählten Aspekt erfolgreich einen Abschlussvortrag (20%) halten.
Termine
Wegen der anhaltenden Einschränkungen durch die Bundes- und Landesregierungen, sowie des Hasso-Plattner-Instituts zum Schutz der Studierenden und Mitarbeiter bezüglich SARS-CoV-2, findet das Seminar über Videokonferenzen statt.
Der Termin für die Seminareinführung und die Themenvorstellung ist Dienstag, der 13.04.2021 von 13:30 Uhr bis 15:00 Uhr. Die Details zur Einwahl im HPI BigBlueButton sind im Moodle verfügbar. Die angebotenen Themen sind nach dem Termin auch im Moodle verfügbar.
Für den weiteren Verlauf des Seminars werden individuelle, virtuelle Treffen mit den Betreuern vereinbart, für Zwischenstands- und Abschlussvorträge werden Termine in Absprache mit den Teilnehmenden festgelegt.
Zurück