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.
    • Für die Teilnahme an der Modulprüfung ist eine separate Anmeldung über Klips nötig. Ich werde im Kurs rechtzeitig darauf aufmerksam machen.
  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

10.04.: Einführung, Recap, Organisatorisches (Slides, Video, Übung, Code-Beispiele)

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

24.04.: Merging mit Git (Slides, Video, Übung)

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

01.05.: entfällt: Tag der Arbeit!

08.05.: Generics and Lists

15.05.: Java Collections Framework: Queues und Sets

22.05.: entfällt: Pfingstferien

29.05.: Java Collections Framework: Maps

05.06.: Rekursion

12.06.: Abhängigkeitsmanagement mit Apache Maven

19.06.: entfällt

26.06.: Unit-Testing mit junit

03.07.: Sortieralgorithmen und Effizenz

10.07.: Allgemeine Fragerunde für alle offenen Probleme

17.07.: Einführung in die Modulprüfung