Modulhandbuch - Technische Fakultät - Albert-Ludwigs-Universität ...
Modulhandbuch - Technische Fakultät - Albert-Ludwigs-Universität ...
Modulhandbuch - Technische Fakultät - Albert-Ludwigs-Universität ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Modul / Module<br />
25<br />
<strong>Modulhandbuch</strong> B.Sc. ESE – Algorithmen und Datenstrukturen<br />
Algorithmen und Datenstrukturen<br />
Fachbereich:<br />
Department<br />
Modulverantwortlicher:<br />
Responsible person<br />
Lehrveranstaltungstyp:<br />
Type of course<br />
Voraussetzungen:<br />
Preconditions<br />
Semester lt Studienplan:<br />
Term<br />
SWS:<br />
Semester week hours<br />
Arbeitsaufwand:<br />
Workload<br />
Lernziele / Educational objectives<br />
Informatik<br />
Spezialbereich:<br />
Special field<br />
Grundlagen der<br />
Informatik<br />
Prof. H. Bast<br />
Modultyp:<br />
Module Type<br />
Pflichtmodul<br />
Vorlesung mit<br />
Übung<br />
Sprache:<br />
Language deutsch<br />
empfohlen: Grundlegende Kenntnisse in einer objekt-orientieren<br />
höheren Programmiersprache wie Java oder C++.<br />
3<br />
ECTS-Punkte:<br />
ECTS-points<br />
4<br />
2 V + 1 Ü<br />
Turnus:<br />
Regular cycle<br />
jedes Wintersemester<br />
120 h/Semester (30 h Vorlesung, 15 h Übung, 73 h Eigenarbeit,<br />
2 h Kompetenznachweis)<br />
Die Studierenden kennen grundlegende Algorithmen und Datenstrukturen. Sie sind in der<br />
Lage, den Ressourcenverbrauch (insbesondere Laufzeit) eines gegebenen Programms zu<br />
analysieren, sowohl theoretisch (asymptotische Analyse) also auch praktisch (konkrete<br />
Laufzeitabschätzung). Sie sind in der Lage die Optimalität eines Programms zu beurteilen,<br />
sowohl theoretisch (untere Schranken) als auch praktisch (läuft das Programm so schnell<br />
wie es könnte). Die Studierenden sind in der Lage, für ein gegebenes Problem einfache<br />
eigene Algorithmen und Datenstrukturen zu entwickeln. Sie können einen Algorithmus / eine<br />
Datenstruktur sauber in einer höheren Programmiersprache, wie z.B. Java oder C++,<br />
implementieren.<br />
Lehrinhalt / Content of teaching<br />
Grundlegende Algorithmen und Datenstrukturen: Felder, Listen, Sortieren, Hashing,<br />
Prioritätswarteschlangen, kürzeste Wege in Graphen. Grundlegende Design-Prinzipien:<br />
Greedy, Divide & Conquer, dynamische Programmierung, Rekursion. Theoretische Analyse:<br />
O-Notation, asymptotische, amortisierte, probabilistische, worst-case, average-case, bestcase<br />
Analyse. Praktische Analyse: Zugriffszeiten auf Platte, Speicher, Cache, praktische<br />
Laufzeitabschätzung. Implementierung: unit tests, performance tests, algorithm engineering.<br />
Studien- und Prüfungsleistungen / Exam requirements<br />
Schriftliche Prüfung<br />
Literatur / Literature<br />
� K. Mehlhorn, P. Sanders: Algorithms and Data Structures – The Basic Toolbox.<br />
Springer, May 2008. Das Buch ist online verfügbar.