PDF

MODULBESCHREIBUNG

Programmieren 3: C++11

Kurzzeichen:
M_Prog3
Durchführungszeitraum:
HS 2012 - HS 2014
ECTS-Punkte:
6
Lernziele:

Sicheres Beherrschen der Programmiersprache C++11 und ihrer Bibliotheken

Verantwortliche Person:
Peter Sommerlad
Zusätzlich vorausgesetzte Kenntnisse:

Englisch

Skriptablage:
Modultyp:
Standard-Modul für Informatik (Bachelor 05) (Empfohlenes Semester: 3)
Standard-Modul für Informatik (Bachelor 11) (Empfohlenes Semester: 3)
Standard-Modul für Informatik (Bachelor 14) (Empfohlenes Semester: 3)
Standard-Modul für Software Engineering (Bachelor 14)

ECTS-Punkte pro Kategorie

Kategorie:
Informatik (Bachelor 05)
Grundlagen Informatik / 6 Punkte
Informatik (Bachelor 11)
Grundlagen Informatik / 6 Punkte
Informatik (Bachelor 14)
Grundlagen Informatik / 6 Punkte
Grundlagen Informatik und Aufbau Informatik / 6 Punkte
Software Engineering (Bachelor 14)
Kernmodule Informatik Profile / 6 Punkte

Modulbewertung

Bewertungsart:
Note von 1 - 6

Leistungsbewertung

Während der Prüfungssession:
Schriftliche Prüfung, 180 Minuten
Zulassungsbedingungen zur Prüfung:

Erfolgreiche Abgabe gelöster Uebungsaufgaben nach Ankündigung


Während des Semesters:
 
Bewertungsart:
keine Note oder Wertung

Kurse in diesem Modul

Programmieren 3

Kürzel:
Prog3
Lernziele:
  • sicheres Beherrschen der wichtigen Sprachelemente und Bibliothekskomponenten von C++11
  • Grundlagen der funktionalen und generischen Programmierung
  • Abstraktion von Werten, Algorithmen, Objekten und Verhalten mit den Sprachmitteln von C++11
Plan und Lerninhalt:
  • Kompilationsmodell, Übersetzungseinheiten, Modulkonzept in C++ mittels Präprozessor, Hello World
  • Funktionen und Parameter, elementare Datentypen, einfache Ausgabe und Eingabe mittels Standard-Streams, Initialisierung, const und auto
  • Unit Testing mit CUTE, Standard-Exceptions anwenden - Funktions-contracts - Wertebereiche und Definitionsbereiche
  • Wichtige Typen und Algorithmen der Standardbibliothek: string, vector, copy, transform, Schleifen-Idiome
  • Anonyme Funktionen: Lambdas, Anwendung mit Standardalgorithmen
  • eigene Typen definieren (struct,class,enum), Typ-Aliase: using und typedef, Sichtbarkeit und Invarianten (ctor/dtor)
  • generische Funktionen definieren (function template), Operator-Funktionen, decltype, constexpr, Funktions-Lookup und Namensräume
  • Erweiterung/Anwendung der Standardbibliothek mit eigenen Iteratoren, Algorithmen, Prädikaten und Funktoren
  • generische Typen definieren (class templates), typename, Compile-Zeit Programmierung, Variadic Templates, Traits, static_assert
  • Resourcenmanagement - Lebensdauer, Referenzen (lvalue, rvalue), Move versus Copy, Forwarding, Lambdas mit Capture, Exception Safety und noexcept, Konstruktor-Desktruktor-Regeln (=default, =deleted)
  • Objektorientierte Programmierung mittels Vererbung und virtual Member Funktionen, Mehrfachvererbung, Mix-in Klassen und virtual Vererbung
  • Einführung in weitere Container und Algorithmen der Standardbibliothek (während des ganzen Semesters)
  • Memory-Model, Pointer, Heap-Management mittels unique_ptr und shared_ptr, C-Schnittstelle
  • einfaches Multi-Threading mittels async und futures, Ausblick auf threads, atomics, locks, condition variables
  • Vergleich und Umgang mit C++98 und C- Altlasten
Kursart:
Vorlesung mit 3 Lektionen pro Woche
Uebung mit 3 Lektionen pro Woche

Beschreibung erzeugt: 2018-10-23 12:27:23
Letzte Moduländerung: 2014-10-14 16:38:25
Modul-Id: 22232 (Vorgänger)
Status: deaktiviert