Algorithm Engineering und Network Science (Praktikum Experimentelle Algorithmik)

Bitte meldet euch bis spätestens zum 17.04. 12:00 mittels kurzer Mail (inkl. Namen + Matrikelnummer) per Mail an Manuel Penschuck an.

Die erste Veranstaltung findet am Mittwoch, den 19.04., ab 16:15 in SR 307 statt.

Termine

In unregelmäßiger Folge wird Mi, 16 Uhr - 18 Uhr, in SR 307 Hintergrundwissen diskutiert. Zudem findet wöchentlich eine Besprechung (Frage zu Aufgabenstellung, Präsentation der Resultate) statt. Der Termin hierfür wird während der Vorsprechung festgelegt.

Es wird regelmäßige Aufgabenblätter geben, deren erfolgreiche Bearbeitung und Präsentation zum Bestehen des Praktikums notwendig ist.

Inhalt

Das Praktikum soll in Entwurf, Implementierung und experimentelle Analyse von Algorithmen und Datenstrukturen mit heuristischen Komponenten einführen. Dabei können Methoden des Algorithm Engineerings an konkreten Fallbeispielen erprobt werden. Insbesondere kann Rapid Prototyping durch den Einsatz von Software-Bibliotheken vermittelt werden. Ein weiterer wichtiger Aspekt ist die Robustheit von Implementierungen (z.B. Ergebnisverifikation durch Zertifikate oder exakte Arithmetik).

Die Algorithm Engineering und Network Science (Aktuelle Themen in Algorithmen für große Datenmengen) vermittelt Basiswissen, dass zur Teilnahme am Praktikum hilfreich sein kann.

Lernziele: Anwendungskompetenz in der Entwicklung, Programmierung und Auswertung/Dokumentation effizienter Heuristiken, Erfahrung mit dem Gebrauch von Software-Bibliotheken, Teamkompetenz.

Rust Mini Tutorial

Für die PACE 2022 Teilnahme wurde ein Mini-Tutorial für die Programmiersprache Rust erstellt. Gerade die ersten Videos haben aber auch allgemeine Relevanz. Sehr zu empfehlen ist auch “das” Rust Buch:

  • Video 01: Grundkonstrukt der Sprache, Basisdatentypen, Testing
  • Video 02: Guessing-Game (aus Rust Buch), Ein/Ausgabe, Zufallszahlen, match
  • Video 03: Speicher & Borrowing
  • Video 04: Eigene Typen: Aliases, Enums, Structs
  • Video 05: Lifetimes und Iteratoren
  • Video 06: Pace22 Graphdatenstruktur

Sessions