Kompetenzbereiche: Wissen und Verstehen; Einsatz, Anwendung und Erzeugung von Wissen; Kommunikation und Kooperation; Wissenschaftliches Selbstverständnis/Professionalität.
Kennenlernen der allgemeinen Konzepte:
- Asynchronie in Form von Neben- und Parallelläufigkeit
- Multitasking und Multithreading
Vermittlung
- der C++-Sprachkonstrukte, mit denen diese Konzepte realisiert werden können
- von Bibliotheken, für solche Konstrukte, die (noch) nicht im C++-Standard enthalten sind.
Die Teilnehmer setzen diese Konstrukte im Rahmen der Programmierübung anhand von Aufgaben
ein.
Teilnehmer der Veranstaltung können:
- einschätzen, bei welchen Aufgabenstellungen Neben- und Parallelläufigkeit sinnvoll eingesetzt werden kann (und bei welchen nicht)
- entscheiden, welche der unterschiedlichen Sprachkonstrukte, die C++ für die Umsetzung bietet, den meisten Nutzen bieten
- Neben- und Parallelläufigkeit einschliesslich ggf. erforderlicher Synchronisationsmechanismen in C++ programmieren
Durch die Projektarbeit im Team (2.Teil der Veranstaltung) können die Teilnehmer neben der Umsetzung des Gelernten ihre Fähigkeit trainieren:
- nicht triviale softwaretechnische Sachverhalte zu diskutieren und so zu einem gemeinsamen Lösungsansatz für eine gestellte Aufgabe zu kommen
- einen effizienten Weg für die Realisierung des Lösungsansatzes zu finden (Aufgabenteilung, Wiederverwendung)
Die Teilnehmer können Aufgabenstellungen, deren Realisierung Neben- oder Parallelläufigkeit voraussetzen, selbstständig identifizieren und lösen