[ZP] Advanced Software Development with Modern C++

Im Rahmen des Praktikums wird die Programmiersprache C++ ausgehend von ihren größten Stärken untersucht: Der maschinennahen Systemprogrammierung und Abstraktion durch formale Konzepte in einem Turing-vollständigen Typsystem.

Die Schwierigkeit, die Stärken von C++ zu nutzen ohne seinen Schwächen zum Opfer zu fallen ist allerdings berüchtigt.
Mit dem C++11 - Standard wurden sehr große Fortschritte erzielt: Die Ausdrucksmächtigkeit wurde weiter erhöht aber gleichzeitig die Komplexität der Syntax erheblich reduziert.

Die Herausforderungen für Software-Entwickler verschieben sich jetzt zu formalen und konzeptionellen Problemstellungen, besonders im Zusammenhang mit Nebenläufigkeit.

Die behandelten Themen im Praktikum sind unter anderem:

- Das Typsystem in C++11 und formale Konzeptdefinitionen
- Funktionale und deklarative Programmierung
- Konzepte der C++ Standard Template Library
- Sichere Resourcenverwaltung
- Parallel I/O
- Multi-threading Konzepte
- Container für parallele, verteilte und Echtzeit-Anwendungen

Die Themen werden im ersten Teil des Praktikums im Stil eines wöchentlichen Workshops gemeinsam untersucht und direkt in Code erprobt.
Im zweiten Teil setzen die Teilnehmer unter Betreuung eigene freie Softwareprojekte um, die zum Abschluß in einer Blockveranstaltung präsentiert werden.


Teilnahmevoraussetzungen:

- Stabile Grundlagenkenntnisse in C, zum Beispiel aus dem Systempraktikum am Lehrstuhl von Prof. Kranzlmüller
- Ausdrücklich *keine* fortgeschrittenen Kenntnisse in C++

Bei der Platzvergabe werden ein kurzer Bewerbungstext und vorherige erfolgreiche Teilnahme an den folgenden Vorlesungen berücksichtigt:

- Parallel / High Performance Computing
- Programmierung und Modellierung
- Algorithmen und Datenstrukturen
- Rechnerarchitektur
- Rechnernetze und verteilte Systeme
- Formale Spezifikation und Verifikation

Betreuende Assistenten

Die Anmeldung zu dieser Veranstaltung erfolgt über eine Zentralanmeldung.

Einloggen zum Teilnehmen

Du bist nicht angemeldet. Um dich für die Veranstaltung anzumelden logge dich bitte ein.