|
|
|
| Code: TIB-PRG2 |
|
4V+2U (6 Semesterwochenstunden) |
|
8 |
| Studiensemester: 2 |
| Pflichtfach: ja |
Arbeitssprache:
Deutsch |
Prüfungsart:
Klausur, Dauer 90 min.
[letzte Änderung 27.11.2025]
|
TIB-PRG2 Technische Informatik, Bachelor, SO 01.10.2026
, 2. Semester, Pflichtfach
|
|
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 90 Veranstaltungsstunden (= 67.5 Zeitstunden). Der Gesamtumfang des Moduls beträgt bei 8 Creditpoints 240 Stunden (30 Std/ECTS). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 172.5 Stunden zur Verfügung.
|
Empfohlene Voraussetzungen (Module):
TIB-PRG1 Hardwarenahe Programmierung
[letzte Änderung 29.04.2026]
|
Als Vorkenntnis empfohlen für Module:
TIB-ES Embedded Systems TIB-KI Künstliche Intelligenz TIB-PA Projektarbeit TIB-SWT Softwaretechnik TIB-VS Verteilte Systeme
[letzte Änderung 28.04.2026]
|
Modulverantwortung:
Prof. Dr.-Ing. Martin Burger |
Dozent/innen: Dipl.-Inf. Christopher Olbertz
[letzte Änderung 14.04.2026]
|
Lernziele:
Die Studierenden • beherrschen die grundlegenden Sprachelemente (Datentypen, Ausdrücke, Kontrollstrukturen, Funktionen, Ausnahmebehandlung) von C++ sicher. • haben die Konzepte der Objektorientierung (Klassen, Objekte, Vererbung, Polymorphismus) begriffen und können sie programmtechnisch umsetzen. • haben das Konzept der Templates verstanden und sind in der Lage es in Programmen nutzbringend anzuwenden. • können sicher mit grundlegenden Klassen und Algorithmen der C++-Standardbibliothek (z. B. Zeichenketten, Ein-/Ausgabe, Containerklassen, Generische Algorithmen) umgehen. • sind in der Lage in kleinen Teams, zu einfachen bis mittelschweren Problemstellungen Lösungen zu entwickeln und diese gut strukturiert zu implementieren. * können sicher mit modernen C++-Elementen wie Smart-Pointern und Lambda-Ausdrücken umgehen und sie nutzbringend einsetzen.
[letzte Änderung 29.04.2026]
|
Inhalt:
1. Einführung und Motivation 2. Elementare Sprachelemente von C++ 3. Einführung in die objektorientierte Programmierung - Allgemeiner Überblick - Einführung Klassen und Objekte - Einsatz des Dokumentationsgenerators Doxygen 4. Trennung von Benutzerdialog und Anwendungskern - Definition Anwendungskern - Vorteile einer sinnvollen Trennung - Umsetzung der Trennung in C++ - Einführung Ausnahmebehandlung 5. Methodik - Schrittweises Programmieren - Entwicklung von Klassen aus einer Aufgabenstellung heraus - Strukturierung von Programmen - Grundlagen des Testens 6. Vertiefung Datentypen - Geltungsbereiche, Typkonvertierungen - Referenzen und Pointer - Enums - Smart Pointer - Templates 7. Überladen von Operatoren und Friend-Klassen 8. Einführung in die Standard Template Library (STL) - Aufbau der STL - Vector als Beispiel für eine Datenstruktur der STL - Wichtige Algorithmen der STL - Das Schlüsselwort auto - Lambda-Ausdrücke 9. Klassen und Objekte Teil 2 - Kopierkonstruktor, Zuweisungsoperator - Klassenattribute, Klassenmethoden - Grundlagen der move-Semantik - Das Schlüsselwort noexept 10. Vererbung - Grundlegendes - Dynamisches Binden - Abstrakte Klassen - Mehrfachvererbung 11. Ein-Ausgabe und Dateiverarbeitung
[letzte Änderung 29.04.2026]
|
Weitere Lehrmethoden und Medien:
Folien, Beamer, Code-Beispiele, Live-Programmierung
[letzte Änderung 29.04.2026]
|
Literatur:
Stroustrup, Bjarne Einführung in die Programmierung mit C++ Pearson Studium, 2019 Thels, Thomas Einstieg in C++: Ideal für Programmiereinsteiger Programmierung mit C++ und Übungsaufgaben Rheinwerk Computing, 2020 Wolf, Jürgen; Guddat, Martin Grundkurs C++: Kompaktes Wissen im Taschenbuchformat. Ideal für Studium und Beruf. Aktuell zu C++23 Rheinwerk Computing, 2025 Will, Torsten C++: Das umfassende Handbuch zu Modern C++. Über 1.000 Seiten Profiwissen, aktuell zum Standard C++23 Rheinwerk Computing C++ Reference http://www.cppreference.com Bjarne Stroustrup´s C++ Style and Technique FAQ https://www.stroustrup.com/C++.html
[letzte Änderung 29.04.2026]
|