Datenstrukturen Zentralabitur NRW

Sie finden auf dieser Seite eine Referenz-Implementierung der im Zentralabitur Informatik in NRW vorausgesetzten Datenstrukturen. Diese Implementierung kann für den Einsatz im Unterricht frei heruntergeladen werden.

Referenz-Implementierung für Zentralabitur NRW

Im Informatik-Zentralabitur in NRW werden einige Datenstrukturen bei den SuS als bekannt vorausgesetzt, z.B. Schlange, Stapel, Binärbaum und einige andere. Die Landesregierung hat auf Learnline Schnittstellen dieser Datenstrukturen beschrieben. Dabei hat sie sich leider nicht an gängige Standards gehalten und die Dokumentationen sind teilweise fehlerhaft und in sich widersprüchlich.

Darüber hinaus liegt, soweit ich es sehe, keine Referenz-Implementierung der Schnittstellen vor, mit der die SuS den Umgang mit den Schnittstellen am Computer üben könnten.

Um diesem Mangel abzuhelfen habe ich begonnen, die Schnittstellen-Vorgaben in Java-Klassen umzusetzen. Diese Implementierung kann von interessierten Kollegen gerne im Unterricht verwendet werden. Ich habe mich dabei wörtlich an die Vorgaben auf learnline gehalten, auch wenn diese teilweise unsinnig sind. Als Dokumentation der Klassen kann den SuS so auch dieses ofizielle Dokument von learnline (ab S.6) zur Verfügung gestellt werden. Weiterhin steht auch eine Javadoc-Dokumentation der Bibliothek zur Verfügung.

Die Nutzung der auf dieser Seite veröffentlichten Bibliothek im Unterricht könnte so aussehen, dass (wie im Abitur) die SuS Aufgaben bekommen, in denen sie die Klassen benutzen müssen. Im Unterschied zum Abitur (wo die Aufgaben ja auf Papier zu lösen sind) könen die SuS im Unterricht dann tatsächlich mit den Klassen am Computer arbeiten.

Download

System-Voraussetzungen:

Auf dem Computer muss mindestens Java SE 6 Java 1.4.2 installiert sein.

Falls eine Kollegin/ein Kollege eine Version der Bibliothek benötigt, die mit einem älteren Java läuft: bitte eine Mail an mich.

Einbindung der Bibliothek nach BlueJ:

Damit die SuS mit der Bibliothek arbeiten können, muss sie in die Entwicklungsumgebung eingebettet werden. Da BlueJ meiner Meinung nach die derzeit beste Entwicklungsumgebung für den Schulgebrauch ist, hier die Beschreibung, wie die Bibliothek in BlueJ eingebunden werden kann:

Mac OS 10.5:

Das Jar-File mit der neuesten Fassung der Bibliothek (hier herunterladen…) muss in den Unterordner Contents/Resources/Java/Userlib der BlueJ-Installation gelegt werden (auf Mac-Rechnern; bei Windows-Rechnern ist der Pfad möglicherweise anders, aber auch dort muss es einen Ordner userlib geben.)

Linux:

Unter Linux ist der allgemeine Bibliotheken Ordner bluej/lib/userlib/. Wenn BlueJ also z.B. auf /opt/bluej installiert ist, dann muss die .jar-Datei nach /opt/bluej/lib/userlib/datenstrukturen_zentralabitur.jar kopiert werden.

Danach können die Klassen verwendet werden als ob es Klassen aus einer Java-Standard-Bibliothek wären, d.h. die Klassen können mit

import zentralabi.linear.Queue;

oder analogen Anweisungen eingebunden werden.

Versions-Geschichte und Änderungen

(Die jeweils oberste angegebene Datei ist identisch mit der unter Download zu findenden Fassung datenstrukturen_zentralabitur.jar.)

Version 2009-12-07

Download von datenstrukturen_zentralabitur_version_2009-12-07.jar

  • Die Methode Queue.front() heißt nun wirklich so und nicht mehr “first()“, wie ich sie bisher fälschlich genannt habe. Das bedeutet, dass ältere Programme, die auf der Klasse Queue basieren, eventuell geändert werden müssen.
  • Die Dokumentationen und Source-Files haben nun als Zeichensatz UTF-8, sodass es auf Windows-Rechner hoffentlich keine Probleme mehr mit den Umlauten gibt.

Version 2009-09-30

Download von datenstrukturen_zentralabitur_version_2009-09-30.jar

  • Jar-File mit Java 1.4.2 rekompiliert. Damit sollte das Package auch auf älteren Systemen lauffähig sein.
  • Es fehlen immer noch die Client-Server-Klassen.

Die linearen Strukturen (Queue, List, Stack) habe ich mittlerweile im Unterricht eingesetzt. Größere Fehler sollten nicht mehr enthalten sein.

Bekannter “Fehler”: BlueJ hat ein etwas umständliches Codierungs-Management. Soll heißen: Die Dateien sind mit MacRoman codiert (nicht mit UTF-8 oder ASCII). Die Umlaute in den Kommentaren sehen deshalb auf Windows-Rechnern seltsam aus. Das betrifft aber nur die Kommentare. Im eigentlichen Quellcode werden keine Umlaute verwendet. (Wer einen Tipp hat, wie man das leicht ändern kann: Bitte melden…)

Version 2009-04-17alpha

Download von: datenstrukturen_zentralabitur_version_2009-04-17alpha.jar

Implementiert sind lineare Strukturen (Queue, Stack, List), Bäume (BinTree, OrderedTree) und Graphen (GraphNode, Edge, Graph).

Es fehlen die Client-Server-Klassen. Deren Implementierung ist für die Sommerferien geplant.

Die Version ist “alpha”, d.h. sie ist noch nicht ausgiebig getestet. Vor Einsatz im Unterricht sollte man sie zu Hause ausprobieren. (Andererseits: So viel falsch machen kann man bei der Implementierung eigentlich nicht. :-) Es sollte also eigentlich keine größeren Probleme geben.)