Computer Graphics
TU Braunschweig

Programmieren 2 SS'25
Vorlesung mit großer und kleiner Übung

Prof. Dr.-Ing. Martin Eisemann

Hörerkreis: Bachelor
Kontakt: prog2@cg.cs.tu-bs.de

Modul: INF-PRS-44
Vst.Nr.: 4210001, 4210002

Aktuelles

Achtung Änderung: Die Wiederholungsprüfung im WiSe 25/26 findet am 23.02.2026 von 12 - 14 Uhr im Audimax statt.

 

Beschreibung

Nach Abschluss dieses Moduls besitzen die Studierenden vertiefte Kenntnisse der imperativen und objektorientierten Programmierung. Sie sind in der Lage, mittelgroße Programme selbstständig zu entwickeln und dabei Aspekte der strukturierten Programmierung zu berücksichtigen.

 

Inhalte

- Vertiefung der objektorientierten Programmierung anhand der Sprache C++
- Programmierung dynamischer und rekursiver Datenstrukturen
- Grundlagen der Parallelprogrammierung
- Grundlagen der Grafikprogrammierung
- Clean Code
- Datensammlungen und Collections
- Generizität
- Funktionen höherer Ordnung
- Speichermanagement
- Grundlagen der funktionalen Programmierung

 

Ort und Zeit

LIVE Fragestunde.
Der Kurs selbst findet als Courseware in Stud.IP statt.

Wöchentlich Freitags, 11:30–13:00 Uhr, beginnend am 08.04.2025 08:00 Uhr (ACHTUNG: erster Termin ist Dienstag)
Hörsaal: SN 19.1

Wöchentlich Dienstags, 08:00–09:30 Uhr, beginnend am 15.04.2025
Hörsaal: Online über WebEx

Wöchentlich, beginnend mit dem 22.04.2025

SoSe Fr 22.08.2025

 

Anmeldung

(15.04. 09:00 Uhr bis 21.04. 23:59 Uhr)

  1. Loggen Sie sich ein Mal mit ihrer y-Nummer auf unserem Instituts-Git Server ein (nicht das TU-GitLab oder GitHub), um ihren Account zu aktivieren.
    Falls Sie noch einen alten (nicht y-Nummer) Account besitzen, können Sie diesen weiterverwenden (wählen Sie beim Login "Lokal" als Authentifizierungsquelle aus).
  2. Tragen Sie sich in einer Stud.IP-Gruppe Ihrer Wahl ein, um einen Platz in der dazugehörigen kleinen Übung zu reservieren.
    Tragen Sie sich in die Gruppe "Warteliste" ein, falls es keinen Platz mehr in den vorgegebenen Gruppen gibt. Weitere Informationen folgen in dem Fall per Stud.IP-Ankündigung.

 

Vorlesungen

Die Vorlesung wird als Courseware in Stud.IP durchgeführt, d.h. Sie müssen das bereitgestellte Video/Material vor der jeweiligen Veranstaltung bearbeiten. Die Vorlesungszeit kann für Fragen und vertiefende Thematiken genutzt werden, die nicht in der Courseware beantwortet werden konnten.

Große Übungen

- Besprechung der Musterlösung des letzten Übungsblatts.
- Vorstellung von Hinweisen/Tipps und Klärung eurer Fragen zum neuen Übungsblatt.

In der ersten großen Übung gibt es eine kurze Einführung und ein paar allgemeine Infos zum Ablauf.

Kleine Übungen

Erste Woche (beginnend 22.04.2025)
- Verpflichtende Teilnahme für die finale Gruppeneinteilung.
  Sie müssen bereits in einer der entsprechenden Gruppen in Stud.IP eingetragen sein.
  Es besteht die Möglichkeit die Gruppe (innerhalb des Übungstermins, also beim selben Tutor) zu wechseln.
- Zugriff auf die Abgabe-Repos auf unserem Git Server.
- Hilfe bei Setup-Problemen.

Zweite Woche
- Hilfe bei Setup-Problemen.

Folgende Wochen
- Die Tutoren der Übung wählen zufällige Personen für die Präsentation der abgegebenen Lösungen. Können diese nicht erklären werden, wird die Aufgabe mit 0 Punkten bewertet.

