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 Raum Thema Material

09.04.2025

HS E

Organisatorisches, Vorrede

J2S25E00.pdf

16.04.2025

HS E

Recap

J2S25E01.pdf

23.04.2025

HS E

Versionskontrolle

J2S25E02.pdf

30.04.2025

HS E

Generics und Lists, Iterable und Iterator

07.05.2025

HS E

Java Collections Framework: Queues und Sets

14.05.2025

HS E

Java Collections Framework: Maps

21.05.2025

HS E

Rekursion

28.05.2025

HS E

Zwischen-Testat

04.06.2025

HS E

Merging mit Git

11.06.2025

Pfingstferien (unterrichtsfrei)

18.06.2025

HS E

Abhängigkeitsmanagement mit Apache Maven

25.06.2025

HS E

Unit-Testing mit junit

02.07.2025

HS E

Sortieralgorithmen und Effizienz

09.07.2025

HS E

Vorstellung Modulprüfung

16.07.2025

HS E

Allgemeine Fragestunde (ggfs. WH Testat)