TU Wien:Algorithmen und Datenstrukturen VU (Szeider)

Aus VoWi
Zur Navigation springen Zur Suche springen
Ähnlich benannte LVAs (Materialien):

Daten[Bearbeiten | Quelltext bearbeiten]

Vortragende Michael BernreiterThomas DepianAlexander DoblerJan Niclas DreierWolfgang DvorakAlexander FirbasRobert GanianEnrico IurlanoMartin KroneggerSebastian Johannes LüderssenMartin NöllenburgTomas PeitlVaidyanathan Peruvemba RamaswamyGünther RaidlManuel SorgeStefan SzeiderLaurenz TomandlSimon Wietheger
ECTS 8,0
Alias Algorithms and Data Structures (en)
Ersetzt Algorithmen und Datenstrukturen 1 VU (Raidl), Algorithmen und Datenstrukturen 2 VU (Raidl)
Letzte Abhaltung 2024S
Sprache Deutsch
Abkürzung AlgoDat
Mattermost algorithmen-und-datenstrukturenRegisterMattermost-Infos
Links tiss:186866, eLearning
Zuordnungen
Bachelorstudium Informatik Modul Algorithmen und Datenstrukturen (Pflichtfach)
Bachelorstudium Wirtschaftsinformatik Modul INT/ADA - Algorithmen und Datenstrukturen (Pflichtfach)
Bachelorstudium Medieninformatik und Visual Computing Modul Algorithmen und Datenstrukturen (Pflichtfach)
Bachelorstudium Medizinische Informatik Modul Algorithmen und Datenstrukturen (Pflichtfach)
Bachelorstudium Software & Information Engineering Modul Algorithmen und Datenstrukturen (Pflichtfach)
Bachelorstudium Technische Informatik Modul Algorithmen und Datenstrukturen (Pflichtfach)


Inhalt[Bearbeiten | Quelltext bearbeiten]

Inhaltlicher Nachfolger von Algorithmen und Datenstrukturen 1 VU und Algorithmen und Datenstrukturen 2 VU.

  • Laufzeitanalyse von Algorithmen (anhand von Pseudocode)
  • Suchalgorithmen, Suche in Graphen, Suchbäume
  • Divide-and-Conquer, Hashing
  • praktische Datenstrukturen in Java
  • etc.

Ablauf[Bearbeiten | Quelltext bearbeiten]

Die Vorlesung findet 2 mal wöchentlich statt. Zwischendurch gibt es immer wieder die Möglichkeit Live via Webapp an einem Quiz teilzunehmen um einerseits dem Vortragenden Feedback zu geben ob der Stoff verstanden wurde und andererseits die Studierenden interaktiv in die Vorlesung miteinzubinden.

Zu Beginn findet ein Einstiegstest statt der mit 80% bestanden werden muss, allerdings nicht zur Note zählt. In einem semi-wöchentlichen System finden Übunden statt zu welchen jeweils Theoriebeispiele und ein Programmierbeispiel aufgegeben werden. Es gibt (Stand S2018) 2 Tests die eher ungleichmäßig über das Semester verteilt sind. Zusätzlich gibt es jeweils vor den Tests TUWEL-Tests die einen Teil des Stoffgebiets abprüfen und mit welchen man sich noch ein paar Zusatzpunkte holen kann die auch in die Benotung miteinfließen.

Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]

Algebra VO und EP1 sollte man meiner Meinung positiv abgeschlossen haben

Andere Meinung: ADM muss man definitiv nicht positiv abgeschlossen haben. EP1 wäre nicht schlecht da sehr viel Code gezeigt wird

Vortrag[Bearbeiten | Quelltext bearbeiten]

Der Vortrag wird von mehreren Professoren abwechselnd je nach Themengebiet gehalten. Teilweise gibt es annotierte Folien und ein Quiz bei dem alle Studierende abstimmen können um selbst zu testen wie gut sie den Stoff verstanden haben.

Meinung: Es ist einer der wenigen wirklich besuchenswerten und lohnenswerten Vorträge. Der Besuch hilft beim Verständnis des Stoffs und die Erklärungen sind großteils wirklich gut.

Meinung: Vortrag ist gut sobald Prof. Szeider nicht mehr die VO hält da er den Stoff nur sehr unengagiert rüberbringt und mindestens so viele Ähms, ähh, am, etc verwendet wie sinnvolle Wörter. Ab dem Zeitpunkt wird es eigentlich spannend und richtig interessant. Auch die Programmierbeispiele sind eigentlich sehr spannend.

