Inhalt

Im Seminar werden weiterführende Programmiertechniken (u.a. Rekursion, Dynamische Programmierung, Design Patterns), effiziente Algorithmen für Standard-Probleme der Informatik (u.a. Suchen und Sortieren), Grundlagen der Textverarbeitung (Satzerkennung, Tokenisierung etc.) und die programmatische Integration aktueller, problemspezifischer Werkzeuge in eigene Anwendungen forciert und im begleitenden Programmierpraktikum (Tutorium) vertieft.

Studienleistung

Die Studienleistung besteht in der Bearbeitung der wöchentlichen Übungen. Diese werden auf GitHub bereitgestellt und auch abgegeben. Bitte legen Sie daher einen GitHub-Account an und tragen diesen in Ilias in diese Tabelle ein. Beachten Sie: Unsere Übungen und auch Ihre Abgaben sind dort öffentlich einsehbar. Es ist nicht nötig, dass Sie ihren echten Namen verwenden.

Ressourcen und Plattformen

Im Kurs verwenden kommen fünf Dienste/Webseiten zum Einsatz:

  1. Diese Seite hier ist zentraler Knotenpunkt. Hier finden Sie die zentralen Informationen zum Kurs.
  2. Über Ilias teilen Sie mir Ihren GitHub-Account mit, und geben Übung 1 ab. Später werden Sie über Ilias auch Informationen zur Modulprüfung bekommen und sie dort abgeben.
  3. Alle restlichen Übungen geben Sie über GitHub ab.
  4. Aufzeichnungen der Sitzungen finden Sie auf YouTube in einer Playliste.
  5. Anmeldungen zur Modulprüfung machen Sie in Klips.

Termine

Alle Aufzeichnungen finden sich auch in dieser YouTube-Playliste.

05.04.: Einführung, Recap, Organisatorisches (Slides, Video, Übung)

12.04.: Versionskontrolle mit git und GitHub (Slides, Video, Übung)

19.04.: Merging mit Git [Sitzung endet um 13:00] (Slides, Video, Übung)

26.04.: Iterable und Iterator (Slides, Video, Übung)

03.05.: entfällt

10.05.: Generics and Lists (Slides, Video, Code-Beispiele, Übung)

17.05.: Java Collections Framework: Queues und Sets (Slides, Video, Übung)

24.05.: Java Collections Framework: Maps und Rekursion 1 (Slides, Video, Übung)

07.06.: Rekursion 2 (Slides, Video, Übung, Code-Beispiele)

14.06.: Abhängigkeitsmanagement mit Apache Maven (Slides, Video, Übung)

21.06.: Sortieralgorithmen und Funktionen als Objekte (Slides, Video, Übung)

28.06.: Unit-Testing mit junit (Slides, Video, Übung)

05.07.: Allgemeine Fragerunde für alle offenen Probleme (Video)

12.07. Einführung in die Modulprüfung (Slides, Video)