Modulbeschreibung

C++ Advanced

Kurzzeichen:
M_CPlA
Unterrichtssprache:
Deutsch
ECTS-Credits:
4
Leitidee:

Die Studierenden können...

  • ... fortgeschrittene Konzepte und Sprachmittel von Standard C++, wie Rvalue-Referenzen, Move-Semantik und Perfect-Forwarding, erklären und anwenden.
  • ... funktionale und generische Programmierung zur Laufzeit und Compilezeit einsetzen.
  • ... abhängig vom Anwendungsfall geeignete Sicherheitsgarantien in Fehlerfällen definieren und umsetzen.
  • ... eigene Iteratoren implementieren.
  • ... ein Programm implementieren, das mehrere Threads verwendet und die Inter-Thread-Kommunikation richtig realisiert.
  • ... asynchronen Input/Output in ihren Programmen einsetzen.
  • ... C++-Bibliotheken über eine C-Sschnittstelle für andere Programmiersprachen bereitstellen.
Modulverantwortung:
Corbat Thomas
Standort (angeboten):
Rapperswil-Jona, St.Gallen (Informatik Raster)
Zusätzliche Eingangskompetenzen:

Englisch

Modultyp:
Wahlpflicht-Modul für Informatik Retro STD_14_UG(Empfohlenes Semester: 6)Kategorie:Grundlagen Informatik und Aufbau Informatik (I-gai)
Wahlpflicht-Modul für Informatik STD_05(Empfohlenes Semester: 4)Kategorie:Aufbau Informatik (I-a)
Wahlpflicht-Modul für Informatik STD_11(Empfohlenes Semester: 4)Kategorie:Aufbau Informatik (I-a)
Wahlpflicht-Modul für Informatik STD_14(Empfohlenes Semester: 6)Kategorien:Aufbau (I_Auf), Informatik (I_Inf)
Wahlpflicht-Modul für Informatik STD_21(Empfohlenes Semester: 6)Kategorien:Aufbau (I_Auf), Informatik (I_Inf)
Wahlpflicht-Modul für Informatik STD_23(Empfohlenes Semester: 6)Kategorien:Aufbau (I_Auf), Informatik (I_Inf)
Modulbewertung:
Note von 1 - 6

Leistungsnachweise und deren Gewichtung

Modulschlussprüfung:
Schriftliche Prüfung, 120 Minuten

Inhalte

Modul- und Lerninhalt:
  • Rekapitulation der wichtigsten Themen des CPl-Moduls
  • Move-Semantik und Rvalue Referenzen
  • Typ-Deduktion für Template-Parameter und auto/decltype-Deklarationen
  • Perfect Forwarding
  • Explizites Heap-Memory Management
  • Iteratoren implementieren
  • Weiterführende Template-Themen wie Tag-Types und SFINAE
  • Compile-Time Computation
  • Literale Typen und Literal-Operatoren
  • Multi-Threading
  • Memory Model
  • Networking mit ASIO
  • Advanced Library Design: Exception-Safety, PIMPL und Hourglass Interfaces