BlueJ Projekte

BlueJ ist eine Entwicklungsumgebung für objektorientierte Java-Programme, die speziell für den Schulunterricht entworfen wurde. Es wurde von einem Team an der Deakin Universität in Melbourne, Australien, und der Universität von Kent in Canterbury, Großbritannien, konzipiert und umgesetzt.

©istock.com/gambarvektor

Anmerkung

  • Mehr Informationen über BlueJ sind im Web verfügbar, sowie im Buch “Java lernen mit BlueJ” (David J. Barnes, Michael Kölling; Pearson Studium; 3. Auflage 2006)

    BlueJ

BlueJ Projekte - 12. Jahrgangsstufe GYM

Schwerpunkte der 12. Jahrgangsstufe sind: Formale Sprachen, Kommunikation und Synchronisation von Prozessen, Funktionsweise eines Rechners, Grenzen der Berechenbarkeit.

1. Funktionsweise eines Rechners – MiniMaschine

Das Programm Minimaschine wurde speziell für den Lehrplanpunkt “Funktionsweise eines Rechners” entwickelt. Es emuliert eine einfache CPU, wobei wahlweise

  • das Programm in einem Zug vollständig (Ausführen),
  • jeder Befehl einzeln (Einzelschritt)
  • oder auch jeder Teil des Befehlszyklus einzeln (Mikroschritt)

ausgeführt und visualisiert (CPU-Zustand und Speicherbelegung) werden kann. Die Maschine adressiert einen Speicher von 64K 16-Bit-Worten und jeder Befehl besteht aus zwei Worten.
Die Eingabe der Programme erfolgt über einen Assembler, der selbst berechnete Adressen aber auch symbolische Adressen (Marken) erlaubt. Es können mehrere Quellfenster gleichzeitig geöffnet und editiert werden.
Um den Lehrplanpunkt “Umsetzung von Wiederholungen und bedingten Anweisungen auf Maschinenebene” zu ergänzen und die vollständige Abbildung der Hochsprachenebene auf die Maschinenebene zu zeigen, können Programme auch in einer Pascal-ähnlichen Hochsprache eingegeben werden; das erzeugte Maschinenprogramm (sowie der generierte Assemblertext) kann angezeigt werden.

Links

2. Grenzen der Berechenbarkeit

Für die Bestimmung der Laufzeit von Algorithmen stehen die folgenden Vorlagen zur Verfügung:

  • VisualSort
    Dieses Programm von Franz-Josef Färber erlaubt die animierte Darstellung verschiedener Sortieralgorithmen (Sortieren durch Auswahl, Sortieren durch Einfügen, MergeSort, BubbleSort und BozoSort) im Programmteil “Veranschaulichung” sowie die Messung der Laufzeit mit grafischer Auswertung im Programmteil “Laufzeitmessung”.
  • Routenplaner
    Dieses BlueJ-Projekt erlaubt die Implementierung der Laufzeitmessung für die Wegesuche nach den bereits vorbereiteten Verfahren “Brute-Force” und “Dijkstra”.
  • Suche
    Dieses BlueJ-Projekt erlaubt die Implementierung der Laufzeitmessung für die Suche in den bereits vorbereiteten Datenstrukturen Liste und AVL-Baum.
  • Passwortknacker
    Dieses BlueJ-Projekt erlaubt die Laufzeitmessung bei der Passwortsuche nach dem Brute-Force-Verfahren abhängig von der maximal möglichen Passwortlänge und vom zugrundegelegten Zeichensatz.

BlueJ Projekte - 11. Jahrgangsstufe GYM

Schwerpunkte der 11. Jahrgangsstufe sind die rekursiven Datenstrukturen Liste und Baum, sowie die Datenstruktur Graph.

BaumVisualisierungsTool BVT

Die Operationen auf der Datenstruktur Baum sind meist rekursiv formuliert. Zum Verständnis rekursiver Abläufe ist eine gute Vorstellung folgender Situationen erforderlich: welcher Knoten ist gerade aktiv, welche Knoten warten auf das Ergebnis einer Operation, wie werden die rekursiven Aufrufe weitergegeben und wie werden sie abgeschlossen (“zurücklaufen”). Hier hilft eine graphische Veranschaulichung mit farbigen Markierungen zur Erklärung sehr gut. Das Programm BaumVisualisierungsTool BVT visualisiert die rekursiven Abläufe wie Suchen, Einfügen und Entfernen in einem Baum sowie das Ausgeben der Baumstruktur in praeOrder, inOrder oder postOrder. Das Programm BVT ist im Rahmen einer Zulassungsarbeit an der LMU entstanden. Ziel dieser Zulassungsarbeit war es, insbesondere ein Tool zu entwickeln, das die Vermittlung der Rekursion am Beispiel der Datensturktur “Baum” erleichtert. Das Java-Applet steht für den schulischen Bereich kostenlos zur Verfügung.

Link

BlueJ Projekte - 10. Jahrgangsstufe GYM

Ansprechende Beispiele für den Informatikunterricht der 10. Jahrgangsstufe benötigen graphische Darstellungen. Diese Darstellungen können die Schüler zu Beginn der 10. Klasse noch nicht selbst erstellen. Eine gute Möglichkeit ist, ihnen Projekte mit einfachen Klassen für die nötige Graphik zur Verfügung zu stellen. Auf dieser Seite sind mehrere Themen mit den zugehörigen Projekten dargestellt.

1. Graphikdokument

Dieses Projekt stellt einfache Graphiksymbole (Rechteck, Dreieck, Kreis) zur Verfügung mit denen die Schüler einen Einstieg in das Erzeugen von Objekten und in die Verwendung von Methoden finden können.

