# 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 folgende Module: - argparse>=1.4.0 - pyyaml>=5.4.1 - typing>=3.7.4.3 (ACHTUNG: diese Liste könnte später im Kurs länger werden) Diese lassen sich mittels ```bash python3 -m pip install {name des Moduls}; # linux, osx py -3 -m pip install {name des Moduls}; # Windows ``` installieren. Man kann auch die Version mittels etwa `{name}==1.2.3` oder `{name}>=1.2.3` spezifizieren. Alternativ verwende man `python3 -m pip install --upgrade {name}` bzw. `py -3 ...`. ### 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.