Übungen[Bearbeiten | Quelltext bearbeiten]

Für jede fast wöchentlich stattfindende Übung können 6-7 Beispiele gekreuzt werden (insgesamt 45) wovon 25 für eine positive Note notwendig sind. Die Übungsgruppenleiter_innen wechseln durch. Man sollte sich nicht unbedingt darauf verlassen, dass alle Leute gleich oft drankommen.

  • bis 2018S: Es gibt keinerlei Tafelleistungen o.ä. allerdings können Beispiele aberkannt werden wenn der Übungsleiter meint, dass man das Beispiel nicht verstanden hat. Es wird unterschiedlich intensiv nachgefragt, aber meist sehr fair beurteilt. Es gibt sowohl die Möglichkeit, dass nur das präsentierte Beispiel aberkannt wird (z.B. bei groben Fehlern, oder einzelnen Wissenslücken) oder dass sämtliche Kreuze der Übung gestrichen werden (wenn Beispiele gekreuzt werden die man nicht gemacht hat oder den Stoff einfach null verstanden hat). Letzteres kommt allerdings so gut wie nicht vor, es kann sich also durchaus lohnen eher mehr Beispiele zu kreuzen, selbst wenn man sich nicht 100% sicher ist ob die Lösung korrekt ist, man den prinzipiellen Stoff aber gut verstanden hat.
  • ab 2019S: Es gibt eine Tafelleistung. Beispiel werden dafür praktisch nicht mehr aberkannt.
  • 2020S: Pandemiebedingt hat es keine Übungsstunden mehr gegeben. Dafür wurden zufällige Ausarbeitungen bewertet, was die Tafelleistung ersetzt hat. Meiner Meinung nach waren sie dabei sehr kulant. Zu den Übungen hat es dann jeweils freiwillige Beispielstunden gegeben (über Zoom) in denen man Fragen stellen konnte und die Beispiele vorgerechnet wurden. Zusätzlich dazu wurden Musterlösungen (eher wenig Rechenweg, sondern die richtige Antwort) zur Verfügung gestellt.

Üblicherweise wurde das abgegebene PDF (Abgabe des Übungsblattes war immer jeweils bis Sonntagmittag vor der Übungswoche, für alle Gruppen) am Beamer geöffnet und man konnte Anhand seiner Ausarbeitung erklären wie das Beispiel zu lösen war. Es empfiehlt sich v.a. die in der Angabe vorkommenden Begriffe vor der Übung nochmal nachzuschlagen, da doch oft auch Theoriefragen kommen.

Die Programmieraufgaben benötigen oft etwas mehr Zeit, können aber (je nachdem wie mensch gerne lernt) beim Verständnis helfen und machen vielen Studierenden auch einfach mehr Spaß. Es werden Testfälle zur Verfügung gestellt, die lokal durchlaufen müssen. Zusätzlich müssen immer ein paar kleine Theoriefragen beantwortet werden. Auf den Programmcode selbst wird in der Übungsgruppe nicht eingegangen, sondern immer nur auf die Fragen/Gedanken dahinter. Seit 2019S werden die Programmierbeispiele in Abgabegesprächen geprüft und nicht mehr in der Übungsrunde.


Übungsleiter 2024:

Hier sind kurze objektive Meinungen über die jeweiligen Übungsleiter, da die Fragestellungen in den Übungen stark von Übungsleiter zu Übungsleiter variieren.

Deshalb lohnt es sich je nach Übungsleiter mehr oder weniger genau mit den Details auseinanderzusetzen.

Jan Dreier:

Fairer Übung. Nicht sonderlich detailsverliebt und hat es ggf. lieber mit saloppen Lösungen. Stell grundsätzlich kleine Nebenfragen.

2. Meinung:

Hatte anscheinend einen schlechten Tag und hat extrem genau jeden ausgefragt. Wollte auch die z.B.: Breitensuche und Tiefensuche im Pseudocode auswendig wissen.

Laurenz Tomandl:

Nicht sonderlich ungut zu den Studenten und schon fair. Nicht extrem detailverliebt aber stellt gerne kleine Nebenfragen wie z.B.: Laufzeiten von Algorithmen.


Enrico Lurlano

Grundsätzlich nett, aber möchte grundsätzlich eher die "Musterlösung" von den Studenten hören.

Prüfung, Benotung[Bearbeiten | Quelltext bearbeiten]

