This page in EN

Veranstaltung

Effizientes paralleles C++ [WS232400195]

Typ
Praktikum (P)
Präsenz/Online gemischt
Semester
WS 23/24
SWS
4
Sprache
Deutsch/Englisch
Termine
15
Links
ILIAS

Dozent/en

Einrichtung

  • ITI Sanders

Bestandteil von

Veranstaltungstermine

  • 27.10.2023 15:45 - 17:30 - Room: 50.34 Raum 236
  • 03.11.2023 15:45 - 17:30 - Room: 50.34 Raum 236
  • 10.11.2023 15:45 - 17:30 - Room: 50.34 Raum 236
  • 17.11.2023 15:45 - 17:30 - Room: 50.34 Raum 236
  • 24.11.2023 15:45 - 17:30 - Room: 50.34 Raum 236
  • 01.12.2023 15:45 - 17:30 - Room: 50.34 Raum 236
  • 08.12.2023 15:45 - 17:30 - Room: 50.34 Raum 236
  • 15.12.2023 15:45 - 17:30 - Room: 50.34 Raum 236
  • 22.12.2023 15:45 - 17:30 - Room: 50.34 Raum 236
  • 12.01.2024 15:45 - 17:30 - Room: 50.34 Raum 236
  • 19.01.2024 15:45 - 17:30 - Room: 50.34 Raum 236
  • 26.01.2024 15:45 - 17:30 - Room: 50.34 Raum 236
  • 02.02.2024 15:45 - 17:30 - Room: 50.34 Raum 236
  • 09.02.2024 15:45 - 17:30 - Room: 50.34 Raum 236
  • 16.02.2024 15:45 - 17:30 - Room: 50.34 Raum 236

Anmerkung

Im Praktikum implementieren Studenten vielseitige Programmier-Aufgaben in C++. Hierbei liegt das Hauptaugenmerk darauf, effiziente Codes zu erarbeiten und diese durch umfangreiche Experimente zu evaluieren. Die gestellten Aufgaben sind motiviert durch die wissenschaftliche Arbeit auf dem Gebiet des Algorithm Engineering. Sie decken sowohl komplexere Algorithmen als auch fortgeschrittene Datenstrukturen ab, des weiteren fortgeschrittene Techniken wie Templates (compile Zeit Optimierungen) und Parallelisierung (neue Thread Management Möglichkeiten der STD).

Die Studierenden

- können die Methoden des Algorithm Engineering verwenden, um gegebene algorithmische Probleme und Datenstrukturen in C++ zu implementieren und zu evaluieren.
- erkennen Faktoren, die zu ineffizientem Code führen, und können diese, wenn möglich, durch effizientere Konstruktionen ersetzen.
- verstehen es, die vorgestellten Techniken zur Parallelisierung einzusetzen und mit den gegebenen Mitteln threadsichere Codes zu erzeugen.
- kennen die Möglichkeiten der Standardbibliothek und können diese gezielt einsetzen.
- können die von ihnen erzeugten Codes auf Korrektheit und Performance testen, außerdem können sie die erzielten Ergebnisse darstellen und analysieren.