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, später Übung) vertieft.
Während des Semesters sind die TeilnehmerInnen der Übungen, verpflichtet, jeweils acht bis zehn kleinere Aufgabenlösungen zwischen den Veranstaltungen schriftlich zu bearbeiten. Diese Veranstaltungen dienen vor allem der zeitnahen Anwendung der erworbenen Kenntnisse in Teamarbeit. Nach Abschluss der Proseminare ist während der vorlesungsfreien Zeit eine Hausarbeit anzufertigen, die eine dem Ausbildungsstand entsprechende Aufgabenstellung in ein lauffähiges und angemessen dokumentiertes Anwendungsprogramm umsetzt und so die vom Modul geforderte eigenständige Programmierfähigkeit demonstriert. Dabei ist vorgesehen, dass die zweite Hausarbeit auf den Softwarelösungen der ersten aufbaut.
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 teilen Sie diesen per E-Mail mit.
Ablauf und Themen
- 06.04.2022: Einführung, Wiederholung, Vorstellung (Übung, Folien, Video)
- 13.04.2022: Versionskontrolle mit git und GitHub (Übung, Folien, Video)
- 20.04.2022: Git: Merging (Übung, Folien, Video)
- Eine gute Diskussion und Erklärung zu null in Java
- 27.04.2022: Iterable und Iterator (Übung, Folien, Video, Demo)
- 04.05.2022: Generics and Lists (Übung, Folien, Video, Demo)
- 11.05.2022: Java Collections Framework: Lists und Sets (Übung, Folien, Video, Demo)
- Nächste Woche: public climate school
- 18.05.2022: Java Collections Framework: Maps und Rekursion 1 (Übung, Folien, Video, Demo)
- 25.05.2022: Rekursion 2 (Übung, Folien, Video, Demo)
- 01.06.2022: Sitzung entfällt (Übung)
- 08.06.2022 Pfingstferien
- 15.06.2022: Abhängigkeitsmanagement mit Apache Maven (Übung, Folien, Video)
- 22.06.2022: Sitzung entfällt (Übung)
- 29.06.2022: Sortieralgorithmen und Funktionen als Objekte (Übung, Folien, Video, Demo)
- 06.07.2022: Unit-Testing mit junit (Übung, Folien, Video, Demo)
- 13.07.2022: Einführung in die Modulprüfung (Folien, Video)
Materialien (Folien, Code, Audioaufzeichnung) werden im Anschluss hier verlinkt.
YouTube-Playliste mit allen Aufzeichnungen
Modulprüfung
Die Modulprüfung besteht in der Bearbeitung eines größeren Softwareprojektes. Sie bekommen dazu eine Vorlage, die Sie nach der Spezifikation an bestimmten Stellen ergänzen und erweitern müssen. Die Modulprüfung kann in Gruppen von maximal 3 Personen angefertigt werden. Diese sollten Sie klar und eindeutig benennen, und im Code muss deutlich werden, wer welchen Teil bearbeitet hat.
Die Abgabe erfolgt bis zum 15.09., entweder indem Sie eine zip-Datei in Ilias hochladen oder einen Link zu einem git-Repository schicken.