11/2022 – 01/2023
Anonymer Industriekunde: Implementierung einer Lizenzverwaltungsanwendung in der Gebäudeautomation
Für ein führendes Industrieunternehmen mit den Schwerpunkten in der Gebäude- und Fabrikautomation wurde eine Lizenzverwaltungsanwendung implementiert. Mit Hilfe der Lizenzverwaltungsanwendung werden unternehmerische Stammdaten, Nutzerdaten und Software-Lizenzen gesammelt sowie verwaltet. Die Anwendung bildet einen eigenen Software Asset Management-Prozess ab. Das UI Design der Anwendung wurde durch Shapefield UX Designer gestaltet und basierte auf einem vorhandenen Design System, welches bereits für andere Softwareprodukte verwendet wird. Die Lizenzverwaltungsanwendung selbst wurde u.a. mittels .NET, WPF, XAML, C#, Prism, Entity Framework, MSSQL, LINQ und Git implementiert.
Rollen
.NET Entwickler, WPF / XAML UI Entwickler, C# Entwickler
Aufgaben und Verantwortungen
- Projektleitung und Durchführung
- Implementierung der Anwendung mit .NET
- Implementierung der UI mit WPF und XAML
- Layouting von Views sowie Ansichten
- Styling und Implementierung von Controls
- Verwendung MVVM-Muster und Prism
- Modellierung Klassendiagramm UML
- Verwendung Entity Framework, LINQ und MSSQL
- Erstellung von Spezifikationen und Dokumentationen
- Nutzung von Git sowie GitLab als Versionsverwaltung
Schlagworte
.NET, WPF, XAML, C#, Prism, Entity Framework, MSSQL, LINQ, ReSharper, Git, GitLab, MVVM, Architektur, Visual Studio, Anwendungsentwicklung, User Interface, User Experience, UX, UI
08/2022 – 11/2022
Anonymer IT-Dienstleister: Implementierung eines WPF Library-Generators
Für einen führenden IT-Dienstleister wurde ein Generator entwickelt, welcher auf Basis bestimmter Parameter eine grundlegende WPF Library zur Control- sowie Anwendungsentwicklung erzeugt. Der Generator wurde u.a. mit .NET, WPF, XAML, C#, LINQ und Prism implementiert.
Rollen
.NET Entwickler, WPF / XAML UI Entwickler, C# Entwickler
Aufgaben und Verantwortungen
- Projektleitung und Durchführung
- Implementierung der Anwendung mit .NET
- Implementierung der UI mit WPF und XAML
- Layouting von Views sowie Ansichten
- Styling und Implementierung von Controls
- Verwendung MVVM-Muster und Prism
- Erstellung von Spezifikationen und Dokumentationen
- Nutzung von Git sowie GitLab als Versionsverwaltung
Schlagworte
.NET, WPF, XAML, C#, LINQ, Prism, ReSharper, Git, GitLab, MVVM, Architektur, Visual Studio, Anwendungsentwicklung, User Interface, User Experience, UX, UI
01/2022 - 08/2022
Hochschule Trier: Semantische Segmentierung zytologischer Aufnahmen mittels Deep Learning
Maschinelles Lernen gewinnt in der Medizin zunehmend an Bedeutung. Besonders im Bereich der Krebsdiagnostik führt ein computerunterstütztes Erkennen von auffälligen Zellstrukturen zu enormen zeitlichen Einsparungen. Im Hinblick auf Tumore im Bereich des Kehlkopfes, welche histologisch mittels aufwendigem Verfahren diagnostiziert werden, kann eine neuronale Netzarchitektur, die in der Lage ist, Zellen zu klassifizieren, von großem Nutzen sein. In diesem Projekt wurde die Eignung eines solchen Verfahrens überprüft, indem ausgewählte neuronale Faltungsnetze anhand von zytologischem Bildmaterial trainiert wurden. Mit dem Ziel, eine möglichst hohe Sensitivität in der Erkennung von Krebszellen zu erreichen, wurden Experimente mit einer U-Net-, V-Net- und FPN- Architektur durchgeführt. Dies geschah anhand einer Kreuzvalidierung, womit im Rahmen der Qualitätssicherung zunächst geprüft wurde, ob sich alle drei Architekturen für den verwendeten Datensatz eignen. Im Folgenden wurde der Bilddatensatz durch Daten-Augmentierung vergrößert und die wenig balancierten Klasseninstanzen in ein besseres Gleichgewicht gebracht. Die Ergebnisse der trainierten Modelle wiesen eine hohe Stabilität in Bezug auf die Erkennung von Krebszellen auf, jedoch zugleich auch eine schwache Performanz bei Bildern mit ausschließlich gesunden Zellen.
Rollen
Matlab Entwickler, Python Entwickler, KI / AI Entwickler, Data Scientist
Aufgaben und Verantwortungen
- Projektleitung und Durchführung
- Entwicklung eines Hilfstools zur Annotation des Datenmaterials in Matlab
- Verwendung von Python, Tensorflow und Keras
- Annotation von 400 Bildern (Kennzeichnung der Zellarten als Grundlage für das Training)
- Durchführung einer Kreuzvalidierung mit drei unterschiedlichen CNN-Modellen
- (Convolutional Neural Networks, dt. Faltungsnetze)
- Durchführung von Daten-Augmentierung am verwendeten Datensatz und erneutem Training mit allen Modellen
- Testen der trainierten Modelle anhand von Testdatensätzen
- Auswertung und Analyse der Ergebnisse auf Basis verschiedener Metriken
Schlagworte
Convolutional Neural Network, Deep Learning, Faltungsnetz, Neuronales Netz, Zytologie, zytologische Bilddaten, Python, Tensorflow, Keras, Matlab, Annotation, Training, Kreuzvalidierung, Daten-Augmentierung, Klassifizierung, Semantische Segmentierung
03/2021 – 11/2021
Hochschule Trier: Konzeption und Implementierung einer Anwendung zur Visualisierung des DPLL-Algorithmus
In den vergangenen Jahren ließ sich beobachten, dass einige Studenten Probleme damit hatten, die Komplexität und den Vorgang des DPLL-Algorithmus zu verstehen. Dies wurde durch eine zu Beginn des Projekts durchgeführte Nutzerstudie belegt. In der Informatik ist der Davis–Putnam–Logemann–Loveland-Algorithmus ein vollständiger, auf Backtracking basierender Suchalgorithmus zur Entscheidung über die Erfüllbarkeit aussagenlogischer Formeln in konjunktiver Normalform. Aufgrund dessen zielte das Projekt darauf ab, eine Softwareanwendung inkl. grafischer Benutzeroberfläche mitsamt eines SAT-Solvers zu implementieren, die den Nutzern die Anwendung des DPLL-Algorithmus auf verständliche Art nahelegt. Die Anwendung beinhaltet eine rekursive Implementierung des DPLL-Algorithmus und verwendete das Dateiformat DIMACS, welches aussagenlogische Probleme in konjunktiver Normalform darstellt. Dabei war einer der wichtigsten Aspekte dieses Projektes die Visualisierung des Algorithmus, um dem gegenwärtigen Verständnisproblem entgegenzuwirken.
Rollen
Java Entwickler, JavaFX UI Entwickler, UX Researcher
Aufgaben und Verantwortungen
- Projektleitung und Durchführung
- Durchführung und Auswertung einer Nutzerstudie
- Konzeption und Implementierung der Anwendung mit Java
- Implementierung des DPLL-Algorithmus in rekursiver Form
- Implementierung eines interaktiven UI mit JavaFX
- Implementierung Visualisierung des Algorithmus mit verlangsamter Laufzeit
- Qualitätssicherung anhand von Unit-Tests
- Nutzung von Git sowie GitLab als Versionsverwaltung
Schlagworte
Java, JavaFX, DPLL, SatSolver, Logik, Aussagenlogik, DIMACS, Algorithmus, Anwendungsentwicklung, Visualisierung, Git, GitLab, User Interface, User Experience, UX, UI, Nutzerstudie, Eclipse