# Algorithmen und Datenstrukturen I, WiSe 2021-22 # Diese Repository ist für die Seminargruppe **j/l** am Freitag um 13:15–14:45 im Raum SG 3-14 bzw. SG 4-10 (alternierend). **HINWEIS:** In diesem Repository werden keine Personen bezogenen Daten der Studierenden gespeichert. In diesem Repository findet man: - Protokolle der Seminargruppe [hier](./protocol). - Notizen [hier](./notes). - Symbolverzeichnis unter [notes/glossar.md](./notes/glossar.md). - Referenzen unter [notes/quellen.md](./notes/quellen.md). ## Leistungen während des Semesters ## - 12 x freiwillige Serien (unkorrigiert: Lösungen werden per Moodle veröffentlicht) - 6 x Pflichtserien (jeweils 2 Wochen Bearbeitungsdauer) - wöchentlich werden im den Lernstunden _andere_ Aufgabenblätter im Raum angezeigt und von Studierenden bearbeitet. ## Vorleistungen ## - ≥ 50% der Punkte aus den 6 Pflichtserien sollen geschafft werden. - _nur digitale Abgabe_! ## Code ## Im Unterordner [`code`](./code) kann man ein Python-Projekt finden, in dem verschiedene Algorithmen implementiert werden (siehe insbes. [`code/algorithms`](./code/algorithms)). Man kann gerne den Code benutzen, in einer eigenen Repository verändern, und mit den in dem Kurs präsentierten Algorithmen herumexperimentieren. ### Systemvoraussetzungen ### Python version 3.x.x (idealerweise zumindest 3.9.5) plus einige Module (siehe [code/requirements](./code/requirements)). Letztere lassen sich mittels ```bash python3 -m pip install -r code/requirements; # linux, osx py -3 -m pip install -r code/requirements; # Windows ``` installieren. ### Ausführung ### Um den Python Code auszuführen, bspw. im Bash: ```bash ## Anzeigen der Hilfsanleitung: python3 code/main.py -h; # linux, OSX py -3 code/main.py -h; # Windows ## Ausführung der Testfälle in code/config.yml: python3 code/main.py all; # linux, OSX py -3 code/main.py all; # Windows ## Mit Infos über Schritte: python3 code/main.py --debug all; # linux, OSX py -3 code/main.py --debug all; # Windows ``` Oder man erstelle einen bash Skript wie `run.sh`, trage die Befehle da ein und führe ```bash chmod +x run.sh; # nur einmalig nötig ./run.sh ``` aus.