Universität Wien

051024 VU Algorithmen und Datenstrukturen 1 (2024S)

Prüfungsimmanente Lehrveranstaltung

An/Abmeldung

Hinweis: Ihr Anmeldezeitpunkt innerhalb der Frist hat keine Auswirkungen auf die Platzvergabe (kein "first come, first served").

Details

max. 50 Teilnehmer*innen
Sprache: Deutsch

Lehrende

Termine (iCal) - nächster Termin ist mit N markiert

Dienstag 05.03. 09:00 - 11:15 Hörsaal 1, Währinger Straße 29 1.UG
Dienstag 19.03. 09:00 - 11:15 Hörsaal 1, Währinger Straße 29 1.UG
Dienstag 09.04. 09:00 - 11:15 Hörsaal 1, Währinger Straße 29 1.UG
Dienstag 16.04. 09:00 - 11:15 Hörsaal 1, Währinger Straße 29 1.UG
Dienstag 23.04. 09:00 - 11:15 Hörsaal 1, Währinger Straße 29 1.UG
Freitag 26.04. 09:45 - 11:15 Hörsaal 1, Währinger Straße 29 1.UG
Freitag 03.05. 09:45 - 11:15 Hörsaal 1, Währinger Straße 29 1.UG
Dienstag 07.05. 09:00 - 11:15 Hörsaal 1, Währinger Straße 29 1.UG
Dienstag 14.05. 09:00 - 11:15 Hörsaal 1, Währinger Straße 29 1.UG
Dienstag 21.05. 09:00 - 11:15 Hörsaal 1, Währinger Straße 29 1.UG
Dienstag 28.05. 09:00 - 11:15 Hörsaal 1, Währinger Straße 29 1.UG
Dienstag 04.06. 09:00 - 11:15 Hörsaal 1, Währinger Straße 29 1.UG
Dienstag 11.06. 09:00 - 11:15 Hörsaal 1, Währinger Straße 29 1.UG
Dienstag 18.06. 09:00 - 11:15 Hörsaal 1, Währinger Straße 29 1.UG
Donnerstag 20.06. 13:15 - 16:30 PC-Unterrichtsraum 2, Währinger Straße 29 1.OG
PC-Unterrichtsraum 3, Währinger Straße 29 1.OG
PC-Unterrichtsraum 4, Währinger Straße 29 1.OG
PC-Unterrichtsraum 5, Währinger Straße 29 2.OG
PC-Unterrichtsraum 6, Währinger Straße 29 2.OG
Dienstag 25.06. 09:00 - 11:15 Hörsaal 1, Währinger Straße 29 1.UG

Information

Ziele, Inhalte und Methode der Lehrveranstaltung

Die Studierenden erlangen Kenntnisse über Aufwandsabschätzungen, Komplexitätsmaße, grundlegende Datenstrukturen, Such- und Sortierverfahren und grundlegende Graph- und Optimierungsalgorithmen. Sie werden dadurch befähigt Algorithmen und geeignete Datenstrukturen für gegebene Problemstellungen zu entwerfen oder auszuwählen und das Leistungsverhalten zu beurteilen.

Die Lehrveranstaltung gliedert sich in einen Vorlesungsteil, in dem die erforderlichen Kenntnisse vermittelt werden und in einen Praktikumsteil, in dem eine auszuwählende Datenstruktur implementiert werden muss.

Die Vorlesung gliedert sich in folgende Kapitel
0. Einführung (Programmstrukturen )
1. Algorithmen (Paradigmen, Analyse)
2. Datenstrukturen (Allgemeiner Überblick)
3. Listen (Lineare Speicherstrukturen, Stack, Queue)
4. Bäume (Suchstrukturen)
5. Vektoren (Sortieren, Hashing)
6. Graphen (Optimierungsalgorithmen)

Im Laufe des Semesters muss eine auszuwählende Datenstruktur implementiert werden.

Art der Leistungskontrolle und erlaubte Hilfsmittel

Der Vorlesungsteil schließt mit einer schriftlichen Prüfung ab, die als Präsenztermin stattfindet und für die bis zu 100 Punkte vergeben werden. Zur Prüfung sind keine Hilfsmittel zugelassen.

