TU Wien:Algorithmen und Datenstrukturen 1 VU (Raidl)

Aus VoWi
Wechseln zu: Navigation, Suche

Daten[Bearbeiten]



Inhalt[Bearbeiten]

  • Abstrakte Datentypen und Datenstrukturen.
  • Sortierprobleme und Sortierverfahren.
  • Suchprobleme und Suchverfahren, einfache binäre Suchbäume, balancierte Suchbäume, Hashverfahren, Tries.
  • Graphen und Algorithmen zur Arbeit mit Graphen.
  • Analyse und Klassifikation von Algorithmen, insbesondere Untersuchung ihres Laufzeitverhaltens mit Hilfe der Theta-Notation.

Ablauf[Bearbeiten]

Der Vorlesungsteil besteht aus zwei Vorlesungseinheiten pro Woche zu je 75 Minuten. Während des gesamten Semesters gibt es Kreuzerlübungen in Gruppen zu je 20 Personen, insgesamt 4 Termine zu je 10 Beispielen. Auf die Übungsgruppen kann man maximal 40 Punkte erreichen. Während des Semesters gibt es in regelmäßigen Abständen insgesamt zwei Übungstests, am Anfang des darauffolgenden Semesters gibt es einen Nachtragstest. Bei jedem dieser Übungstests sind 50 Punkte zu erreichen. Zum positiven Abschluss der VU ist es jedoch lediglich notwendig, zwei der drei Übungstests zu absolvieren. Im Fall, dass alle drei Übungstests besucht werden, werden nur die Punkte der beiden besseren Tests für die Beurteilung herangezogen.

Zusätzlich zu den Übungsblättern sind in während des Semesters noch 2 Beispielblätter zu je 8 Punkten auszuarbeiten und über TUWEL abzugeben. Diese werden dann von einem Tutor kontrolliert und man erhält Feedback zu seiner Ausarbeitung.

Weiters gibt es auch noch 1 Programmieraufgabe, die in Java zu lösen ist. Input/Output etc. sind schon vorgegeben, nur der Algorithmus muss geschrieben werden. Nach der Aufgabe muss der Studierende seine Lösung in einem kurzen Abgabegespräch erklären.

Die VU ist positiv absolviert, wenn man auf die zwei besten Übungstests zusammen mindestens 51 Punkte, auf Übungs- und Beispielblätter gemeinsam mindestens 28 Punkte, die Programmieraufgaben gelöst (mind. 1 Punkt beim Abgaberobot) und insgesamt mindestens 83 Punkte hat. Die Punkte werden addiert und nach einem üblichen Notenschlüssel auf eine Note umgerechnet.

Benötigte Vorkenntnisse[Bearbeiten]

Syntax geläufiger Programmiersprachen (zum Schreiben von (Pseudo-)Code), Java (zum Lösen der Programmierbsp.)

Empfehlenswerte Vorkenntnisse[Bearbeiten]

Algebra und Diskrete Mathematik (zumindest die Übung), Programmkonstruktion

Literatur[Bearbeiten]

Ein Skriptum (ideale Lernunterlage) gibt es am Anfang des Semesters um 10€ zu kaufen. Falls man vergessen hat eines zu kaufen, kann man es noch im Sekretariat erwerben, jedoch ist es dann möglicherweise nicht gebunden und es bedarf einer kleinen Wartezeit.

Folien oder andere Unterlagen werden nicht zur Verfügung gestellt, das Skriptum ist leider auch nicht digital verfügbar! SS2016: Folien sind in TUWEL verfügbar.

Generell können aber auch alte Skripten (bis zu zwei Jahre alt) verwendet werden.

Vortrag[Bearbeiten]

Der Stoff der Vorlesung ist für Studierende sämtlicher Bachelorstudien von Interesse; auch der Vortragsstil selbst ist größtenteils nicht schlecht und teilweise recht unterhaltsam (Stichwort Telefonbuchzerreißen), kann, abhängig vom Interesse des Studierenden, aber auch langweilig wirken.

