Erweiterungen der Programmierung mit Java
Dieser Lernpfad baut direkt auf den Grundlagen der Programmierung mit Java auf. Du vertiefst die Objektorientierung, lernst Rekursion und dynamische Datenstrukturen kennen und beurteilst Algorithmen nach ihrem Aufwand.
Wie du mit diesem Lernpfad arbeitest
- Programmierbereiche kannst du direkt im Browser ausführen. Du musst nichts installieren.
- Für die dynamischen Datenstrukturen nutzen wir die NRW-Klassenbibliothek, wie sie auch im Zentralabitur vorausgesetzt wird.
- Tipps sind eingeklappt. Öffne sie erst, wenn du wirklich nicht weiterkommst.
- Lösungen sind mit einem Passwort geschützt. Alle Passwörter stehen auf der Seite Lösungspasswörter – sieh dort erst nach, wenn du die Aufgabe wirklich versucht und die Tipps geöffnet hast.
- Bei den meisten Aufgaben liegt eine Datei mit Tests dabei. Über den Reiter Testrunner prüfst du selbst, ob deine Lösung stimmt.
- Am Ende jeder Lektion findest du einen Selbsttest.
Grundkurs oder Leistungskurs? Alles, was mit dem Hinweis „Nur Leistungskurs“ gekennzeichnet ist, gehört zu den zusätzlichen Anforderungen des Leistungskurses. Im Grundkurs kannst du es überspringen – der Pflichtteil des Lernpfads setzt es nirgends voraus.
Die Kennzeichnung steht auf drei Ebenen:
| Ebene | Wie es aussieht |
|---|---|
| ganze Lektion oder ganzes Kapitel | ein Kasten „Nur Leistungskurs“ gleich unter der Überschrift |
| einzelner Abschnitt | derselbe Kasten unter der Zwischenüberschrift |
| einzelne Aufgabe oder Teilaufgabe | ein kursiver Einschub (Nur Leistungskurs.), in Checklisten ein vorangestelltes (LK) |
Betroffen sind: 1.2 (der Abschnitt Konstanten), 1.6 Schnittstellen, 3.3 Backtracking, die Seiten Implementierung in Kapitel 4, die Aufgabe Selbst implementieren in 6.1 und 6.2, Teile von 7.1 und das ganze Kapitel 8.
Die Seiten „Im Spiel“
Am Ende der meisten Kapitel steht eine Seite mit dem Titel Im Spiel. Sie nimmt das Spiel aus dem Abschlussprojekt der Einführungsphase und wendet darauf an, was das Kapitel gerade behandelt hat – Polymorphie, zweidimensionale Felder, Rekursion, Stapel und Schlange, Bäume, Sortierverfahren, Testen.
Diese Seiten sind optional. Sie führen nichts Neues ein, und nichts im Lernpfad setzt sie voraus – weder der Rückblick eines Kapitels noch ein späteres Kapitel. Wenn du sie alle überspringst, fehlt dir für die Klausur nichts.
Sie benutzen die Grafikbibliothek Scratch for Java aus der Einführungsphase. Du musst sie nicht kennen: Auf jeder dieser Seiten steht oben ein ausklappbarer Kasten mit allem Nötigen, und nachschlagen kannst du in der Referenz.
Warum es sie gibt: Die Beispiele in den Lektionen sind bewusst abiturnah – Fahrzeuge, Mitarbeiter, Sensoren. Manche Entwurfsfrage wird aber erst dann greifbar, wenn man den Unterschied sieht. Dafür sind diese Seiten da. Jede endet mit einer Tabelle, die den Bezug zu den Aufgaben des Kapitels wieder herstellt.
Die Kapitel
- Vertiefte Objektorientierung – Implementationsdiagramme, Polymorphie, abstrakte Klassen, Schnittstellen
- Felder, Referenzen und Generik – zwei- und mehrdimensionale Felder, Referenzen, Kellerstapel und Halde, generische Klassen
- Rekursion und Problemlösestrategien – Rekursion, Teilen und Herrschen, Backtracking
- Lineare Datenstrukturen – Stapel, Schlange, Liste
- Nichtlineare Datenstrukturen – Bäume, binäre Suchbäume, AVL-Bäume
- Suchen und Sortieren – Quicksort, Mergesort (die binäre Suche steht in 3.2)
- Testen und Laufzeit – systematisch testen, Speicherbedarf und Zahl der Operationen beurteilen
- Nebenläufigkeit – nur Leistungskurs
- Referenz – NRW-Klassenbibliothek zum Nachschlagen