Kai Mindermann

Kai Mindermann M.Sc.

Ich bin 27 Jahre alt und habe Informatik an der Universität Stuttgart studiert. Im Studium habe ich die Vertiefungslinien Theoretische Informatik und Wissenschaftliches Rechnen und Visualisierung und Interaktive Systeme belegt. Auch in meiner Freizeit beschäftige ich mich oft mit Softwareentwicklung, im Speziellen der Softwarearchitektur, sowie mit der, teils ehrenamtlichen, Betreuung und Weiterentwicklung von Web-Plattformen. Darüberhinaus gehe ich dem Leistungssport Schwimmen nach, um für einen gesunden Ausgleich mit Sport zu sorgen.

Softwareentwickler

Bei der Softwareentwicklung lege ich großen Wert auf die Verwendung von sinnvollen Normen. Dazu zähle ich insbesondere die Vermeidung von Anti-Patterns und die korrekte Anwendung von Entwurfsmustern. Insbesondere bin ich ein Verfechter der Trennung von Verantwortlichkeiten (zum Beispiel durch Verwendung von MVC).

Ehrenamt

Neben der schwimmsportlichen Nutzung der Angebote des Schwimmverein Waiblingen e. V. bin ich in dem Verein auch ehrenamtlich tätig. Dazu zählt hauptsächlich die Tätigkeit im Vorstand als 2. Vorsitzender. Des Weiteren bin ich aber auch für den Webauftritt und weitere IT-bezogene Dinge zuständig. Dank eines tollen Teams im Vorstand teile ich mit dem Schwimmverein Waiblingen e. V. gerne mein Wissen und bringe den Verein mit meinen Fertigkeiten weiter.

Akademischer Mitarbeiter

Seit 2015 bin ich als akademischer Mitarbeiter in der Abteilung Software Engineering am Institut für Softwaretechnologie der Universität Stuttgart tätig.

Lehre

  • Softwarepraktikum:
    • Ausführliche Planung und Vorbereitungsmaßnahmen bereits während der vorlesungsfreien Zeit im Sommersemester 2015 auf Grund der Umstellung auf teilweise iteratives Vorgehen sowie der Einführung eines auf Spielgeld basierenden Bewertungssystems.
    • Einführung der verpflichtenden Nutzung (für Entwicklung und Abgaben) einer Social-Coding-Plattform, GitLab.
    • Betreuen der bis zu 36 Entwickler-Teams mit jeweils 3 Studenten sowie der ca. 5 Tutoren.
  • Vorlesung: Softwarequalität
    • Halten der Vorlesung, Vortragsübungen, Erstellen der Aufgabenblätter sowie Betreuung des Online-Forums zur Vorlesung.
  • Neues Seminar: Informationssicherheit in der Softwaretechnik
    • Leitung des Seminars, Betreuung der Teilnehmer und Bewertung der Vorträge und Ausarbeitungen.
  • Seminar Software-Qualitätskontrolle:
    • Betreuung der Teilnehmer und Bewertung der Vorträge und Ausarbeitungen. Die betreuten Themen waren: “Software-Qualität: Definitionen, Blickwinkel, Modelle”, “Prozessqualität: CMMI und SPICE”, “Software Cloning”, “Penetration Testing” sowie “Vorgehensmodelle für Security”.
  • Einführung in die Softwaretechnik:
    • Halten der Vortragsübungen, Erstellen der Aufgabenblätter, Leiten und Organisieren der praktischen Review-Übung (Durchführung eines technischen Reviews), Erstellen von Klausuraufgaben, Korrektur der Klausuren von ca. 170 Studenten sowie Betreuung des Online-Forums zur Vorlesung.
    • Dabei habe ich mich hauptsächlich um die Themen Analyse, Spezifikation, Entwurf, Test und Konfigurationsverwaltung gekümmert.

Betreute Arbeiten

Verschiedene Prozessanalysen sowie eine Bachelorarbeit und eine Masterarbeit.

Forschungsprojekt PATRON

Seit 2016 arbeite ich dort hauptsächlich im Forschungsprojekt PATRON - Privacy in Stream Processing. Mehr unter patronresearch.de.

Promotion (GRADUS)

Neben der Beschäftigung in der Lehre und im Forschungsprojekt strebe ich noche einen weiteren akademischen Grad, den des Doktors, an. Meine Forschungsfragen beschäftigen sich hier mit der Security in der Softwaretechnik, und wie diese für Softwareentwickler einfacher bereitzustellen ist.

Meine Promotion mache ich auch im Rahmen der Graduierten-Akademie der Universität Stuttgart (GRADUS). Im Rahmen dieser habe ich verschiedene Workshops und unter anderem die Vorlesung Softwarerecht besucht und erfolgreich an der Klausur teilgenommen.

Informatik-Studium

Bachelor of Science (B.Sc.)

