252-0846-00L  Informatik II

SemesterFrühjahrssemester 2017
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 konstruktive Kenntnis von Datenstrukturen und Algorithmen und
- die Kenntnis von relationalen Datenbanken.

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 gängige Datenstrukturen und Algorithmen, das Paradigma des objektorientierten Programmierens und Prinzipien für das Design und die Nutzung relationaler Datenbanken.

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. Verwendete Programmiersprache in der Vorlesung und den praktischen Übungen ist Java.

Für das effiziente Praktizieren der vorgestellten Inhalte wird in den Übungen ein Online-Compiler mit Abgabesystem verwendet. Für den erleichterten Einstieg in die Programmierung mit Java kommt ein massgeschneidertes Online-Tutorial zum Einsatz.
SkriptDie ausführlichen Folien werden auf der Vorlesungshomepage zum Herunterladen bereitgestellt.
LiteraturHanspeter Mössenböck, Sprechen Sie Java?, dpunkt Verlag, 5. Auflage 2014.

Robert Sedgewick, Kevin Wayne, Einführung in die Programmierung mit Java. Pearson, 2011

Thomas Ottmann, Peter Widmayer, Algorithmen und Datenstrukturen, Springer 2012

T. Cormen, C. Leiserson, R. Rivest, C. Stein, Algorithmen - Eine Einführung, Oldenbourg, 2010

Kemper, Eickler: Datenbanksysteme: Eine Einführung. Oldenbourg Verlag, 9. Auflage, 2013
Voraussetzungen / BesonderesEs wird Kenntnis und Programmiererfahrung entsprechend der Vorlesung 252-0845-00 Informatik I (D-BAUG) vorausgesetzt.