assignments/readme.md

21 KiB

Programmieren 2 (Wintersemester 2025/2026)

👋 Willkommen zum Kurs Programmieren 2 (PR2)

In Programmieren 2 lernen Sie die Programmierung in Java auf einem fortgeschrittenen Niveau. Sie werden alle wichtigen Konzepte von Java kennenlernen und diese in praktischen Übungen anwenden. Hierbei werden Sie in kleinen Teams arbeiten und komplexere, objektorientierte Programme in Java entwickeln. Die dazu nötigen objektorientierten Konzepte (Polymorphie, Vererbung, Interfaces, etc.) werden Sie ebenso im Kurs anwenden, wie die dazu grundlegenden Algorithmen und Datenstrukturen.

🏛️ Aufbau der Veranstaltung

Die folgende Tabelle zeigt Ihnen die Themen der Woche und welche Kapitel Sie bis wann vorbereitet haben müssen. Da die Veranstaltung als Inverted Classroom durchgeführt wird, ist es Ihre Aufgabe das entsprechende Kapitel im Skript bis zum genannten Termin durchgearbeitet zu haben.

# 📢 Motto 🎓 Themen 📚 Kapitel Übungen 📆 bis
1 Auffrischen, einchecken und loslegen Auffrischung 1 1, 2, 3, 4, 5, 6 ¹
2 Wie Julius Caesar programmieren JUnit, JavaDoc, Programmierstil, Pakete, Module, JARs 2, 3 1, 2, 3, 4, 5 29.09
3 Erben und vererben Vererbung, Überladen, Verdecken, Konstruktoren 4 1, 2, 3, 4, 5 06.10
4 Verhaltenstherapie für Klassen Überschreiben, Polymorphie, static, final 4 6, 7, 8, 9, 10, 11, 12 13.10
5 Mit Interfaces geht es noch abstrakter Interfaces, abstrakte Klassen, SOLID, STUPID 5 1, 2, 3, 4, 5, 6 20.10
6 Wer sortiert, muss trotzdem suchen Suchen, Sortieren, Regex 6 27.10
7 Geschenkverpackungen und andere Feinheiten Object, Wrapper, Optional, Enums, Records 7, 8 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 03.11
8 Wenn es mal schief geht, Ausnahmen Exceptions, try, catch 9 1, 2, 3, 4, 5 10.11
10 Rein oder raus, die Daten müssen fließen Input/Output mit Streams und Reader/Writer 10 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 17.11
11 One size fits all, mit generischen Typen Generische Typen, Wildcards 11 1, 2, 3, 4, 5, 6, 7, 8, 9 24.11
12 Matroschka-Klassen Geschachtelte Klassen, Lambdas 12 1, 2, 3, 4, 5 01.12
13 Daten brauchen Struktur Abstrakte Datentypen 13 08.12
14 Objekte sammeln Collections und Streams 14, 15 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 15.12
15 Parallel läuft es schneller Threads, Probleme der Thread-Programmierung 16 1, 2, 3, 4, 5, 6, 7, 8 07.01

¹ = Wird als aus PR1 bekannt vorausgesetzt

📆 Assignments (Pflichtübungen)

Hier finden Sie die Assignments (Aufgaben) für die Vorlesung Programmieren 2 (PR2). Die Assignments sind unten, zusammen mit dem Ausgabe- und Fälligkeitsdatum aufgelistet.

Die Bearbeitung der Aufgaben und das Erreichen einer hinreichend großen Zahl von Punkten sind die Voraussetzung für die Teilnahme an der Klausur.

Hinweise zur nötigen Softwareausstattung finden Sie hier.

Wichtige Einstellungen für Eclipse sind hier beschrieben.

# Ausgabe Thema Fällig am 📆
1. 23.09.2025 Umgebung aufsetzen 01.10.2025
2. 23.09.2025 Erster Commit 01.10.2025
3. 01.10.2025 Stein, Papier, Schere (, Echse, Spock) 07.10.2025
4. 08.10.2025 Vektor 21.10.2025
5. 22.10.2025 Live-Testat 29.10.2025
6. 22.10.2025 Racewars 04.11.2025

😀 Freiwillige Übungen

Die freiwilligen Übungen zur Vertiefung der Vorlesungsinhalte finden Sie in einem getrennten Repository: Freiwillige Übungen.

📚 Material