Es gibt 2 Prüfungen. Stand 2018 ist es so, dass die erste Prüfung ein sehr kleines und die zweite Prüfung ein sehr großes Themengebiet umfasst. Da die LVA zum ersten mal in diesem Modus durchgeführt wurde und dies ein häufiger Kritikpunkt war bleibt aber zu hoffen, dass hier künftig eine bessere Lösung gefunden wird. Um positiv muss die Summer der Prüfungen (mit jeweils max 50 Punkten) über 50 Punkte liegen. Gezählt werden dabei allerdings nur Prüfungen bei welchen der Studierende über 20 Punkte erreicht. Mit 15 Punkten auch den ersten und 40 Punkte auf den zweiten müsste der Studierende also trotzdem zum Nachtest antreten. Der Nachtest ist über das gesamte Stoffgebiet und nicht nur über jenes auf dessen Test der Studierende negativ war oder nicht teilgenommen hat. Der Nachtest steht allen offen und man kann sich die Note gefahrlos verbessern, da der schlechteste Test gestrichen wird.

Insgesamt prüfen die Tests sehr gut das Verständnis des Stoffes ab. Oft werden Variationen der Algorithmen die in der Vorlesung behandelt wurde zum Test gegeben. Die Tests waren jeweils innerhalb von 1-2 Wochen korrigiert.

Die Benotung ergibt sich aus den besten zwei der drei Tests + Kreuze in der Übung + Tafelleistung in der Übung + (optionale) Programmieraufgaben.

SS19: TUWEL-Tests auf freiwilliger Basis. Man musste nun auf beide Tests je 50 von 100 Punkten erreichen. Das ist die bisher größte Verschärfung bei Algodat: Bei den Vorgänger-Lehrveranstaltungen reichte es, aus beiden Tests insgesamt 51 von 100 Punkten zu bekommen, wobei es pro Test nur 50 Punkte zu erreichen gab. Es scheint, dass die Übungen von Jahr zu Jahr unaufwändiger, die Tests allerdings schwerer werden.

Durch diesen strengeren Modus gab es insbesondere beim 1. Test ziemlich viele negative Ergebnisse, die meisten davon hatten knapp weniger als 50 Punkte. Man muss den Stoff nicht nur gut verstehen, sondern auch vieles auswendig können, damit man beim Test keine Zeit mit "wie war das nochmal" verschwendet. Insgesamt sollte man die Tests daher keineswegs unterschätzen, das Durchrechnen sämtlicher Alttests ist keinesfalls eine Garantie für eine positive Note. Je nachdem wie gut einem/einer der Stoff liegt (bei keiner LVA habe ich bisher so große Unterschiede wahrgenommen wie bei Algodat), sollte schon viel Lernaufwand pro Test eingeplant werden.

Meinung aus 2020S: Zwar ist die LVA recht aufwendig (8 ECTS) jedoch sollten die Tests, wenn man die Übungen gewissenhaft gemacht hat und nicht nur abgeschrieben hat und anschließend die vergangenen Tests durchrechnet machbar sein. Für mich waren so auch beide Tests gleichzeitig gut schaffbar.

2023S: Test nicht unterschätzen, sind anders/schwerer als die letzten Jahre. Bei Plagiaten sind sie sehr streng. Sie können auch die gesamte Lehrveranstaltung aufgrund von Plagiaten negativ beurteilen, obwohl man noch die Mindestanforderungen erfüllt. (§20b Studienrechtliche Bestimmungen) Das haben sie auch gemacht.


2024S: Test werden anscheinend jedes Jahr schwieriger. Auch mit genug lernen kann man sich nie sicher sein! Deswegen einfach kein schlechtes Gewissen haben wenn man trotz vielem Lernen und Verstehen man trzdm negativ auf den Test ist.

Dauer der Zeugnisausstellung[Bearbeiten | Quelltext bearbeiten]

Semester 2. Test Zeugnis
2019S 28.06.2019 31.07.2019 einen Monat (Testergebnis war schon am 13.07.2019 da)

Zeitaufwand[Bearbeiten | Quelltext bearbeiten]

Der Zeitaufwand ist definitiv nicht zu unterschätzen. Die regelmäßigen Übungen nehmen viel Zeit in Anspruch. Es ist mit einem Arbeitsaufwand von ca. 6h pro Übungstermin zu rechnen (wenn VO besucht wird).

