VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.
Abstract
Dieser Kurs behandelt Grundlagen für das Programmieren und Arbeiten mit Daten. Informatik II legt die Grundlage für das Verständnis, den Entwurf und die Analyse von Algorithmen und Datenstrukturen.
Objective
Basierend auf Kenntnissen aus der Vorlesung Informatik I ist das primäre Ziel dieses Kurses das konstruktive Wissen über Datenstrukturen und Algorithmen. Nach erfolgreichem Besuch des Kurses beherrschen die Teilnehmer die Mechanismen zum Erstellen eines Programms in Python und zum Arbeiten mit mehrdimensionalen Daten mithilfe von Python-Bibliotheken. Die Studierenden verstehen insbesondere, wie ein algorithmisches Problem mit einem ausreichend effizienten Computerprogramm gelöst werden kann. Sekundäre Bildungsziele sind formales Denken, die Macht der Abstraktion und Modellierungsfähigkeiten. In dem Fach "Informatik II" wird die Kompetenz Modellierung, Programmieren und Datenanalyse & Interpretation gelehrt, angewandt und geprüft.
Content
Einführung von Python: mathematische Werkzeuge zur Analyse von Algorithmen (asymptotisches Funktionswachstum, Rekurrenzgleichungen, Rekurrenzbäume); klassische algorithmische Probleme (Suchen, Auswahl und Sortieren), Entwurfsparadigmen für die Entwicklung von Algorithmen (Divide and Conquer, Greedy und dynamische Programmierung), Datenstrukturen für verschiedene Zwecke (verknüpfte Listen, Bäume, Hash-Tabellen). Die Beziehung und enge Kopplung zwischen Algorithmen und Datenstrukturen wird mit Graph-Algorithmen (Traversieren, Kürzeste Wege, Minimaler Spannbaum, Maximaler Fluss) und geometrischen Algorithmen (Scanline) veranschaulicht. Die im Kurs bereitgestellten Konzepte werden mit praktisch relevanten Algorithmen und Anwendungen motiviert und veranschaulicht. Die in diesem Kurs verwendete Programmiersprache ist Python. Die Übungen werden in Code Expert, einem Online-IDE- und Übungsmanagementsystem, durchgeführt.
Resources
Lecture Notes
Die Folien und ein Skript werden auf der Vorlesungswebseite zum Herunterladen bereitgestellt.
Literature
Thomas Ottmann, Peter Widmayer, Algorithmen und Datenstrukturen, Springer 2012 T. Cormen, C. Leiserson, R. Rivest, C. Stein, Algorithmen - Eine Einführung, Oldenbourg, 2010 Aditya Y. Bhargava, Algorithmen Kapieren, mitp 2019