Fakultät für Informatik
|
![]() |
|
![]() |
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 |
|
![]() |
Vorlesung "Die verschiedenen Programmierparadigmen von C++" WS 2025/26.
|
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.
|
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 |
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.2025Die 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 Zusammenhangmit 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 |