Die Übungen waren bei SS19 das kleinste Problem. Die Prog-Aufgaben waren nun komplett freiwillig, und die Übungsbeispiele waren bis zum 4. Übungsblatt äußerst trivial (Min-Heap, AVL-Baum balancieren, also starker Fokus auf das Ausführen der VO-Algorithmen). Schwierig waren lediglich 1-2 Dynamic Programming-Bspe bei den letzten Übungsblättern. Ich würde einen starken Fokus auf das Lernen für die Tests legen.

SS2020: Je nach dem wie viele Übungen man kreuzen wollte, war man schon einen Nachmittag bis Tag beschäftigt. Für das Lernen auf die Tests (beide gleichzeitig) haben 4-5 Tage intensives Arbeiten gereicht.

SS21: Definitiv weniger als 8ECTs, wenn nicht sogar die Hälfte. Übungen gingen bis auf die letzten Blätter recht schnell, Programmieraufgaben waren freiwillig. Tests waren auch leicht machbar wenn man den Stoff verstanden hat.

Unterlagen[Bearbeiten | Quelltext bearbeiten]

Tipps[Bearbeiten | Quelltext bearbeiten]

  • Die Vorlesung besuchen erspart viel an Lernaufwand, obwohl die Folien gut und übersichtlich gestaltet sind.
  • Mit Übungsblätter beginnen auch wenn noch nicht der ganze Stoff des Blattes vorgetragen wurde die ersten Beispiele können trotzdem schon gemacht werden. So verteilt sich der Aufwand besser.
  • Die Tests auf keinen Fall unterschätzen.
  • Die Übungsblätter zunächst alleine versuchen zu lösen bzw. sich die Lösungen so lange erklären lassen, bis sie wirklich verstanden wurden. Das saubere Ausarbeiten erspart viel Zeit beim Lernen auf die Tests.
  • Trotzdem behauptet wird es ginge bei den Tests nur um Verständnis und nicht um Reproduzieren, geht es bei fast allen praktischen Aufgaben um Algorithmen oder deren genaue Implementierung aus der Vorlesung, bzw. müssen beispielsweise deren Laufzeiten auswendig gewusst werden.

Highlights / Lob[Bearbeiten | Quelltext bearbeiten]

noch offen

Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]

  • 2018: Sehr ungleichmäßig aufgeteilter Stoff bezüglich der Tests. Das war lt. LVA Leitung aufgrund existierender HS-Reservierungen nicht anders möglich und soll in den nächsten Semestern besser berücksichtigt werden.
  • 2019: Oftmals wenig Zeit für die Übungen. Der Stoff der für die letzten Beispiele eines Blatts notwendig ist wurde erst in der Woche der Abgabe vorgetragen.
  • 2019: 2. Repetitorium einen Tag vor dem Test, ein paar Tage Abstand wäre wünschenswert. Andere Meinung: Ein Tag vorher finde ich super, da man bis dahin schon das meiste gelernt hat und dann noch besser aufpassen kann bzw. gezielt Fragen stellen kann

Alte Tests[Bearbeiten | Quelltext bearbeiten]

Angabe Ausarbeitung
Test 1 2018S.pdf vorhanden
Test 1 2019S.pdf vorhanden
Test 1 2020S.pdf vorhanden
Test 1 2021S Gruppe A.pdf vorhanden
Test 1 2021S Gruppe B.pdf fehlt
Test 1 2021S Gruppe C.pdf fehlt
Test 1 2021S Gruppe D.pdf fehlt
Test 1 2022S Gruppe A.pdf fehlt
Test 2 2018S.pdf vorhanden
Test 2 2019S.pdf vorhanden
Test 2 2020S.pdf vorhanden
Test 2 2021S Gruppe A.pdf vorhanden
Test 2 2021S Gruppe B.pdf fehlt
Test 2 2021S Gruppe C.pdf fehlt
Test 2 2022S Gruppe A.pdf fehlt
Test AD1 1 2016S.pdf vorhanden
Test AD1 1 2017S.pdf vorhanden
Test AD1 2 2016S.pdf vorhanden
Test AD1 3 2017S.pdf fehlt
Test AD2 1 2016S.pdf vorhanden
Test AD2 1 2017S.pdf vorhanden
Test AD2 3 2016S.pdf vorhanden

Um eine Ausarbeitung hinzuzufügen klicke auf fehlt, dann Bearbeiten und füge [[Hat Ausarbeitung::Datei:Deine Ausarbeitung.pdf]] ein.

Materialien

Neues Material hinzufügen