Please disable Adblockers and enable JavaScript for domain CEWebS.cs.univie.ac.at! We have NO ADS, but they may interfere with some of our course material.

Ablauf (up)

Die dreistündige Vorlesung und die einstündige Übung Algorithmen und Datenstrukturen sind Bestandteil des Pflichtmoduls ADS Algorithmen und Datenstrukturen der Bachelorstudien Informatik und Wirtschaftsinformatik, sowie des Studiums Lehramt Informatik. 
 
Die TeilnehmerInnen sollen die grundlegenden Algorithmen und Datenstrukturen kennenlernen und darüber hinaus in die Lage versetzt werden, die Komplexität und Qualität von Algorithmen und deren Implementierung zu bewerten. 
 
Die Vorlesung Algorithmen und Datenstrukturen führt die grundlegenden Algorithmen und Datenstrukturen vor. Der vorgetragene Stoff bildet die Grundlage für die in den Übungen praktisch auszuarbeitenden Beispiele. 
 
Die Vorlesung behandelt folgende Themenschwerpunkte: 
 
  1. Aufwandsabschätzungen 
  2. Komplexitätsmaße 
  3. Grundlegende Datenstrukturen 
  4. Such- und Sortierverfahren 
  5. Grundlegende Graph- und Optimierungsalgorithmen 
Diese werden von Prof. Henzinger, Prof. Schikuta und DI Wanek vorgetragen. 
 
 
Die Übung Algorithmen und Datenstrukturen wird in zwei Teilen durchgeführt: 
 
  1. Vortrag zu fortgeschrittenen Themen der Programmierung in C++ 
    In den ersten Wochen des Semesters werden zu den angekündigten Zeiten Programmierkonzepte vorgetragen, deren Kenntnis für das nachfolgende Projekt notwendig ist, die aber nicht Teil der Lehrveranstaltung « Einführung in die Programmierung» sind. Das sind im Wesentlichen: 
    • Vererbung 
    • Funktoren/Lambda-Ausdrücke 
    • Exceptions (Wiederholung und Vertiefung) 
    • Templates 
    • File I/O 
       
  2. Projekt 
    Ziel des Projekts ist die Implementierung einer der in der Vorlesung behandelten Datenstrukturen und eines Sortierverfahrens. Die Studierenden können dabei aus einer Liste von Themen frei wählen. Die Themen sind unterschiedlich komplex, was später bei der Beurteilung berücksichtigt wird. Das Projekt wird im Anschluss an den Theoriekurs als Einzelarbeit durchgeführt und beginnt mit einem schriftlichen Test über die jeweils gewählte Datenstruktur (Einfügen, Suchen und Löschen anhand praktischer Fallbeispiele). Das Projekt selbst gliedert sich in drei Phasen: 
     
    1. Erste Implementierung einer Datenstruktur (Einfügen und Suchen) 
    2. Vollständige Implementierung (inklusive Löschen und Sortieren) 
    3. Vergleich mit den Implementierungen anderer Studierender und Optimierungen 
 
Für jede Phase wird ein Abgabetermin festgelegt. Die Liste der gültigen Termine findet sich auf dieser Seite unter dem Tab Termine.
 
Für die Übung werden grundlegende Kenntnisse der objektorientierten Programmierung (im speziellen in C++) vorausgesetzt (i.e. die Inhalte der Lehrveranstaltung «Einführung in die Programmierung»). 
 

Leistungsbeurteilung (up)

Über die Vorlesung wird eine schriftliche Einzelprüfung abgelegt. Die Prüfungstermine können über univis bzw. u:space abgerufen werden, wobei auch die Anmeldung zu den Prüfungen über univis bzw. u:space erfolgen muss. Alte Prüfungsangaben sind online verfügbar. 
 
Für den erfolgreichen Abschluss der Übung sind zumindest 50 Punkte zu erreichen. Die Punkte werden wie folgt vergeben: 
 

Projektpunkte und Qualitätspunkte (up)

Zu jedem Thema werden die Leistungsdaten einer Referenzimplementierung zur Verfügung gestellt. Die Referenzimplementierung setzt keine Tricks oder Optimierungen ein und entspricht den Vorgaben in den Unterlagen. Die Leistungsdaten (Laufzeit, Speicherplatzbedarf) der Referenzimplementierung sollten daher in der Regel problemlos erreicht werden können. 
 
Wenn die abgegebene Implementierung nicht den Vorgaben entspricht oder die Datenstrukturen bzw. Algorithmen nicht spezifikationskonform sind, dann werden Projektpunkte abgezogen. Bei schwerwiegend falschen Implementierungen kann dies eine positive Note verhindern. In einem solchen Fall muss auf jeden Fall nachgebessert werden (mit Projektpunkteabzug). Auch wenn die Leistungsdaten klar schlechter sind als jene der Referenzimplementierung weist dies auf eine falsche Implementierung hin und es werden Projektpunkte abgezogen. "Klar schlechter" bedeutet in der Ordnung schlechter oder um einen großen Faktor schlechter. 
 
Die Projektpunkte können nur vergeben werden, wenn das Projekt im Rahmen der Abschlussklausur erfolgreich abgeschlossen wurde. 
 
Wenn die Leistungsdaten der Implementierung klar besser sind als jene der Referenzimplementierung, dann werden dafür Qualitätspunkte vergeben. Die Leistungsdaten werden dabei immer im Gesamten betrachtet. Ein Leistungsvorteil in einem Aspekt (zB beim Suchen des Minimums) darf dabei nicht durch einen Leistungsnachteil in einem anderen Aspekt (zB beim Einfügen oder Löschen) "erkauft" werden. Auch hier geht es nicht um minimale Abweichungen bei der Laufzeit (dafür ist die Messmethodik zu ungenau) oder beim Speicherplatzbedarf, sondern um deutliche Unterschiede (zB in der Ordnung). 

Positive Beurteilung (up)

Voraussetzung für eine positive Beurteilung ist jedenfalls: 
 

Notenskala (up)

Punkte
Note
>= 87,5
sehr gut (1)
>= 75
gut (2)
>= 62,5
befriedigend (3)
>= 50
genügend (4)
< 50
nicht genügend (5)
Letzte Änderung: 08.10.2016, 11:25 | 785 Worte