Die Präsentationen in den kl. Übungen sind verpflichtender Teil der Studienleistung. Bei Abwesenheit wird das entsprechende Aufgabenblatt mit 0 Punkten bewertet.
Sollten sich im Laufe des Semesters terminliche Probleme mit Ihrem gewählten kl. Übungstermin ergeben, sodass Sie Ihre Abgaben nicht mehr präsentieren könnten, melden Sie sich frühzeitig bei uns, um einen möglichen Gruppenwechsel zu besprechen!

Um die Übungen unbewertet (z.B. freiwillig als Wiederholung) zu bearbeiten, müssen Sie in keiner Gruppe eingetragen sein.

 

Aufgabenübersicht

Die Aufgabenblätter und Code-Vorgaben (ZIP) werden wöchentlich Dienstags nach der großen Übung unter Dateien in Stud.IP hochgeladen.
Die Abgabefrist steht jeweils auf den Aufgabenblättern, wobei die Bearbeitungszeit i.d.R. eine Woche beträgt.
Die Präsentation Ihrer Lösungen erfolgt in Ihrer nächsten kleinen Übung nach der Abgabe.

 

Abgabe | Präsentation

Aufgabenblatt & Themen

05.05. | 06.05.–12.05.

Blatt 1
IDE Setup, Hello World, Debugging

12.05. | 13.05.–19.05.

Blatt 2
Datentypen, Kontrollstrukturen, Funktionen, Mehrere Dateien

19.05. | 20.05.–26.05.

Blatt 3
CMake, Klassen, Clean Code

26.05. | 27.05.–02.06.

Blatt 4
Smart Pointer, Polymorphismus, Exceptions, Operatorüberladung

02.06. | 03.06.–16.06.

Blatt 5 (+1 Woche wegen Exkursionswoche)
Operatorüberladung als *friend*, Template-Funktionen und -Klassen (Generizität)

16.06. | 17.06.–23.06.

Blatt 6 
Range-based for-loop, Lambdas, std::pair

23.06. | 24.06.–30.06.

Blatt 7
std::array, std::set, std::priority_queue

30.06. | 01.07.–07.07.

Blatt 8
Algorithmen

07.07. | 08.07.–14.07.

Blatt 9
Nebenläufigkeit: Threads, Atomics, Mutex

 

Weiterführende Links

Moderne C++ Code Beispiele

Sehr detaillierte Einführung in C++

C++ Referenz — für Details zu spezifischen Konzepten/Funktionen/Klassen/...

ISO Standardisierungskommittee

Programmiertipps von Bjarne Stroustrup (Erfinder von C++) und Herb Sutter (Microsoft)

Browser-Tool zur Analyse von modernem C++ Code

Browser-Tool zur Visualisierung der Speicherverwaltung in C++

 

Prüfung

Prüfungszeitraum siehe unter Ort und Zeit.
Eventuelle Änderungen werden in der Vorlesung und auf dieser Webseite rechtzeitig bekanntgegeben.

  • Prüfungsform: Klausur in Präsenz
  • Scheinerwerb durch Bestehen der Prüfung (mind. 50% der Punkte, ggf. Ausnahmen durch Anhang 5 der APO)
  • Voraussetzung zum Modulabschluss: mindestens 50% der Punkte der Übungen erreicht.
  • Studierende müssen sich beim Prüfungsamt anmelden!

 

Hilfsmittel

Keine außer einem Stift.

 

Anmeldung und weitere Informationen

Eine Anmeldung über das jeweilige Prüfungsamt ist zwingend erforderlich!

 

Ergänzungsprüfung

Falls Sie eine mündliche Ergänzungsprüfung benötigen, weil Sie in ihrem letztmöglichen regulären Versuch die Prüfung nicht bestanden haben, so senden Sie bitte umgehend nach Erhalt der Note (also wenn diese offiziell beim Prüfungsamt eingetragen wurde) eine Email mit der Bitte um mündlicheErgänzungsprüfung an prog2@cg.cs.tu-bs.de unter Angabe ihres vollen Namens, Matrikelnummer, TU Emailadresse und Studiengang. 

Die mündlichen Ergänzungsprüfungen finden in der Regel gesammelt jeweils 1x im Semester statt. Ein Termin wird ihnen rechtzeitig vorher mitgeteilt.