Für den Praktikumsteil sind mehrere Teilleistungen zu erbringen. Im Laufe des Semesters ist ein schriftlicher Test zu absolvieren sowie ein Projekt mit einer, aus einer Liste möglicher Themen gewählten, Aufgabenstellung zu realisieren. Für einzelne Teilleistungen werden Punkte vergeben. Die maximal erreichbaren Punkte sind - abhängig vom Aufwand/Schwierigkeitsgrad - je nach Thema unterschiedlich (bis zu 100). Das Projekt wird mit einer Klausurarbeit (Projektabschlussklausur) im Rechnerlabor abgeschlossen, in deren Rahmen die eigene Implementierung zu erweitern ist. Diese Klausur wird als Präsenztermin im Rechnerlabor durchgeführt. Es sind keine Hilfsmittel erlaubt.

Der schriftliche Test im Praktikumsteil findet online statt. Es werden die grundlegenden Operationen (Einfügen/Löschen/Suchen) auf der für das Projekt ausgewählten Datenstruktur geprüft. Als Hilfsmittel sind nur die auf der Webseite der LV zur Verfügung gestellten Unterrichtsmaterialien zulässig.

Insgesamt können 200 Punkte erreicht werden:
100 Punkte für den Praktikumsteil (80 für das Projekt, 20 für den schriftlichen Test) sowie 100 Punkte für die theoretische Prüfung zum Vorlesungsteil.

Ein Antritt zur schriftlichen Prüfung zum Vorlesungsteil ist nur möglich, wenn zuvor die Projektabschlussklausur erfolgreich absolviert wurde. Für Studierende, die an der Projektabschlussklausur und/oder der schriftlichen Prüfung zum Vorlesungsteil am Semesterende nicht teilnehmen können, werden vor dem Beginn des nächsten Semesters zwei Nachtermine angeboten. Jeder Nachtermin bietet eine Möglichkeit, die Projektabschlussklausur und/oder die schriftliche Vorlesungsprüfung abzulegen. Die beiden Prüfungen finden in der Regel an unterschiedlichen Tagen, aber in nur geringem zeitlichen Abstand statt. Wenn nachweislich keiner der drei Termine aus wichtigen Gründen (z. B. Erkrankung) wahrgenommen werden kann, dann gilt dies als wichtiger Grund für einen Abbruch der Lehrveranstaltung. Die Nachtermine können auch zur Verbesserung der Note verwendet werden. Die jeweils letzte Leistung zählt. Die Möglichkeit zum Nachholen von Prüfungen und zur Notenverbesserung besteht aber nur im Rahmen der vorgesehenen Nachtermine. Zusätzliche Termine werden nicht angeboten, auch wenn Studierende die vorgesehenen Termine versäumt haben.

Mindestanforderungen und Beurteilungsmaßstab

Für den erfolgreichen Abschluss sind zumindest jeweils 45 Punkte bei der Vorlesungsprüfung und beim Praktikumsteil erforderlich. Die Note ergibt sich aus der erreichten Punkteanzahl wie folgt: >=175 Punkte Sehr gut<175 Punkte und >=150 Punkte Gut<150 Punkte und >=125 Punkte Befriedigend<125 Punkte und >=100 Punkte Genügend<100 Punkte Nicht genügend

Prüfungsstoff

Die Prüfung zum Vorlesungsteil umfasst den gesamten in der Vorlesung vorgetragenen Stoffinhalt (Folien, Vortrag, Referenzliteratur). Prüfungsstoff im Praktikumsteil ist das gewählte Thema und der für dessen Implementierung erforderliche Sprachumfang von C++17.

Literatur

R. Sedgewick, Algorithmen in C++ (Teil 1-4), Addison Wesley, 3. überarbeitete Auflage, 2002. Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest, Introduction to Algorithms, published by MIT Press and McGraw-Hill. (First published in 1990.) Steven Skiena, The Algorithm Design Manual, 2nd Edition, Springer Donald E. Knuth, The Art of Computer Programming (Vol 1-3), Addison Wesley.Bjarne Stroustrup, Einführung in die Programmierung mit C++, Pearson Studium. Bjarne Stroustrup, Programming Principles and Practice Using C++, Addison Wesley. Bjarne Stroustrup, The C++ Programming Language, Addison Wesley.

Zuordnung im Vorlesungsverzeichnis

Module: ADS UF-INF-09

Letzte Änderung: Di 05.03.2024 00:01