Datenstrukturen und Algorithmen in C#
Datenstrukturen, wie Listen, dynamische Arrays und Dictionaries, sind eine der wichtigsten Bausteine, um mit großen Datenmengen umgehen zu können. In den meisten objektorientierte Programmiersprachen gibt es Standardbibliotheken, in denen die gängigen Datenstrukturen fertig implementiert sind, jedoch müssen wir uns für jede Problemstellung überlegen, welche Datenstruktur am besten zu diesem Problem passt. Um diese Entscheidung sicher treffen zu können, werden wir einige Datenstrukturen selbst implementieren und alle Datenstrukturen auf ihre Komplexität im Bezug auf Laufzeit und Speicherverbrauch analysieren.
Mit Hilfe dieser Analysen werden wir uns reale Problemstellungen aus dem Alltag vornehmen und besprechen, welche Datenstruktur passend ist und welche Faktoren unsere Wahl beeinflussen.
Wir werden uns zudem mit einem der grundlegendsten Probleme der Informatik auseinandersetzen – dem Sortieren von Daten. Wir werden uns verschiedene Sortieralgorithmen anschauen. Angefangen von einfachen vergleichsbasierten Algorithmen wie BubbleSort, über State-of-the-Art Algorithmen wie Quicksort, bis hin zu nicht-vergleichsbasierten Algorithmen am Beispiel von Radixsort.
***
Voraussetzungen: Der sichere Umgang mit den Grundkonzepten einer objektorientierten Programmiersprache (am besten Java oder C#) ist Voraussetzung. Dazu zählen Kontrollstrukturen, Klassen und Objekte sowie Vererbung und Polymorphie.
Außerdem ein eigener Laptop mit Administratorenrechten sowie Systemkenntnisse – es wird Microsoft Windows empfohlen.
Credit Points (ECTS): –

Sabrina Kynast, M. Sc. Software Engineering
I earned my B.Sc. in Games Engineering from the TUM. Following this, I pursued my master’s degree in the elite graduate "Software Engineering" program. My interest in teaching and sharing knowledge resulted in working as a teaching assistant during both my bachelor and master studies for several different courses and culminated in being responsible for the practical section of TUM's Introduction to Computer Science course with over 1000 participants.
Upon completing my studies, I joined the fintech scale-up QPLIX as a Senior Software Engineer. In this role, I focus on continuously improving the performance of our algorithms and leading the internal Developers Academy, which aims to upskill our software developers and engineers.
In 2024 I did my first talk at a conference, talking about the challenges and opportunities working as an openly trans woman in a very male dominated sector.
Profil ansehen