Erfahrung SS15: Je nach Vortragendem, dem Vortrag von Szeider ist mMn das selbstständige Durcharbeiten der Teile im Skriptum vorzuziehen (relativ langweilig, einfache Dinge werden oft ziemlich genau gemacht und komplizierte mMn zu ungenau). Raidl ist ganz ok, siehe vorigen Absatz (Telefonbuchzerreißen war auch dieses Semester mit dabei ;).

Prüfung[Bearbeiten]

Die Vorlesung mit Übung (ab WS06/07) besitzt keine explizite Prüfung mehr, für die Note ausschlaggebend sind die schon oben genannten Punkte: die Übungstests, die Übungsbeispiele und die Programmierbeispiele.

Die Übungstests sorgen bei manchen Studierenden anscheinend immer wieder für Überraschungen. Es ist auf jeden Fall sinnvoll, sich für den ersten Test sehr gut (tiefgehend!) vorzubereiten, da er immerhin am wenigsten Stoff hat. Die drei Übungstests (zwei reguläre Tests bzw. der Nachtragstest) dauern jeweils nur 45-55 Minuten. Die Zeit, welche für einen Test zur Verfügung steht, vergeht mitunter wie im Flug, oft ist kaum Zeit, sich das Geschriebene noch einmal durchzulesen. Da der Stoff an sich allerdings nicht wirklich schwer ist, sind die Tests auf jeden Fall zu schaffen. Man darf die Schwierigkeit jedoch keinesfalls unterschätzen. Vor allem bei der Vergabe der Punkte wird auf jedes Detail geachtet. Wenn in einer Antwort nicht "der spezielle Fachbegriff" vorkommt oder man ein Beispiel zwar vollständig gelöst hat, sich jedoch am Anfang bei einer Kleinigkeit geirrt hat (etwa den falschen Algorithmus verwendet hat, weil man sich zu wenig Gedanken über die Laufzeiten gemacht hat) muss man die 0 Punkte akzeptieren (selbst, wenn der verwendete viel komplizierter war, als der gefragte, und auch richtig angewandt wurde). Zur Vorbereitung sind auf der LVA-Homepage alte Test- und Prüfungsangaben verlinkt.

Dauer der Zeugnisausstellung[Bearbeiten]

  • SS10: Letzte Leistungsfeststellung: 30.06.2010, Zeugnis erhalten am: 10.08.2010 (ca. 6 Wochen)
  • SS11: Letzte Leistungsfeststellung: 30.06.2011, Zeugnis erhalten am: 28.07.2011 (4 Wochen)
  • SS15: Letzte Leistungsfeststellung: 28.05.2015, Zeugnis erhalten am: 18.06.2015 (3 Wochen)

Tipps[Bearbeiten]

  • Für die Tests sollte man auf jeden Fall die Algorithmen gut durchdenken und auch Sonderfälle durchdenken (Was passiert, wenn gleiche Zahlen vorkommen (Stabilität)? Was passiert, wenn die Anzahl der zu sortierenden Zahlen gerade bzw. ungerade ist?). Sehr wichtig ist auch, dass man sich die Algorithmen anhand der Implementierungen im Skriptum überlegt (und nicht [nur] anhand von Wikipedia, etc.)! Die Algorithmen lassen teilweise großen Spielraum für Implementierungen. Gefragt ist aber immer genau jene aus dem Skriptum. Außerdem sollte man das Schreiben von Pseudocode üben bzw. hinsichtlich des ersten Tests Operationen in Pseudocode auf Listen.
  • Im Skriptum gibt es am Ende von Kapiteln Kontrollfragen. Diese sind wirklich wichtige Anhaltspunkte für Prüfungen und sollte man sorgsam ausarbeiten und durchdenken. Antworten auf diese Fragen sind bei den Tests dann quasi geschenkte Punkte.

Verbesserungsvorschläge / Kritik[Bearbeiten]

noch offen

Wikipedia-Links[Bearbeiten]

Links[Bearbeiten]