Important
🖇 Unterlagen
… And, lastly, there’s the explosive growth in demand, which has led to many people doing it who aren’t any good at it. Code is merely a means to an end. Programming is an art and code is merely its medium. Pointing a camera at a subject does not make one a proper photographer. There are a lot of self-described coders out there who couldn’t program their way out of a paper bag.
– John Gruber auf daringfireball.net
Sie haben letztes Semester in Prog1 die wichtigsten Elemente und Konzepte der Programmiersprache Java kennen gelernt.
In diesem Modul geht es darum, diese Kenntnisse sowohl auf der Java- als auch auf der Methoden-Seite so zu erweitern, dass Sie gemeinsam größere Anwendungen erstellen und pflegen können. Sie werden fortgeschrittene Konzepte in Java kennenlernen und sich mit etablierten Methoden in der Softwareentwicklung wie Versionierung von Code, Einhaltung von Coding Conventions, Grundlagen des Softwaretests, Anwendung von Refactoring, Einsatz von Build-Tools und Logging auseinander setzen. Wenn uns dabei ein Entwurfsmuster “über den Weg läuft”, werden wir die Gelegenheit nutzen und uns dieses genauer anschauen.
- Fortgeschrittene Konzepte in Java (“Classic Java”)
- Fortgeschrittene Konzepte in Java (“FP”)
- Default-Methoden, Funktionsinterfaces, Methodenreferenzen, Lambdas, Optional, Stream-API
- Versionierung mit Git
- Softwarequalität
- Testen, Coding Conventions & Smells, Refactoring, Javadoc, Logging
- Entwurfsmuster
Strategy, Template-Method,Factory-Method,Singleton, Observer, Visitor, Command, …
- Bauen von Software
- Gradle, Docker, Continuous Integration (GitHub Workflows)
(durchgestrichene Themen nicht im Sommersemester 2025)
- Carsten Gips (Sprechstunde nach Vereinbarung)
- BC George (Sprechstunde nach Vereinbarung)
- Tutoren (siehe ILIAS-Mitgliederliste)
Vorlesung (2 SWS) | Praktikum (2 SWS) |
---|---|
Fr, 08:00 - 09:30 Uhr (online) | G1: Fr, 09:45 - 11:15 Uhr (online, Carsten) |
(Carsten: Flipped Classroom) | G2: Fr, 11:30 - 13:00 Uhr (online, Carsten) |
G3: Fr, 09:45 - 11:15 Uhr (online, BC) | |
G4: Fr, 11:30 - 13:00 Uhr (online, BC) |
Online-Sitzungen per Zoom (Zugangsdaten siehe ILIAS). Sie können hierzu den Raum J101 bzw. J104 (vgl. Stundenplan) nutzen.
Hier finden Sie einen abonnierbaren Google Kalender mit allen Terminen der Veranstaltung zum Einbinden in Ihre Kalender-App.
Abgabe der Übungsblätter jeweils bis Fr, 08:00 Uhr im ILIAS, Vorstellung der Lösung im zugehörigen Praktikum. Bearbeitung der Quizzes jeweils Sa, 00:00 Uhr (Vorwoche) bis Fr, 08:00 Uhr im ILIAS.
Parcoursprüfung, 5 ECTS (PO23)
Da Sie das Programmierhandwerk erlernen und üben und vertiefen sollen, dürfen Sie im Rahmen dieser Lehrveranstaltung noch keine KI-gestützten Assistenten benutzen. Lösungen, die dennoch ganz oder teilweise unter Zuhilfenahme von KI-Unterstützung erstellt wurden, werden wie nicht abgegeben behandelt.
- Quizzes: mind. 5 der 9 Quizzes bestanden (ohne Note/Punkte) (Einzelbearbeitung, fristgerecht bis zur jeweiligen Vorlesung, je Quiz bis zu 3x wiederholbar, 60% pro Quiz zum Bestehen nötig)
- Praktikum: mind. 5 der 9 Übungsblätter bestanden (ohne Note/Punkte) (bis zu 3er Teams, alle Aufgaben eines Blattes bearbeitet, individuelle(!) fristgerechte Abgabe der Lösungen im ILIAS als aussagekräftiges Post Mortem3, Vorstellung der Lösungen im Praktikum durch jedes Teammitglied, aktive Beteiligung an der Diskussion im Praktikum)
- Station I: ILIAS-Test (30 Minuten in Minden im B40)
- Station II: ILIAS-Test (30 Minuten in Minden im B40)
- Station III: ILIAS-Test (30 Minuten in Minden im B40)
Station I und II finden im Vorlesungsslot statt (Aufteilung siehe separate Ankündigung), Station III im ersten Prüfungszeitraum (Termin lt. Bekanntgabe vom Prüfungsamt: Mi, 09.07., Aufteilung siehe separate Ankündigung). Die Punkte der beiden besseren Stationen werden summiert bzw. es wird der Mittelwert der beiden besten prozentualen Ergebnisse ermittelt zur die Berechnung der Note.4
Gesamtnote: 4.0: ab 50%, alle 5% nächste Teilnote, 1.0: ab 95% (jeweils nur wenn Quizzes bestanden und Praktikum bestanden)
Bei mind. drei über das Minimum hinaus bestandenen Quizzes und/oder Aufgabenblättern verbessert sich die Gesamtnote um eine Teilnote.
(Hinweise zur Prüfungsvorbereitung für Station I bis III)
- Station IV: Schriftliche Prüfung (digitale Klausur) 90 Minuten in Minden im B40 (Termin lt. Bekanntgabe vom Prüfungsamt: voraussichtlich 24.09.)
Gesamtnote: 4.0: ab 50%, alle 5% nächste Teilnote, 1.0: ab 95%
(Hinweise zur Prüfungsvorbereitung für Station IV)
- “Java ist auch eine Insel”. Ullenboom, C., Rheinwerk-Verlag, 2021. ISBN 978-3-8362-8745-6.
- “Pro Git (Second Edition)”. Chacon, S. und Straub, B., Apress, 2014. ISBN 978-1-4842-0077-3.
- “The Java Tutorials”. Oracle Corporation, 2024.
- “Learn Java”. Oracle Corporation, 2025.
- JDK: Java SE 21 (LTS) (Oracle oder Alternativen, bitte 64-bit Version nutzen)
- IDE: Eclipse IDE for Java Developers oder IntelliJ IDEA (Community Edition) oder Visual Studio Code oder Vim oder …
- Git
Die Überarbeitung dieser Lehrveranstaltung wurde vom Ministerium für Kultur und Wissenschaft (MKW) in NRW im Einvernehmen mit der Digitalen Hochschule NRW (DH.NRW) gefördert: “Fellowships für Innovationen in der digitalen Hochschulbildung” (Digi Fellowships).
Diese Vorlesung wurde vom Projekt “Digitalbaukasten für kompetenzorientiertes Selbststudium” (DigikoS) unterstützt. Ein vom DigikoS-Projekt ausgebildeter Digital Learning Scout hat insbesondere die Koordination der digitalen Gruppenarbeiten, des Peer-Feedbacks und der Postersessions in ILIAS technisch und inhaltlich begleitet. DigikoS wird als Verbundprojekt von der Stiftung Innovation in der Hochschullehre gefördert.
Unless otherwise noted, this work by Carsten Gips and contributors is licensed under CC BY-SA 4.0. See the credits for a detailed list of contributing projects.
Last modified: 0250314 (Readme: remove links to different preview variants (#1033), 2025-07-02)
Footnotes
-
als Teilaufgabe im Praktikum ↩
-
nur als Wiederholung im Praktikum ↩
-
Post Mortem: Jede Person beschreibt in der ILIAS-Abgabe individuell(!) die Bearbeitung des jeweiligen Aufgabenblattes zurückblickend mit 200 bis 400 Wörtern. Gehen Sie dabei aussagekräftig und nachvollziehbar auf folgende Punkte ein: (a) Zusammenfassung: Was wurde gemacht? (b) Implementierungsdetails: Kurze Beschreibung besonders interessanter Aspekte der Umsetzung. (c) Was war der schwierigste Teil bei der Bearbeitung? Wie haben Sie dieses Problem gelöst? (d) Was haben Sie gelernt oder (besser) verstanden? (e) Team: Mit wem haben Sie zusammengearbeitet? (f) Links zu Ihren Pull-Requests mit der Lösung (erst ab Blatt 04). Siehe auch https://github.com/Programmiermethoden-CampusMinden/Prog2-Lecture/discussions/981. ↩
-
Wenn die Maximalzahl der Punkte für Station I, II und III identisch ist, wird einfach die Summe der Punkte der beiden besseren Stationen berechnet und für die Bildung der Gesamtnote genutzt. Wenn die Maximalzahl der Punkte für Station I, II und III voneinander abweicht, dann wird jeweils das erreichte prozentuale Ergebnis berechnet und die Gesamtnote über den Mittelwert der beiden besseren Ergebnisse berechnet. ↩