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:
- Diese Seite hier ist zentraler Knotenpunkt. Hier finden Sie die zentralen Informationen zum Kurs.
- Ü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.
- Alle restlichen Übungen geben Sie über GitHub ab.
- Aufzeichnungen der Sitzungen finden Sie auf YouTube in einer Playliste.
- 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