Die verschiedenen Programmierparadigmen von C++; Helmke WS 2025/26
Fakultät für Informatik

kasten_gr.gif (78 Byte) Die verschiedenen Programmierparadigmen von C++

10px
2



Prof. Dr.-Ing. Hartmut Helmke
Deutsches Zentrum für Luft-
und Raumfahrt e.V. (DLR)
Institut für Flugführung
Abteilung Lotsenassistenzsysteme
Lilienthalplatz 7
38108 Braunschweig
E-Mail: Hartmut.Helmke@DLR.DE
Tel. 0531 / 295-2599

Vorlesung "Die verschiedenen Programmierparadigmen von C++" WS 2025/26.
Mein 40. Semester (Vorlesung) an der Ostfalia

Eine kurze (unverbindliche) E-Mail an Hartmut.Helmke@dlr.de, dass Sie planen, an der Veranstaltung teilzunehmen, würde mir die Vorbereitung (vor der Veranstaltung) sehr erleichtern.

Das Wahlpflichtfach "Die verschiedenen Programmierparadigmen von C++" gibt eine Einführung in die Programmiersprachen C und C++, die (immer noch) zud en weltweit am häufigsten verwendeten Programmiersprachen zählen; Quelle Tiobe-Index Seit Juli 2023 liegt C++ sogar vor C, was nur 2021 in der langen Geschichte von C und C++ der Fall war. Seit Mai 2023 lag C++ jedenfalls erstmals seit 2000 wieder vor Java. Man muss aber auch sagen, dass Python seit 2021 die Nr. 1 ist. (letzter Zugriff 26.07.2025) und jetzt auch unangefochten.
Das Schwergewicht der Vorlesung wird eindeutig auf C++ liegen.
Die Vorlesung ist freitags in den ersten beiden Blöcke geplant. Sie beginnt am 26. September 2025, um 8:15 Uhr (Raum 181) mit einer Präsenzveranstaltung. Die Vorlesungen am 3. und 31. Oktober entfallen feiertags bedingt.
Im Folgenden sehen Sie, was aus heutiger Sicht geplant ist. Sehen Sie die folgende Gliederung als einen Vorschlag zur Diskussion an.
Die aktuell geplanten Termine sehen Sie im Folgenden. Details in den nächsten Wochen.

Die Zahlen in Klammern geben das Datum der letzten Aktualisierung an.
Wir beginnen sofort mit einer eigentlich sehr einfachen Aufgabe.
Gegeben eine ASCII-Datei mit einem Text (z.B. die Bibel). Wir ermitteln für jedes Wort, das aus mindestens zwei Zeichen besteht und mit einem Buchstaben beginnt, wie oft es vorkommt und geben die Wörte mit mindestens 2 Zeichen und die Häufigkeit ihres Auftretens in alphabetischer Reihenfolge auf dem Bildschirm aus. Sie sehen hier den C++-Programm-Code (13.07.2024).
Am Semesterende sollten Sie den Code nicht nur verstehen, sondern problemlos auch ohne Hilfe selbst implementieren können.

Gute Kenntnisse in Java sind sehr hilfreich, aber nicht zwingend erforderlich. Zumindest in den ersten Wochen werden die jeweils neu eingeführten C/C++-Sprachelemente den entsprechenden Elementen von Java gegenübergestellt. Kenntnisse von C (zumindest Grundkenntnisse, z.B aus der Vorlesung "Programmieren in C" von Prof. Justen) sind zumindest nicht schädlich.
1. Woche Fr. 26.09.2025 zu den Unterlagen
2. Woche keine Vorlesung am 03.10.2025
3. Woche Fr. 10.10, 2025 zu den Unterlagen
Die erste Herausforderung wird das Zeigermodell von C/C++ sein; u.a. sehen wir hier die Grundelemente der Virenprogrammierung und vor allem durch welche Maßnahmen eigene Programme weniger anfällig für Viren werden.
4. Woche Fr. 17.10.2025 zu den Unterlagen
Beim Kopieren und Erzeugen von Objekten hat der Entwickler aber viel mehr Möglichkeiten (Fehler zu begehen, was insbesondere am (meist) fehlenden Garbage Collector liegt).
5. Woche Fr. 24.10.2025 zu den Unterlagen Freitag
6. Woche keine Vorlesung am 31.10.2025
7. Woche Fr. 07.11.2025 zu den Unterlagen Freitag
8. Woche Fr. 14.11.2025 zu den Unterlagen Freitag
9. Woche Fr. 21.11.2025 zu den Unterlagen Freitag
10. Woche Fr. 28.11.2025 zu den Unterlagen Freitag
Im dritten Teil lernen wir die generische Programmierung (Template-Programmierung) mit C++ kennen.
11. Woche Fr. 05.12.2025 zu den Unterlagen Freitag
Im vierten Teil werden wir in die Programmierung mit der STL (Standard Template Library) einsteigen.
12. Woche Fr. 12.12.2025 zu den Unterlagen Freitag
Zum Abschluss folgt nochmals eine Zusammenfassung als Vorbereitung auf die Klausur im Januar 2025 Durch Teilnahme an der Abschlussaufgabe und Teilnahme an den Tests können Sie erste Punkte für die Klausur am Semesterende sammeln.
13. Woche Fr. 19.12.2025 zu den Unterlagen Freitag