Im Jahr 2009 wurde der Diplom-Studiengang Informatik an der Universität Stuttgart durch einen Bachelor- und einen geplanten konsekutiven Master-Studiengang ersetzt. Damit hatte ich als einer der Ersten die Gelegenheit, im neuen Studiengang mein Studium der Informatik zu beginnen. Dabei waren viele Vorlesungen aber noch auf ein Diplom ausgerichtet und viele Arbeitsabläufe an den Instituten noch nicht auf die neuen Bachelor-Studenten eingestellt. Dennoch hat es 6 Semester lang viel Spaß gemacht, die Grundlagen der Informatik in vielen Bereichen zu erlernen.

Gehörte Vorlesungen bzw. abgeschlossene Module:

Modul Beschreibung Semester
Mathematik I + II   1./2. Semester
Programmierkurs Objektorientierte Programmierung in Java 1. Semester
Technische Grundlagen I + II   1./2. Semester
Theoretische Grundlagen I + II   1./2. Semester
Programmierung und Software-Entwicklung   1. Semester
Datenstrukturen und Algorithmen   2. Semester
Programmierparadigmen   3. Semester
Rechnerorganisation   3. Semester
Numerische und Stochastische Grundlagen   3. Semester
Berechenbarkeit und Komplexität   3. Semester
Systemkonzepte und -Programmierung   3. Semester
Computer Aided Design   4. Semester
Modellierung   4. Semester
Mensch-Computer-Interaktion   4. Semester
Grundlagen des Softwareengineerings   4. Semester
Hardwarepraktikum   4. Semester
Algorithmik   5. Semester
Grundlagen der Eingebetten Systeme   5. Semester
Projekt-INF Neue Funktion hinzufügen und Bugs in Literaturverwaltungssoftware beheben. 5. Semester
Seminar: Algorithmen und Datenbanken Mein Thema im Seminar war Schema Mapping und Matching. 5. Semester
Verteilte Systeme   5. Semester
Schlüssel-Qualifikation: Marketing   5. Semester
Bachelorarbeit   6. Semester
Imaging Science   6. Semester
Rechnernetze   6. Semester
Seminar: Aktuelle Internetdienste und -Technologien Mein Thema im Seminar war IPv6 Grundlagen und Mobilität. 6. Semester

Master of Science (M.Sc.)

Wie auch im Bachelor-Studiengang war ich im ersten Jahrgang der Studenten, die einen konsekutiven Master-Abschluss in Informatik anstreben. Die Vorlesungen im Master waren alle sehr interessant, da sie sich nicht mehr auf die Vermittlung von Grundlagen konzentrieren mussten, sondern diese für die Lehre sehr fortschrittlicher Themen verwenden konnten.

Gehörte Vorlesungen bzw. abgeschlossene Module:

