Kai Mindermann M.Sc.
Ich 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.
Publikationen
- Mindermann, K., & Wagner, S. (2018). Usability and Security Effects of Code Examples on Crypto APIs - CryptoExamples: A platform for free, minimal, complete and secure crypto examples. In Proceedings of the 16th Annual Conference on Privacy, Security and Trust (PST). IEEE.
- Mindermann, K., Keck, P., & Wagner, S. (2018). How Usable are Rust Cryptography APIs? In Proceedings of the 18th IEEE International Conference on Software Quality, Reliability and Security (QRS) (Vol. 18, pp. 143–154). IEEE. https://doi.org/10.1109/QRS.2018.00028
- Mindermann, K., Riedel, F., Abdulkhaleq, A., Stach, C., & Wagner, S. (2017). Exploratory Study of the Privacy Extension for System Theoretic Process Analysis (STPA-Priv) to Elicit Privacy Risks in eHealth. In Proceedings of the IEEE 25th International Requirements Engineering Conference Workshops (REW) (pp. 90–96). https://doi.org/10.1109/REW.2017.30
- Stach, C., Dürr, F., Mindermann, K., Palanisamy, S. M., Tariq, M. A., Mitschang, B., & Wagner, S. (2017). PATRON - Datenschutz in Datenstromverarbeitungssystemen. In M. Eibl & M. Gaedke (Eds.), INFORMATIK 2017 (pp. 1085–1096). Gesellschaft für Informatik, Bonn.
- Mindermann, K., Ostberg, J.-P., & Wagner, S. (2016). Assessing Iterative Practical Software Engineering Courses with Play Money. In Proceedings of the 38th International Conference on Software Engineering Companion (pp. 754–755). New York, NY, USA: ACM. https://doi.org/10.1145/2889160.2892660
- Mindermann, K. (2016). Are Easily Usable Security Libraries Possible and How Should Experts Work Together to Create Them? In Proceedings of the 9th International Workshop on Cooperative and Human Aspects of Software Engineering (pp. 62–63). New York, NY, USA: ACM. https://doi.org/10.1145/2897586.2897610
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.