252-0846-00L Informatik II
Semester | Frühjahrssemester 2017 |
Dozierende | F. O. Friedrich |
Periodizität | jährlich wiederkehrende Veranstaltung |
Lehrsprache | Deutsch |
Kurzbeschreibung | Zusammen 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. |
Lernziel | Aufbauend 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. |
Inhalt | Wir 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. |
Skript | Die ausführlichen Folien werden auf der Vorlesungshomepage zum Herunterladen bereitgestellt. |
Literatur | Hanspeter 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 / Besonderes | Es wird Kenntnis und Programmiererfahrung entsprechend der Vorlesung 252-0845-00 Informatik I (D-BAUG) vorausgesetzt. |