zur Startseite

Seminar - SemCppWS1920 (WS19/20)

Advanced C++
Dozent Prof. Dr. rer. nat. Dirk Pflüger
M.Sc. Steffen Hirschmann
M.Sc. Theresa Pollinger
M.Sc. Gregor Daiß
Umfang2S
Sprache Deutsch
Studiengänge Informatik
Softwaretechnik
Zielgruppe Bachelor
TermineThemenvergabe: Donnerstag, 18.07.2019, 13:00 - 14:00 Uhr, Raum: V38 0.363
Einführungsveranstaltung: t.b.a. (erste/zweite Semesterwoche)
Wöchentlicher Slot: t.b.a.
Kurzbeschreibung

Dieses Seminar richtet sich an Studenten mit bereits vorhandenen C++-Kenntnissen, die diese weiter vertiefen möchten und zudem Interesse an der effizienten Implementierung von Algorithmen besitzen.

Warum C++?

Bei der Implementierung eines Programms muss eine Vielzahl von Anforderungen berücksichtigt werden: Es muss schnell in der Ausführung sein, der entstehende Quellcode soll wartbar und erweiterbar sein. Des Weiteren darf die Umsetzung selbst nicht zu viel Zeit kosten. C++ ist eine Programmiersprache, mit der diese Anforderungen erfüllt werden können, da C++ das Schreiben effizienter Anwendungen auf einem (relativ) hohen Abstraktionslevel erlaubt. Gleichzeitig ist C++ aber auch berüchtigt für die hohe Komplexität und den großen Umfang der Sprache.

Worum wird es gehen?

In diesem Seminar geht es um das Schreiben modernen C++-Codes mithilfe der neuen C++-Standards (C++11/14/17). Einige wichtige Stichworte sind: Core Guidelines, „rule of three/five/zero“, RAII (inkl. Smartpointer) sowie (variadische) Template-Meta-Programmierung. Des Weiteren wird auf das Schreiben von effizienten Applikationen eingegangen, wofür der Zusammenhang von Hardwareeigenschaften zu zentralen Datenstrukturen und Algorithmen in der C++-Standard-Template-Library hergestellt wird. Abgerundet wird das Ganze durch einen Ausblick auf den kommenden Standard C++20 mit interessanten Neuerungen wie Modulen, Concepts, Constraints.

 

Anforderungen

  • C++-Kenntnisse, Interesse an effizienter Programmierung

  • Aktiver Beitrag zu den Diskussionen nach den Vorträgen, Beisteuern eigener, hilfreicher Beispiele zum Thema

  • Language: German

Ablauf

  • Vorbesprechung mit Themenvergabe (noch Ende dieses Semesters)

  • Abgabe Ausarbeitungen vor Vortragsterminen

  • Reviewprozess der Ausarbeitungen in der Gruppe und Einarbeitung der Reviews in die eigene Ausarbeitung

  • Seminarvorträge (Reguläre Semestertermine; falls einstimmig gewünscht und terminliche Einigung: Abhaltung als Blockveranstaltung möglich)