Wahpfpflichtfach im Bachelor Medieninformatik, SoSe 2017:
Effiziente Software entwickeln mit C++

Modulbeschreibung

Die Studierenden lernen, die Programmiersprache C++ als Werkzeug zur Implementierung performanter und modular aufgebauter Applikationen und Bibliotheken zu verwenden. Ein großer Fokus liegt auf aktuellen Sprachstandards und Paradigmen, generischem Programmieren, funktionalem Design, und der Separation of Concerns.

Durch die tiefer gehende Betrachtung von Speicherverwaltung, Referenzen und Zeigern, Containern und Polymorphie wird das Grundverständnis für den Performance-bewussten Einsatz der Sprache sowie das für die Funktionsweise anderer Sprachen vertieft.

vollständige Modulbeschreibung » « Kurzbeschreibung

Unterricht und Übungen orientieren sich an folgenden möglichen Themen:
  • Kompilation, Linking, Build-System, Entwicklungsumgebung
  • Code-Organisation, Präprozessor, Headerdateien
  • Value-Semantik vs. Referenz-Semantik
  • Funktionen, Lambdas, funktionales Denken
  • Klassen und Operatorenüberladung
  • Modularer Code und Separation of Concerns
  • Stack, Heap, Zeiger und Referenzen
  • Ressourcen-Verwaltung, Smart Pointer, RAII
  • Generisches (Meta-) Programmieren mit Templates
  • Besonderheiten bei Vererbung; multiple Vererbung
  • Nutzung von Standard-Bibliotheken für Container, Strings, Algorithmen (STL, Boost)
  • GUI-Programmierung (Qt/QML)
  • Eigene Implementierung ausgewählter Algorithmen und Datenstrukturen in C++

Voraussetzungen

Die Teilnahme an diesem Wahlpflichtmodule kann ab dem 3. Semester (Bachelor Medieninformatik) erfolgen und erfordert grundlegende Kenntnisse in funktionaler und objektorientierter Programmierung z.B. in Java und JavaScript.

Dozenten und Themen

Wie bereits in den vegangenen Semestern freue ich mich, dieses Modul gemeinsam mit André Bergner von der Firma Native Instruments zu lehren. Details zur geplanten Organisation des Kurses werden via Moodle bekanntgegeben.

Termine und Materialien

Sämtliche Informationen, Materialien und News zu dieser Veranstaltung finden Sie im eLearning-System der Beuth Hochschule unter diesem Link: Die Materialausgabe sowie die Kommunikation zu dem Kurs werden über Moodle laufen. Wenn Sie den Kurs belegen, werden Sie automatisch in den Moodle-Kurs eingeschrieben; falls das nicht funktioniert, melden Sie bitte manuell an. Das Kurs-Kennwort lautet cpp.

Veranstaltungszeit und -Ort entnehmen Sie bitte Ihrem Stundenplan.

Accounts im CGM-Labor

Sie können die Übungen am besten auf Ihren persönlichen Laptops durchführen.

Für die Rechner im CGM-Labor benötigen Sie einen persönlichen Account. Dieser wird zu Beginn des Semesters aus den Beleglisten erzeugt. Der Benutzername ist dabei Ihre Matrikelnummer. Das Passwort muss bei der ersten Anmeldung gesetzt werden.

Literatur

  • Bjarne Stroustrup, The C++ Programming Language, jeweils aktuellste Auflage.
  • weitere kommentierte Literaturhinweise im Unterricht

Wichtige Hinweise


Erster Vorlesungstermin:
Mo. 10.04.2017
16:00 Uhr, B332L