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)

01.05.: Keine Sitzung: Tag der Arbeit

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

15.05.: Generics and Lists

22.05.: Keine Sitzung: Pfingstferien

29.05.: Java Collections Framework: Queues und Sets

05.06.: Java Collections Framework: Maps

12.06.: Rekursion

19.06.: entfällt: Projektbegehung

26.06.: Abhängigkeitsmanagement mit Apache Maven

03.07.: Unit-Testing mit junit

10.07.: Allgemeine Fragerunde für alle offenen Probleme / ggf. Sortieralgorithmen und Effizienz

17.07.: Einführung in die Modulprüfung