2. JavaKarol und BlueJKarol

Den meisten Schülern ist der Roboter Karol aus der 7. Jahrgangsstufe bekannt. Eine Java-Variante dieses Roboters erlaubt nun, Java als Programmiersprache für den Roboter zu verwenden. Das Java-Archiv stellt die Funktionalität zur Verfügung, ein passendes BlueJ-Projekt BlueJKarol schafft einen einfach verwendbaren Rahmen. Dieses Projekt dient insbesondere zur Wiederholung und Vertiefung der algorithmischen Erfahrungen aus der Unterstufe, erlaubt aber z. B. auch Erkundungen in das Thema Generalisierung / Spezialisierung.

3. Verkehrssimulation

Das Gesamtprojekt erlaubt eine themenzentrierte Behandlung des gesamten Stoffs der 10. Jahrgangsstufe. Es kann aber auch schwerpunktmäßig für die Behandlung der Zustandsmodellierung verwendet werden und im späteren Unterrichtsverlauf als reines Übungsbeispiel dienen. Um den Einsatz möglichst flexibel zu ermöglichen, sind im Folgenden mehrere BlueJ-Projekte mit verschiedenen Entwicklungsstufen angegeben.

  • Lampe
    Gibt die Klasse für eine einzelne Lampe vor, mit der die Ampeln der Kreuzung erstellt werden können.
    Dieser Teil des Projekts thematisiert die Zustandsmodellierung.
  • Fahrzeugsymbol
    Gibt ein einfaches Symbol zur Darstellung eines Fahrzeugs. Damit wird in die Bewegung der Fahrzeuge eingestiegen.
    Dieser Teil des Projekts thematisiert die Algorithmik und den Umgang mit Feldern.
  • Beschleunigende Fahrzeuge
    Um die Beschleunigung der Fahrzeuge korrekt modellierieren zu können, muss auf Wissen aus der Physik zurückgegriffen werden. In diesem Zwischenstand ist die Bewegung der Fahrzeuge fertig modelliert, damit man diesen Schritt überspringen kann.
    Dieser Teil des Projekts vertieft die Algorithmik und den Umgang mit Feldern.
  • Kreuzung mit Fahrzeugen und Fahrbahnen
    Dieses Projekt ist die Basis für die Zusammenführung der bisher getrennten Teile der Ampelsteuerung und der Fahrzeugbeweung.
    Dieser Teil des Projekts vertieft das Zusammenspiel der verschiedenen Modellierungsarten.
  • Kreuzung mit Fahrzeugen und Fahrbahnen zusammengeführt
    In diesem Projekt ist die Zusammenführung der bisher getrennten Teile der Ampelsteuerung und der Fahrzeugbewegung bereits ausgeführt. Es dient daher als Zwischenstand für Schüler, die eine verlässliche Basis benötigen.
    Dieser Teil des Projekts vertieft das Zusammenspiel der verschiedenen Modellierungsarten.
  • Neue Fahrzeugsymbole
    Dieses Projekt ergänzt Symbole für verschiedene Fahrzeugtypen. Hier ist auch der Quelltext für die vorgegebenen Klassen vorhanden, damit die Schüler im weiteren Projektverlauf die Oberfläche selbständig ergänzen können.
    Dieser Teil des Projekts thematisiert Generalisierung / Spezialisierung.
  • Neue Fahrzeugsymbole im vollständigen Projekt
    In das unter (f) beschriebene Projekt ist der bisherige Stand als vollständiger Zwischenstand eingefügt. Damit ist es möglich, einzelne vorher thematisierte Teile zu überspringen und an dieser Stelle wieder einzusetzen.
    Dieser Teil des Projekts thematisiert Generalisierung / Spezialisierung.

4. Simulation des Kassenbereichs in einem Supermarkt

Das Gesamtprojekt erlaubt eine themenzentrierte Behandlung des gesamten Stoffs der 10. Jahrgangsstufe. Der ideale Einsatz ist in Verbindung mit Projekt (3) die Fortführung des Stoffs nach der Behandlung der Zustandsmodellierung. Auch hier sind im Folgenden BlueJ-Projekte mit verschiedenen Entwicklungsstufen angegeben.

  • Darstellungssymbole
    Dieses Projekt stellt die notwendigen Darstellungssymbole in einfach zu verwendenden Klassen zur Verfügung.
    Dieser Teil des Projekts thematisiert Alorithmik und Umgang mit Feldern, spricht aber auch Zustandsmodelle an.
  • Zwischenstand mit Quellen der Oberflächenklassen
    Hier ist der Zwischenstand vor Einstieg in das Thema Generalisierung /Spezialisierung gegeben, um eine stabile Plattform für alle Schüler zu bieten. Weiter ist hier auch der Quelltext für die vorgegebenen Klassen vorhanden, damit die Schüler im weiterene Projektverlauf die Oberfläche selbständig ergänzen können.
    Dieser Teil des Projekts thematisiert Generalisierung / Spezialisierung.

5. Taktgeber

Diese Quelle stellt einen universal einsetzbaren Taktgeber zur Verfügung, wie er oft bei Simulationen benötigt wird. Z. B. findet er in den Projekten (3) und (4) Verwendung.

6. Tic Tac Toe

Dieses Projekt stellt die Graphikelemente für das Spiel Tic Tac Toe zur Verfügung. Darauf lassen sich verschiedene Projekte zur Ausgestaltung des Spiels aufbauen. (Von einfacher Überwachung der Züge bis zur Programmierung des Computers als Gegenspieler.)

  • Stand
  • 6. Mai 2015