Allgemeine Betrachtungen zur Entwicklungumgebung BlueJ

 

1. Einleitung

BlueJ ist eine integrierte Java-Umgebung, die speziell zu Lehrzwecken entworfen wurde. Es wurde an der Sydney University and Monash University, Australia in 1999 entwickelt. Das Ziel von BlueJ ist eine leicht zu nutzende Umgebung zur Verfügung zu stellen, in der Anfänger Java erlernen können.

BlueJ ist in Java geschrieben und auf Solaris, Linux, Macintosh und einer Vielzahl von Windows-Versionen getestet. Es läuft auf allen Plattformen, auf denen eine neuere JVM installiert ist.

Wesentlicher Unterschied zu den üblichen Entwicklungsumgebungen ist die Darstellung von Klassen und Objekten als Basiseinheiten. Schüler/Studenten sollen beim Programmieren in diesen Begriffen denken. Der übliche Ballast an Overhead-Programmierung soll für den Anfänger vermieden werden.

Das Entwicklungssystem ist leicht zu bedienen, einfach strukturiert und damit auch ohne Einführung nutzbar. Es unterstützt wechselseitige Kommunikation und fordert zum Experimentieren auf.

Der bedeutenste Unterschied zu herkömmlichen Entwicklungsumgebungen ist, daß in BlueJ die Klassenstrukturen angezeigt werden. Ein Problem zu strukturieren ist einer der wichtigsten Aspekte der OO-Programmierung. Dennoch haben viele Schüler/Studenten unterschiedliche Vorstellungen von Klassen und Objekten, denn alles was sie bisher davon gesehen haben sind Codezeilen, bzw. Buttons und Menüs!

 

2. Probleme einiger Entwicklungsumgebungen

  1. Die Umgebung ist nicht objektorientiert.
    Schüler/Studenten arbeiten mit Dateien bzw. mit Dateisystemen und directory-Strukturen. Dies behindert den Lehrer in der Umsetzung seiner Lerninhalte und lenkt vom Thema ab.

  2. Die Umgebung ist zu umfangreich, bzw. es gibt keine Umgebung.
    In einem Fall lernen die Schüler/Studenten mehr über DOS/Unix als über das Programmieren. Im anderen verlieren sie sich in den vielzahligen Funktionalitäten zu diversen Komponenten.

     
  3. Die Umgebung zielt auf GUI-Entwicklung.
    Dies vermittelt ein verzerrtes Bild der Programmierung und der Objektorientierung. Schüler/Studenten verbringen mehr Zeit damit Buttons zu plazieren als mit dem Aufbau des Programms.
     
  4. Die Umgebung kostet (meistens viel) Geld.
    Heimarbeit ist nur bedingt möglich, da Lizenzen teuer sein können.

 

3. Die Lösung durch BlueJ

  1. BlueJ ist objektorientiert.
    In BlueJ arbeiten Schüler/Studenten mit Klassen und Objekten. Sie bearbeiten Klassenstrukturen graphisch - bzw. textuell. Objekte können angelegt und Methoden beliebiger Objekte können direkt aufgerufen werden.
     
  2. BlueJ ist als Lehr-Entwicklungsumgebung konzipiert
     
  3. BlueJ visualisiert Klassenstrukturen und Objekte.
    Schüler/Studenten können Strukturen am Bildschirm sehen und bearbeiten.
     
  4. BlueJ kostet nix.

 

4. Java-Probleme (BlueJ's Antworten)

Java besitzt als Einstiegsprogrammiersprache betrachtet einige Probleme. Zwei wesentliche davon werden hier kurz dargestellt:

main-Funktion: Jede Funktion besitzt eine Signatur. Für die main-Funktion ist es folgende:

Die Fragen der Schüler/Studenten dazu: "static? void? array? ..., was hat das mit OO zu tun?" können nicht an dieser Stelle beantwortet werden.

I/O: Text I/O, im Besonderen input-Funktionen, verursacht eine Vielzahl an Problemen.

Antworten von BlueJ:

 

5. Echter OO-Unterricht

In vielen Java-Büchern wird der Anspruch gefordert: "objects first", aber die meistens dieser Bücher beginnt mit der Einführung von Objekten und Klassen erst in Kapitel 4+. Der Grund hierfür liegt an Java selbst: Um Klassen zu definieren benötigt man Code um die Klassenoperationen ausführen zu können (zum Überprüfen der Ergebnisse). Um diesen Code zu schreiben benötigen wir Java-Instruktionen.

In BlueJ wird dieser Code nicht benötigt!

Operationen werden interaktiv aufgerufen, damit steht dem echten OO-Unterricht ab der ersten Stunde nichts mehr im Weg. Schülern/Studenten wird eine Klasse zur Verfügung gestellt, von der sie Objekte erzeugen können. Mit diesen Objekten können sie arbeiten (öffnen, lesen, verändern, ...).

 

6. Erfahrungen im Einsatz mit BlueJ

Experimente mit BlueJ haben gezeigt, dass die Entwicklungsumgebung bei Programmieranfängern sehr schnell unabhängig genutzt wurde. Sie hat geholfen die wichtigen OO-Konzepte zu übermitteln.

BlueJ wird international bei vielen Universitäten eingesetzt (siehe die Liste der User).

 

7. Literatur- und Quellenangaben