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. In den begleitenden Programmierpraktika / Tutorien (Di 10-11:30 und Do 16-17:30) besteht die Möglichkeit, Verständnisprobleme und solche im Umgang mit der verwendeten Software (Eclipse, GitHub etc.) in kleinerem Kreis anzusprechen und sich bei der Behebung helfen zu lassen. Ebenso können dort Themen je nach Interesse wiederholt oder vertieft werden. Nutzen Sie diese Möglichkeit!

Studienleistung

Bitte achten Sie eigenständig darauf, dass Sie sich im Seminar und in einem der beiden Programmierpraktika in Klips registriert haben! Die Studienleistung (für beide SoSe-Veranstaltungen des Moduls) besteht in der Bearbeitung der Übungen, die in den einzelnen Sitzungen des Seminars gestellt werden. Diese werden auf GitHub bereitgestellt und auch abgegeben. Bitte legen Sie daher einen GitHub-Account an und tragen diesen in das Pad in Ilias ein. Sie werden in die Gruppe der Projekt-Mitglieder aufgenommen und können Ihre Aufgaben dort abgeben. Bei drei oder mehr nicht abgegebenen Übungen kann die Studienleistung nicht anerkannt werden.

Beachten Sie: Unsere Übungen und auch Ihre Abgaben sind dort nicht privat. Es ist nicht nötig, dass Sie Ihren echten Namen verwenden.

Modulprüfung

Die Modulprüfung wird in Form einer Programmierhausarbeit am Ende des Semesters vorgestellt. Die Abgabe wird auf Mitte September fallen, eine Verlängerung der Frist wird nicht möglich sein. Im Laufe des Kurses wird es ein Testat geben (siehe Seminarplan), ähnlich dem Schlusstestat aus dem Wintersemester. In diesem Testat können Sie nachweisen, dass Sie die theoretischen Grundlagen der Programmierung, wie sie im Kurs vermittelt wurden, beherrschen. Sollte Ihnen das nicht im Testat gelingen, werden Sie diese im Zuge einer mündlichen Vorstellung Ihrer Programmierhausarbeit (mit Rückfragen) zeigen können. Es gibt also zwei Möglichkeiten, die Modulprüfung zu bestehen:

  1. Bestandenes Testat + bestandene Programmierhausarbeit (keine mündliche Vorstellung nötig)
  2. Bestandene Programmierhausarbeit + bestandene mündliche Vorstellung der Arbeit

Ressourcen und Plattformen

Im Kurs verwenden kommen Dienste/Webseiten zum Einsatz:

  1. Diese Seite hier ist zentraler Knotenpunkt. Hier finden Sie die wichtigsten Informationen zum Kurs.
  2. Über Ilias teilen Sie mir Ihren GitHub-Account mit. 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 Übungen geben Sie über GitHub ab.
  4. Aufzeichnungen der Sitzungen des Vorjahres finden Sie auf YouTube in einer Playliste.
  5. Anmeldungen zur Modulprüfung machen Sie in Klips.
  6. Als Java-Entwicklungsumgebung setzen wir im Seminar und im Programmierpraktikum Eclipse ein. Sie können eine andere Entwicklungsumgebung verwenden, müssen sich dann aber selbst mit dieser vertraut machen.

Seminarplan (wird ggfs. noch angepasst)

Datum

Thema

Präsentation

Code

Übung

09.04.2025

Organisatorisches, Vorrede

J2S25E00

16.04.2025

Recap

J2S25E01

se01

ex01

23.04.2025

Versionskontrolle

J2S25E02 ex02

30.04.2025

Iterable und Iterator, Generics, Frameworks

J2S25E03

se03

07.05.2025

Java Collections Framework: Lists

J2S25E04

se04

ex03

14.05.2025

Java Collections Framework: Sets & Maps

J2S25E05

se05

ex04

21.05.2025

Rekursion

28.05.2025

Zwischen-Testat

04.06.2025

Merging mit Git

11.06.2025

Pfingstferien (unterrichtsfrei)

18.06.2025

Abhängigkeitsmanagement mit Apache Maven

25.06.2025

Unit-Testing mit junit

02.07.2025

Sortieralgorithmen und Effizienz

09.07.2025

Vorstellung Modulprüfung

16.07.2025

Allgemeine Fragestunde (ggfs. WH Testat)