Vorlesungsmaterialien

Die Zahlen in Klammern geben das Datum der letzten Aktualisierung an. Dateien von 2024 und früher bitte ignorieren. Sie sind in der Regel hier noch gar nicht verfügbar.
Zur Emulation von Clicker wird in der Vorlesung der folgende BBB-Link verwendet:Link zur Clicker-Emulation mit BBB (29.08.2025).

Allgemein

Folienkopien

Inhalt

Infos / Organisatorisches (in Arbeit) (02.08.2025) Kurze Übersicht, was in der Vorlesung geplant ist und wie Übungen und Vorlesung zusammenhängen und wie sich aus beiden die Gesamtnote ergibt.
Lehrbücher zu C++ (2023 Nichts Neues
Skript (2023, noch aktuell 2007 wurden in Zusmamenarbeit mit Prof. Isernhagen und Prof. Höppner ein Lehrbuch zur Programmierung erstellt, welches C++ und Java gegenüberstellt. Die wesentlichen Seiten aus diesem Lehrbuch sind hier als pdf-Dokument zur Verfügung gestellt. Das Lehrbuch liegt auch noch in der Bibliothek vor. Die Vorlesung baut überwiegend auf dem Standard C++-11 und folgende auf. Die letzten 4 Vorlesungen werden daher nicht mehr von diesem Skript abgedeckt.


1. Vorlesung; Fr. 26.09.2025

Die erste Woche beginnt mit einer Präsenz-Doppelvorlesung im 1. und 2. Block (Raum 181)

Folienkopien

Inhalt

Einleitung (01.09.2025) Übersicht über die gesamte Vorlesung und die zugehörigen Übungen
Worte in Datei zählen (01.09.2025) Ein erstes C++-Programm, das die Müchtigkeit von C++, aber auch die Herausforderungen an einem 30-Zeilen Programm zeigt. Ohne sehe viele vorherige C++-Kenntnisse werden Sie das Programm nicht komplett verstehen. Aber Mitte November werden Sie jedoch die meisten Elementen verstehen und auch selber anwenden können.
Datentypen (01.09.2025) Die Grunddatentypen von C++ wie short, int, double, ... werden vorgestellt. Sie sollten die Typen aus am Bachelorstudium (aus einer anderen Sprache) bereits kennen.
Steueranweisungen (01.09.2025) Die verschiedenen Steueranweisungen wie if, switch, Schleifen werden am Beispiel von C++ nochmals vorgestellt. Insbesondere wird an ganz kurz Programmen gezeigt, dass man trotz langjöhriger Programmiererfahrung noch vieles falsch machen kann. Tricks und Sicherheitsnetze, die auch för andere Programmiersprachen helfen können, werden vorgestellt.

Sonstige Materialien

Inhalt

Visual Studios 2022 Comm Edition installieren und nutzen (01.09.2025) Links zum Bezug von Visual Studio 2022 sind beschrieben. Die Links sind noch aktuell. Die Beschreibung ist von 2022.
Hilfen zu speziellen Problemen mit Visual Studio und C++ (01.09.2025) Der Foliensatz gibt Antworten zu ein paar Problemen, die in Zusammenhang mit Visual Studio während der vergangenen Semester aufgetreten sind.
Themen sind z.B.: Compilerwarnungen an- und abschalten, Konsolen-Fenster am Programmende NICHT schließen etc. Der Foliensatz wird wärend des Semester um weiter Hilfen ergänzt.
Einführung: Benutzung von Visual Studio (01.09.2025) In der Vorlesung wird gezeigt, wie man mit Visual Studio C++ ein Projekt anlegt, unm eine erste hello-world-Anwendung zu implementieren. Hinzufü von Dateien, Starten des Debuggers, durchfürung einer Debugging-Sitzung etc. werden skizziert. Die zugehörigen Folienkopien zum Nachlesen finden sich hier.
Probleme bei der Arbeit im Team (06.08.2023) Ein imer noch lesenswerter Artikel aus dem Jahr 2004, wie man die Herausforderungen der Zusammenarbeit in einem studentischen Team frühzeitig adressieren kann, bevor alle Teammitglieder nur noch gereizt sind.

Programm-Code

Inhalt

Zählen der Worte einer Datei (2025) zip-Verzeichnis bestehend aus Projektdateien für Visual Studio 2022 sowie Programmcode zum Zählen wie oft bestimmte Worte in einer Datei vorkommen.
Zählen der C++-Schlüsselworte einer Datei (2025) zip-Verzeichnis bestehend aus Projektdateien für Visual Studio 2022 sowie Programmcode zum Zählen wie oft vorgegebene Schlässelworte von Cpp in einer Datei vorkommen.


Ab der zweiten Vorlesung werden in den beiden Blöcken jeweils Übungsaufgaben integriert, die Sie selbstständig an Ihrem Rechner lösen.
Es wird erwartet, dass Sie bis zur zweiten Woche spütestens aber zur zwei Vorlesung über eine Visual Studio-Installation (am besten VS 2022) auf Ihrem Rechner verfügen. Andere Entwicklungsumgebungen können auch verwendet werden. Ich kann allerdings wenig unterstützen. Bevorzugt ist VS 2022. Diese Entwicklungsumgebung kann man bei Microsoft kostenlos herunterladen.


2. Vorlesung; Fr. 10.10.2025

Folienkopien

Inhalt

Wiederholung / Ankündigung (in Arbeit) Wiederholung aus der letzten Vorlesung inkl. Übungsaufgaben, die in der Vorlesung per Clicker präsentiert werden.
Funktionen (01.09.2025) Funktionen in C++ werden vorgestellt. Berücksichtigt werden insbesondere (i) Werte- und Referenzparameter, (ii) Überladen von Funktionen, (iii) inline-Funktionen, (iv) Funktionen mit Default-Parametern
benutzerdefinierte Datenstrukturen (01.09.2025 Das Konzept des Records bzw. des struct wird vorgestellt. Es entspricht einer Klasse, in der alles public ist.
_Aufteilung von Code auf Dateien (01.09.2025) Die Aufteilung von Code auf Header- und Source-Dateien wird vorgestellt. Include-Wächter werden behandelt. Außerdem wird auf das Konzept des Namespaces eingegangen.

Programm-Code

Inhalt

Ausgangscode für Struktur Vektor nach Test-first (2025)
Lösung für Struktur Vektor nach Test-first (2025) In der Vorlesung wird die Struktur Vektor in C++ vom Dozenten entwickelt. Hierbei werden verschiedene Probleme und Konzepte vorgestellt (Test-first, Referenzparameter). Es wird nicht exakt der Mustercode, wie er in der Vorlesung implementiert wurde, ins zip-Verzeichnis eingetragen, sondern Mustercode aus den vorgegangenen Semestern.






Übungen, die ca. 30% der Klausurnote ausmachen

Folienkopien

Inhalt

Infos / Organisatorisches (in Arbeit) (02.08.2025) Kurze Übersicht, was in der Vorlesung geplant ist und wie Übungen und Vorlesung zusammenhängen und wie sich aus beiden die Gesamtnote ergibt.
Lehrbücher zu C++ (2023 Nichts Neues
Skript (2023, noch aktuell 2007 wurden in Zusmamenarbeit mit Prof. Isernhagen und Prof. Höppner ein Lehrbuch zur Programmierung erstellt, welches C++ und Java gegenüberstellt. Die wesentlichen Seiten aus diesem Lehrbuch sind hier als pdf-Dokument zur Verfügung gestellt. Das Lehrbuch liegt auch noch in der Bibliothek vor. Die Vorlesung baut überwiegend auf dem Standard C++-11 und folgende auf. Die letzten 4 Vorlesungen werden daher nicht mehr von diesem Skript abgedeckt.





Alte Klausuren von mir mit Lösungen seit 2001

Nützliche Hilfen

__Lehrbücher zu C++ (12.08.2023)
Einführung: Benutzung von Visual Studios, (13.07.2024)
Hilfen zu speziellen Problemen mit Visual Studio und C++, (13.07.2024)
Visual Studios 2022 Comm Edition installieren und nutzen, (13.07.2024)

Links zu Subversion / Tortoise

Kurzeinführung zur Installation und Nutzung von TortoiseSVN an der FH Ostfalia (21.09.2024)
Deutsche Doku auf der Tortoise Homepage
Praktika, Studien- und Diplomarbeiten in meiner Arbeitsgruppe
Stellenangebote Institut für Flugführung beim DLR

Eigene Lehrbücher

Informationen bei Amazon

Letzte Änderung 05.09.2025 Datenschutzerklärung