252-0846-00L  Informatik II

SemesterFrühjahrssemester 2016
DozierendeF. O. Friedrich
Periodizitätjährlich wiederkehrende Veranstaltung
LehrspracheDeutsch


KurzbeschreibungZusammen mit der Veranstaltung Informatik I bietet diese Veranstaltung eine Einführung in die Grundlagen der Programmierung und der Nutzung von Datenbanken. Die Vorlesung II vermittelt insbesondere die gebräuchlichsten Algorithmen und Datenstrukturen. Es werden Grundlagen des Entwurfes und der Benutzung von Datenbanken vermittelt. Verwendete Programmiersprache der Vorlesung ist Java.
LernzielAufbauend auf dem erworbenen Wissen der Vorlesung Informatik I sind die primären Primäre Lernziele der Vorlesung
- die Befähigung zum objektorientierten Programmieren,
- die konstruktive Kenntnis von Datenstrukturen und Algorithmen,
- die Kenntnis von relationalen Datenbanken und
- deren Anbindung an eine Programmierumgebung.
Studenten beherrschen nach erfolgreichem Abschluss der Vorlesung die Mechanismen zur Erstellung eines Programmes im objektorientierten Kontext. Sie haben eine Vorstellung davon, was "hinter den Kulissen" passiert, wenn ein Programm übersetzt und ausgeführt wird. Sie kennen die gängigen Datenstrukturen und Algorithmen. Sie können korrekte und ausreichend effiziente Programme entwickeln, um eine klar formulierte Problemstellung zu lösen. Sie wissen, wie man Datenbankanfragen formuliert und wie man einfache Datenbanken entwirft.
Sekundäre Lernziele der Vorlesung sind das Computer-basierte, algorithmische Denken, Verständnis der Möglichkeiten und der Grenzen der Programmierung und die Vermittlung der Denkart eines Computerwissenschaftlers.
InhaltWir behandeln das Paradigma der objektorientierten Programmierung, gängige Datenstrukturen und Algorithmen.

Es wird generell das formale Denken und Notwendigkeit zur Abstraktion, sowie die Bedeutung geeigneter Modellbildungen für die Informatik motiviert. Der Schwerpunkt der Vorlesung liegt auf der praktischen Informatik. Konkrete Themen sind u.a.: Komplexität von Algorithmen, Divide and Conquer-Prinzip, Rekursion, Sortieralgorithmen, Backtracking, Datenstrukturen (Listen, Stacks, Warteschlangen, binäre Bäume).

Die Konzepte der Vorlesung werden jeweils durch Algorithmen und Anwendungen motiviert und illustriert. Lehrsprache der Vorlesung und der praktischen Übungen ist Java.

Die Übungen können entweder auf dem eigenen PC oder in den betreuten Übungsstunden in den Computerräumen der ETH bearbeitet werden. Die verwendete Software läuft auf gängigen Betriebssystemen.Wir behandeln das Paradigma der objektorientierten Programmierung, gängige Datenstrukturen und Algorithmen und Designprinzipien für die Erstellung und Nutzung von relationalen Datenbanken.
SkriptDie ausführlichen Folien werden auf der Vorlesungshomepage zum Herunterladen bereitgestellt.
LiteraturRobert Sedgewick, Kevin Wayne, Einführung in die Programmierung mit Java. Pearson, 2011

Robert Sedgewick, Kevin Wayne, Introduction to Programming in Java: An Interdisciplinary Approach, Addison-Wesley, 2008

Christian Ullenboo, Java ist auch eine Insel, http://openbook.galileocomputing.de/javainsel/

Guido Krüger, Heiko Hansen, Handbuch der Java-Programmierung
Standard Edition Version 7, Addison-Wesley, 2011, http://www.javabuch.de

Thomas Ottmann, Peter Widmayer, Algorithmen und Datenstrukturen, Springer 2012
Voraussetzungen / BesonderesEs wird Kenntnis und Programmiererfahrung entsprechend der Vorlesung 252-0845-00 Informatik I (D-BAUG) vorausgesetzt.