Modul Beschreibung Semester
Computer Vision Aufbauend auf Imaging Science wurden in dieser Vorlesung vier Bereiche tiefgreifend behandelt. Dazu gehören Feature Deskriptoren für Matching und Erkennung, Bewegung und Stereo Berechnung von 2-D und 3-D Strukturen aus Bildfolgen, Bildsegmentierung und Mustererkennung. Dabei wurden die gelernten Inhalte in den Übungen in C implementiert. 1. Semester
Numerische Simulation Das Ziel dieser eher praktisch orientierten Vorlesung war es eine vollständige und physikalisch korrekte Strömungssimulation zu programmieren. Dazu galt es mittels Finiter Differenzen die Navier-Stokes-Gleichungen zu diskretisieren und mittels SOR(Successive Over-Relaxation)-Verfahren zu lösen. Im weiteren Verlauf sollte das Programm noch weiter durch Parallelisierung optimiert werden. 1. Semester
Geometische Modellierung und Animation In dieser Vorlesung wurden grundlegende Verfahren für die,Szenenmodellierung und Computeranimation behandelt. Dazu gehören insbesondere Kurven- und Flächenrepräsentationen wie Bezier-Kurven und -Flächen, Splines, NURBS (Non-Uniform Rational B-Splines) und Coons-Patches. Des Weiteren wurden im Rahmen der Animation Partikelsysteme besprochen. 1. Semester
Seminar: Safety of Automotive Integrated Circuits In diesem Hauptseminar habe ich das IEEE WAVE Protokoll für die Kommunikation zwischen Fahrzeugen vorgestellt. Dieses basiert auf Wi-Fi und ist in IEEE 802.11p sowie IEEE 1609 beschrieben. Die wichtigste Erweiterung von WLAN ist dabei das WAVE Short Message Protocol (WSMP) für sicherheitsrelevante Kommunikation. 1. Semester
Schlüssel-Qualifikation: Nachhaltigkeit - Problemanalysen, Lösungsansätze, Perspektiven   1. Semester
Bildsynthese Bildsynthese behandelt die computerbasierte Erzeugung von realistischen 3-D Bildern/Animationen/Szenen. Behandelt wurden neben den physikalischen Grundlagen Globale und Lokale Beleuchtungsmodelle mittels Reflectance Fields und BRDF sowie die Renderinggleichung, Ray Tracing, Monte-Carlo-Lichttransport, Rasterisierungspipeline, Szenenorganisation, OpenGL, Deferred Shading und prozeduralle Modelle. 2. Semester
Konkrete Mathematik Zusammenfassung und Visualisierung unter km.studium.5tupel.de. 2. Semester
Seminar: Recent Advances in Computer Vision In diesem Hauptseminar haben wir aktuelle Themen aus dem Bereich der Computer Vision behandelt. Mein Thema war Diffusion Curves. Das ist ein neuer Grundtyp für Vektorgrafiken um Farbverläufe einfacher erstellen und bearbeiten zu können. 2. Semester
High Performance Computing Hier ging es um verteiltes und paralleles Rechnen im Großen. Besprochen wurden dabei die Klassifikation nach Flynn, nach Kopplung und über Speicheranbindung (UMA, SMP, NUMA, ccNUMA, NORMA), Acceleratoren (GPGPU), PRAM, Leistungsmaße, Skalierung, Parallele Programmierung auf verschiedenen Ebenen, MPI, OpenMP, OpenACC und Verbindungsnetzwerke. 2. Semester
Correspondence Problems in Computer Vision Vertiefung der Vorlesung Computer Vision. Hauptsächlich Optischer Fluß,mit Block Matching, Sub-Pixel Verfeinerung, Verdeckungserkennung, SIFT, Grauwert Konstanz-Annahme, Apertur-Problem, Lucas-Kanade Methode, Bigün,et al., Strukturtensor, Horn und Schunk, Lösungsverfahren (Gauß-Seidel, SOR), Variationsansätze (Brox et al., Zimmer et al.). Des Weiteren wurde Stereorekonstruktion besprochen. 2. Semester
Kryptographische Verfahren Zusammenfassung und Visualisierung unter kv.studium.5tupel.de. 2. Semester
Fachpraktikum: Visual Computing In diesem Fachpraktikum haben wir OpenGL-Programmierung und Qt 4.8,erlernt, sowie einen einfachen Raytracer aufbauend auf einem minimalen, Grundgerüst selbst programmiert. 3. Semester
Information Visualization and Visual Analytics InfoVis zeigt einem wie viele sinnvolle Möglichkeiten es gibt,,Informationen so zu visualisieren, dass ein Mensch diese schnell,aufgabenspezifisch verarbeiten kann. 3. Semester
Internetrecht Nach einer Einführung wie Gesetze aufgebaut sind und nach welchen Regeln,sie interpretiert werden müssen wurden folgende Themen behandelt: Haftungsfragen, Datenschutzrecht für Provider, Urheberrecht, Strafrecht und Jugendschutz sowie Domainrecht, Elektronischer Vertragsschluss,Verbraucherschutz und elektronisches Signaturverfahren. 3. Semester
Introduction to Robotics In dieser Grundlagenvorlesung wurden Kinematics mit Inverser Kinematic, Jacobians, Bewegungsprofilen; Pfadplanungsalgorithmen mit Probabilistic Road Maps (PRMs) und Rapidly Exporing Random Trees (RRTs); Dynamics mit PID-Controllern und Euler-Lagrange-Gleichungen; Mobile Robotik mit Grundlagen der Wahrscheinlichkeitsrechnung, Zustandsschätzung und Simultaneous Localization and Mapping (SLAM) sowie die Kontrolltheorie mit optimaler Kontrolle und Stabilität behandelt. 3. Semester
Theoretical and Methological Foundations of Autonomous Systems Grundlagen für die Modellierung und Lösung von Problemen für autonome Roboter wurden in diesem Fach gelehrt. Des Weiteren gehörten einige Teilbereiche der Statistik und Wahrscheinlickheitsrechnung zu den Inhalten. Als Modelle lernten wir PDDL, NDR, MDP, POMDP und Dec-POMDP kennen. Auch bei den Lösungsverfahren wurden aktuelle Methoden wie MCTS und Dynamisches Programmieren besprochen. 3. Semester
Programmanalysen und Compilerbau Neben allgemeinen Themen wie welche Arten von Optimierungen es gibt, wurden Techniken besprochen, die diese Optimierungen automatisch durchführen können. Dazu werden Kontrollfluss- und Datenflussanalysen benötigt. Ein wichtiger Teil waren die Zeigeranalysen. 3. Semester
Masterarbeit Erweiterung der automatischen statischen Code-Analyse um Social Coding 4. Semester

Programmierparadigmen (Tutor):

In der Vorlesung werden Konzepte und Paradigmen, welche Programmiersprachen-übergreifende Gültigkeit haben, behandelt. Dazu gehören Ausführungsmodelle, Bindungskonzepte, Typsysteme, Ausnahmebehandlung, Objekt-orientierte Programmierung, Funktionale Programmierung, Parallelität und viele weitere Themen. Als Tutor für zwei Abgabegruppen war ich hier verantwortlich dafür, die abgegebenen Aufgaben zu korrigieren, zu bewerten sowie diese den Studenten in den Übungsgruppen zu erklären.