Auswertung aller offiziellen Prüfungsvorschläge im Fach Praktische Informatik (Java) des hessischen Landesabiturs, Jahrgänge 2016–2025. Die Datenbasis umfasst 23 Vorschläge aus 10 Jahrgängen — 2021, 2022 und 2023 hatten je 3 Vorschläge (A/B/C), alle anderen Jahrgänge je 2 Vorschläge (A/B).
| Jahr | Vorschl. | OOP | Listen | Arrays | VK-Liste | String | Seriell | Srv/Client | Sortier. | Suche | Entwurf. |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025 | |||||||||||
| 2024 | |||||||||||
| 2023 | |||||||||||
| 2022 | |||||||||||
| 2021 | |||||||||||
| 2020 | |||||||||||
| 2019 | |||||||||||
| 2018 | |||||||||||
| 2017 | |||||||||||
| 2016 |
| Thema | Schwierigkeit | Einschätzung | Typische Aufgaben & Jahresbelege |
|---|---|---|---|
OOP & Vererbung abstract · extends · instanceof · Comparable |
Mittel (3/5)
|
GARANTIERT 22/23 · 10/10 J. |
Klassendiagramm in Code überführen, Methoden mit @Override überschreiben, Typprüfung via instanceof + Downcast. Häufig: abstrakte Klassen mit abstrakten Methoden. Höheres Niveau: Comparable<T> implementieren wie in 2023C (Karte.compareTo). |
Listen (List<>) add · remove · get · size · sortiertes Einfügen |
Mittel (3/5)
|
GARANTIERT 20/23 · 10/10 J. |
Traversieren per for-each, Filtern mit Bedingung, contains()/remove(). Kernaufgabe: sortiertes Einfügen — Index-Loop mit Abbruchbedingung + list.add(i, obj). Kommt in fast jedem zweiten Jahrgang vor: 2016B, 2021B, 2023B, 2024A. |
String-Operationen split · substring · parseInt · contains · charAt |
Leicht–Mittel (2/5)
|
GARANTIERT 19/23 · 10/10 J. |
Typisch: Protokollstring mit split(";") zerlegen, Zahlen mit Integer.parseInt() konvertieren, String mit += aufbauen. Sonderfälle: split("\\.") für Datum (2021C), substring(0,2) / substring(name.length()-2) für ID (2025B). |
Serielle Schnittstelle Serial · RFID · STX/ETX/ACK/NAK-Protokoll |
Mittel (3/5)
|
HÄUFIG 10/23 · 9/10 J. |
Zwei Varianten: Protokollschleife — new Serial("COM1", 9600, 8, 1, 0) + do-while mit ACK/NAK (2018A, 2020A, 2023B). RFID-Zugriffskontrolle — Controller.run() mit isCardAvailable(), readCard(), FunkModul.send/receive() (2021A, 2025B). Nur 2024 ohne Seriell. |
Client-Server ServerSocket · Socket · Thread · Protokoll |
Mittel (3/5)
|
HÄUFIG 11/23 · 9/10 J. |
ServerSocket.accept() → socket.readLine() / socket.write(). Protokollparsing mit split(";") + switch/case (2022B, 2024A). Multithreading: new ServerThread(client, mgr).start(). Client-Seite: socket.connect() + lesen/schreiben (2020B: ServicedeskClient vollständig). Nur 2025 ohne. |
Arrays (1D & 2D) boolean[][] · int[][] · char[] · Fach[] |
Mittel (3/5)
|
GELEGENTLICH 8/23 · 5/10 J. |
Häufig 2D: sitzbelegung[reihe][sitz] (2021B), belegung[REIHEN][PLAETZE] (2019B), int[31][24] Energieverbrauch (2016A). Index-Arithmetik: reihe = sitznr/100, sitz = sitznr%100. Auch 1D: int[] werte aus Serial, char[] pwArray (2023A). |
Sortieralgorithmen Sortiertes Einfügen · Quicksort · Prioritätssortierung |
Mittel–Schwer (4/5)
|
GELEGENTLICH 7/23 · 5/10 J. |
Sortiertes Einfügen via Index-Loop + list.add(i, obj) — regelmäßig (2016B, 2021B, 2023B, 2024A, 2025A). Quicksort: 2023C teileKarten() mit Pivot-Tausch und zwei Zeigern. Prioritätssortierung: 2021C einladen() Alter×Risiko-Score. |
Verkettete Listen einfach / doppelt verkettet · Zeiger-Operationen |
Schwer (5/5)
|
SELTEN 3/23 · 2/10 J. |
2021C: Warteschlange (einfach, Person.naechste) — hinzufügen/entfernen/löschen inkl. Randfälle (erstes/letztes/einziges Element). 2022B: einfach verkettet (Buchung.vorherige). 2022C: doppelt verkettet (Komponente.naechste/.vorherige, ersetzeKomp() mit Ausketten). Wenn dran, dann komplex. |
Suchalgorithmen Binäre Suche · explizite lineare Suche |
Mittel-Schwer (4/5)
|
SEHR SELTEN 1/23 · 1/10 J. |
Bisher nur einmal explizit: 2024B — sucheTicket() als binäre Suche mit low/max/pointer in sortierter Liste (compareTo für Verzweigung). Lineare Suche (for-Loop mit break) ist implizit in vielen Vorschlägen, aber selten eigenständige Prüfungsaufgabe. |
Entwurfsmuster Singleton · GoF-Pattern |
Mittel (3/5)
|
SEHR SELTEN 1/23 · 1/10 J. |
Bisher einmalig: 2020B — Wissensdatenbank als Singleton (privater Konstruktor, private static Wissensdatenbank instance = null, getInstance() mit null-Check). Als Konzept prüfungsrelevant, praktisch aber Einzelfall in 10 Jahren. |
| Jahr | Vorschl. | KD zeichnen | Objekt-Diag. | Sequenz-Diag. | Anw.-Diag. | Strukt. |
|---|---|---|---|---|---|---|
| 2025 | ||||||
| 2024 | ||||||
| 2023 | ||||||
| 2022 | ||||||
| 2021 | ||||||
| 2020 | ||||||
| 2019 | ||||||
| 2018 | ||||||
| 2017 | ||||||
| 2016 |
| Diagrammtyp | Häufigkeit | Einschätzung | Aufgabenformen, Varianten & Tipps |
|---|---|---|---|
|
Struktogramm (Strukt.)
Nassi-Shneiderman · zeichnen + implementieren
|
Mittel (3/5)
|
GARANTIERT 19/23 · 10/10 J. |
Zwei Aufgabentypen: ① Zeichnen 16/23 Vorschläge — Eine unimplementierte Methode wird verbal oder als Pseudocode beschrieben, das korrekte Strukt. soll gezeichnet werden. Klassischer Standard; kommt in 16 von 23 Vorschlägen vor (2016–2024 nahezu immer). ② Implementieren 4/23 Vorschläge ↑ TREND — Ein fertiges Struktogramm ist abgebildet, der entsprechende Code soll geschrieben werden. Erstmals 2021A; in 2023C sogar dreifach; in 2025A+B jeweils als einziger Strukt.-Typ. Seit 2021 in jedem zweiten Jahrgang vorhanden — für 2026 sehr wahrscheinlich. Strukt.-Symbole kennen: Sequenz (Rechteck), Auswahl (Wenn-Dann-Sonst, Raute), Wiederholung (Kopf-/Fußgesteuert), Methodenaufruf (Querbalken). Häufige Inhalte: while-Schleifen mit Protokollabfragen, sortiertes Einfügen via Index-Schleife, Binärsuche-Logik.
|
|
Sequenzdiagramm (SD)
Objekte · Lebenslinien · Nachrichten
|
Mittel-Schwer (4/5)
|
SEHR HÄUFIG 16/23 · 9/10 J. |
Drei Aufgabentypen: ① Zeichnen aus Vorlage 13/23 — Häufigste Variante; eine Codestelle oder Beschreibung wird gegeben, das SD soll gezeichnet werden. Fast jedes Jahr (Ausnahme: 2024 komplett, 2025B, 2022A/C, 2021C). ② In Code implementieren 3/23 — SD gegeben → Code schreiben (2017B, 2020A, 2022B). Selten, aber möglich. ③ Erweitern 1/23 — Nur 2017A: bestehendes SD ergänzen. Notationen: Gestrichelte Lebenslinien, Methodenaufrufe (Pfeil mit Bezeichnung), Rückgaben (gestrichelter Pfeil), Aktivierungsbalken, Schleifen (loop-Frame), Alternativen (alt-Frame). Häufige Szenarien: Server-Thread-Kommunikation, Client-Server-Protokollablauf, RFID-Controller-Sequenz. |
|
Klassendiagramm zeichnen
Erweiterung · Neuentwurf · aus OD ableiten
|
Mittel (3/5)
|
SEHR HÄUFIG 14/23 · 9/10 J. |
Drei Aufgabentypen: ① Erweiterung des Hauptdiagramms 8/23 — Bestehendes KD wird gegeben, neue Klasse/Beziehung soll ergänzt werden. Häufigste Variante (2016A, 2018A, 2019A, 2021A, 2022B, 2023A, 2025B u.a.). ② Neuentwurf ohne Vorlage 5/23 — Vollständig neues KD aus einer textuellen Beschreibung (2017A, 2018B, 2021C, 2022A). Höchste Anforderung. ③ Aus OD ableiten 1/23 — Einmalig 2020A: aus Objektdiagramm das zugehörige Klassendiagramm rekonstruieren. Achtung 2024: Einziger Jahrgang (beide Vorschläge A+B) ohne KD-Zeichenaufgabe — ungewöhnliche Ausnahme. Alle anderen 9 Jahrgänge hatten mindestens eine solche Aufgabe. UML-Notation: Sichtbarkeiten (+ − #), Typen, Multiplizitäten, Vererbungspfeil (Dreieck), Kompositionspfeil (gefüllte Raute), Aggregationspfeil (offene Raute). |
|
Objektdiagramm (OD)
Instanzen · Attributwerte · Assoziationen
|
Leicht (1/5)
|
SEHR HÄUFIG 14/23 · 9/10 J. |
Aufgabenform immer gleich: Ein gegebenes Klassendiagramm wird mit konkreten Beispielobjekten instantiiert. Einziger fehlender Jahrgang: 2017 (weder A noch B hatten OD). Häufige Fehlerquellen: Unterstreichen von Objektnamen vergessen ( :Klasse), Multiplizitäten oder Assoziationen nicht darstellen, statische Attribute nicht instanziieren. Typen der Attribute im Kasten angeben.Tipp: Immer prüfen, ob alle im Klassendiagramm aufgeführten Attribute auch im OD erscheinen (außer wenn explizit null). Werte sind frei wählbar, müssen aber typenkonform sein.
|
|
Anwendungsfalldiagramm (AWD)
Akteure · Use Cases · Beziehungen
|
Mittel (3/5)
|
HÄUFIG 12/23 · 7/10 J. |
Vier Aufgabenvarianten: ① Zeichnen ohne Vorlage 2/23 — Vollständig neu (2022B, 2022C). Seltenste und schwerste Variante. ② Zeichnen mit Vorlage 5/23 — Template gegeben, AWD vervollständigen (2020B, 2021C, 2024A, 2024B, 2025A). ③ Erweitern 3/23 — Bestehendes AWD um neue Elemente ergänzen (2017B, 2019B, 2025B). ④ Nur erklären 2/23 — 2017A, 2023B: AWD-Konzept verbal erläutern, nicht zeichnen. Trend: Seit 2019 in jedem Jahrgang vorhanden. AWD war in 2016 noch nicht Teil des Prüfungsformats — seit 2019 regelmäßig. Notation: Akteur (Strichmännchen), Use Case (Ellipse), Systemgrenze (Rechteck), <<include>>, <<extend>>, Generalisierung zwischen Akteuren.
|