Sonnenfinsternis in der Schule. Die Eclipse-IDE erfolgreich im Informatikunterricht einsetzen

Viel wurde über das Für und Wider von Java im schulischen Unterricht diskutiert. Fakt ist jedoch, dass heute viele Lehrpläne Java als Programmiersprache auflisten und neue Lehrkräfte an den Universitäten mit dieser imperative objektorientierte Programmiersprache in Kontakt kommen und sich schon aus diesem Grunde heute für Java entscheiden. Steht die Entscheidung für eine Programmiersprache fest, ist die Wahl der Entwicklungsumgebung (neudeutsch IDE für „Integrated Development Environment“) nicht einfacher. Im Allgemeinen steht als Basis für die Entwicklung von Java-Programmen das Java SE von Sun; es besteht aus Compiler und Laufzeitumgebung (JVM) und einer Reihe Tools. Das Java SE – früher J2SE – steht in zwei Spielarten zum Download bereit: Java Runtime Environment (JRE) und Software Development Kit (SDK), auch JDK genannt. (Sun macht es einen mit häufigen Umbenennungen nicht einfach.) Das JDK bildet für den Schulunterricht eine gute Basis, da die kompletten Quellen der Java-Typen beiliegen und diese von Eclipse für die API-Dokumentation benutzt werden.

Ohne zusätzliche Installation einer Entwicklungsumgebung ermöglicht das JDK sofort auf einem Windows oder Unix-System die Java-Entwicklung. Sun liefert die Kommandozeilenprogramme javac zum Übersetzen der Quellen und java zum Ausführen der Programme mit aus. Eine grafische Entwicklungsumgebung enthält das JDK oder JRE zwar nicht, doch da bei einem zeitgemäßen Betriebssystem ein Editor zur Standardinstallation gehört, ließe sich dieser zum Schreiben des Java-Quellcodes verwenden. Der Quellcode kann mit dem Editor erstellt und gespeichert werden und eine Kombination von javac und java auf der Kommandozeile kann zum Übersetzen und Ausführen der Programme genutzt werden. Das hat zwei Schwächen, wobei sich die erste auf die Betriebssysteme und Editoren bezieht. Unter Windows gibt es für Textdateien standardmäßig nur Notepad, was den Quellcodeautor durch fehlende farbliche Hervorhebung der Schlüsselworte und Zeichenketten nicht großartig unterstützt. Immerhin produzierte der Markt in den letzten Jahren qualitative (auch freie) Alternativen, etwa Notepad++. Unter Linux leben dann gleich mehrere Editoren nebeneinander. Der zweite Makel ergibt sich durch den Kontextwechsel Texteditor und Kommandozeile. Der Wechsel kostet Zeit und bedarf bei – bedauerlicherweise nicht auszuschließenden – Compilerfehlern einer lästigen Synchronisation zwischen den von javac angezeigtem Fehlerzeilen und dem Editor mit anschließender Fehlerbehebung.

Integrierte Entwicklungsumgebungen versuchen das Manko zu beheben, in dem sie die Vorgänge Editieren, Refactoring, Übersetzen, Ausführen und Debuggen näher zusammenbringen, also in einer Software integrieren. Soll eine IDE das Team Kommandozeile und Standard-Editor absetzen, folgt die nächste Frage: Welches Produkt? Einige Kriterien allgemeiner Art, ohne auf eine Programmiersprache im Besonderen einzugehen, sind:

  • Entfallen auf die Software Kosten, ist das eine Bremse für die Verbreitung. Idealerweise sollte die Software kostenlos sein, damit Lizenzkosten nicht anfallen. Kommerzielle Produkte könnten Lernende dazu verführen, die Software illegal zu kopieren – Lehrende sind davon prinzipbedingt auch nicht ausgeschlossen. Diese Form der Urheberrechtsverletzungen darf in keinem Fall geduldet werden.
  • Die Anforderungen an Hardware und Software (Betriebssystem) stimmt mit der Situation in den Schulen überein. Nutzen Schulen nicht Windows, sondern Linux oder MacOS, so muss die IDE auf dem System ohne Problem laufen.
  • Im besten Fall gibt es eine gute Programmdokumentation, die aufzeigt, welche Voraussetzungen die Software hat und wie sie sich starten, bedienen und konfigurieren lässt.

Für Java gibt es nach 15 Jahren Präsenz eine große Anzahl Entwicklungsumgeben. Für Industrieprogrammierer eignen sich allerdings nur vier wirklich: Eclipse (Eclipse Foundation), NetBeans (Sun Microsystems), JDeveloper (Oracle Corporation), IntelliJ (JetBrains). In der Entwicklergemeinde hat Eclipse die meisten Anhänger und ist die beliebteste IDE überhaupt. Aber rechtfertigt dies, auch im Unterricht die Lernenden mit Eclipse zu beschäftigen? Sollten nicht vielleicht Alternative in Betracht gezogen werden? Als Argumente für und gegen Eclipse lassen sich anführen:

  • Eclipse ist frei und quelloffen. Es gibt viele Zusätze – Plugins genannt – etwa für UML-Diagramme. Da Eclipse eine Rahmenwerk ist, welches auch andere Programmiersprachen unterstützt, die im Unterricht eine weitere Rolle spielen können, wie PHP, muss sich der Lernende nur in eine Umgebung eingewöhnen.
  • Eclipse läuft unter diversen Betriebssystemen, wie Linux, Mac OS und Windows. Die Installation und der Betrieb läuft ohne Eingriff in System-Dateien und ist auch auf Rechnern mit eingeschränkten Benutzerrechten möglich.
  • Die Hardwareanforderungen sind nicht unerheblich. Die Rechner sollten 128 MB Hauptspeicher haben und schneller als 500 MHz sein. Der Festplattenbedarf für ein Java-Projekt liegt inklusive einiger Eclipse-Zusätze bei etwa 500 MB.
  • Es gibt internationalisierte Versionen, insbesondere eine deutschsprachige Oberfläche.
  • Der erste Blick auf die gestartete Oberfläche ist mit etwa 20 Symbolen, 10 Menüzeilen und insgesamt 100 Menüeinträgen in der Java-Perspektive beunruhigend.
  • Die Oberfläche von Eclipse lässt sich flexibel anpassen und „entschlacken“, sodass nur noch wenige Symbole Einsteiger verwirren können.
  • Eclipse hat gegenüber anderen Umgebungen den Vorteil, dass der Editor besonders Spracheinsteigern hilft, sich mit der Syntax von Java „anzufreunden“. Dazu unterschlängelt Eclipse ähnlich wie moderne Textverarbeitungssysteme fehlerhafte Stellen.
  • Vom im Editor geschriebenen zum ausgeführten Programm liegt eine transparente Übersetzung mittels des im Hintergrund ablaufenden Java-Compilers. Eclipse stößt beim Speichern automatisch den Compiler an, und aktualisiert in dem Zyklus die Fehlermeldungen. Da die Fehleranzeige unterschiedlich aktuell ist, müssen Lernende die Aktualisierung der Anzeige verstehen.
  • Die IDE bietet notwendigen Hilfen beim Entwickeln, wie etwa automatische Codevervollständigung.
  • Eclipse setzt auf dem Java SDK auf und unterstützt jede gewünschte Java-Versionen.
  • Lernende könnten mit ihrem Wissen im Umgang mit Eclipse vor den Lehrenden sein, was im Unterricht immer eine Herausforderung ist. Nicht jeder Lehrende fühlt sich wohl in der Haut, wenn Schüler im Stoff weiter sind und unangenehme Fragen stellen, und kann den Wissensvorsprung seiner Lernenden produktiv im Unterricht einbringen.
  • Mit F1 ist die API-Dokumentation der Java-Typen und Eigenschaften in einem eigenen Unterfenster (in Eclipse View genannt) sofort zu sehen.

Die Eclipse IDE ist sehr leistungsfähig und die Einarbeitung kostet Zeit. Bei jeder Software steht der Lehrende vor dem Problem, eine Produktschulung zu geben, die unterschiedlich lang dauern kann. Eclipse benötigt eine längere Einarbeitungszeit als ein vergleichsweise einfacher Notepad, und die Zeit geht von der wertvollen Unterrichtszeit ab, die zur Vermittlung wichtiger Konzepte benötigt wird. Nach eigener Erfahrung als Java-Dozent mit drei Jahren Eclipse-Erfahrung in der Lehre kann ich Entwarnung geben, denn die Grundlagen zu Eclipse sind in 45 Minuten vermittelt und das erste „Hallo Welt“-Java-Programm implementiert.

Von den Vorteilen von Eclipse möchte ich zwei näher ausführen:

  • Die syntaktische Prüfung parallel zum Schreiben ist eine unglaubliche Hilfe. Vielen Lehrenden ist es schmerzlich bewusst, dass die wertvolle Unterrichtszeit mit der Vermittlung und Korrektur von syntaktischen Dingen wie Semikolon am Ende, geschweiften Klammen und ähnlichen Dingen dahinschmilzt. Mit roten Schlangenlinien unter fehlerhaften Stellen und einer Glühbirne zur automatischen Korrektur können Lernende leichter die Fehler erkennen und korrigieren. (Die Glühbirne ist aber Fluch uns Segen zugleich: Ein unreflektierter Gebrauch führt dazu, dass Fehler durch Varianten korrigiert werden, die Lernende nicht kennen, und ohne nachzudenken, irgendeine Lösung akzeptieren, ohne den Fehler selbst erkannt zu haben.)
  • Eclipse eignet sich für den Schulunterricht genauso wie für ernsthafte Entwicklung. Das ermöglicht fortschrittliches Arbeiten der Lernenden zuhause.

Problemorientierter Unterricht soll nicht heißen, dass die Lernenden laufend Probleme mit der IDE haben. Dennoch lässt sich Eclipse so vorbereiten, dass Schwierigkeiten minimiert werden. Dazu einige Grundlagen. Nach dem Download von Eclipse unter http://www.eclipse.org/downloads/ ist für Windows ein Zip-Archiv auszupacken. Im ausgepackten Ordner befindet sich das Hauptprogramm eclipse.exe. Nach dem Start muss ein Pfad für den Workspace vergeben werden; das ist ein Verzeichnis, in dem Eclipse die Projekte ablegen kann (aber nicht muss) und Konfigurationsdateien speichert. Einem Workspace können beliebige viele Java-Projekte zugeordnet sein, aber eine Eclipse-Instanz kann nur einen Workspace zu einer Zeit geöffnet haben. Wurde Eclipse zum ersten Mal gestartet, folgt ein Willkommens-Bildschirm (der geschlossen werden kann) auf der Arbeitsoberfläche – die Workbench genant wird. Für die Java-Programmierung muss ein neues Java-Projekt angelegt werden. Dazu ist im Menü File > New > Project > Java Project zu wählen. Nach der Angabe eines Projektnamens im Dialog lässt sich eine Java-Klasse in das Java-Projekt setzen. Dazu wird File > New > Class verwendet. Nach Eingabe eines Klassen- und Paketnamens kann optional der Schalter für einen Rumpf der main()-Methode aktiviert werden. Nach dem Abschluss des Dialoges öffnet sich ein Editor mit der neuen Klasse. An der Stelle ist interessant, den Begriff View zu erklären. Eine View ist alles das, was im Fenster im abgerundeten Bereich zu sehen ist. Dazu gehören: der Package-Explorer, die Outline, die Console, der Editor selbst. Welche Views gerade sichtbar sind, bestimmt die Perspektive. Es kann immer nur eine Perspektive zu einer Zeit sichtbar sein und welche das ist, ist in der Symbolleiste oben rechts abzulesen. Im Editor können Lernende jetzt das obligatorische System.out.println("Hallo Welt"); schreiben und mit der automatischen Fehlerprüfung experimentieren. Nach dem Speichern und ohne rote Kringel ist das Programm korrekt. Um es auszuführen bietet Eclipse mehrere Möglichkeiten. Eine ist, im Editor das Kontextmenü aufzurufen und unter Run As > Java Application zu wählen. Die Ausgabe steht im Konsolenfenster.

clip_image002

Abbildung 1: Eclipse mit Fehleranzeige

Die genannten Schritte zum lauffähigen Beispiel sind zu vollziehen, wenn man mit einer neuen Installation von Eclipse beginnt. Für den Unterricht können diverse Dinge vorbereitet werden:

  • Eclipse ist schon ausgepackt und ein Symbol zum Starten von Eclipse ist im Menü des grafischen Betriebssystems eingetragen.
  • Eclipse wurde schon gestartet und ein Workspace zugewiesen. Der Schalter bei der Angabe des Workspace-Pfades wurde gesetzt, dass der Dialog nicht immer wieder kommt. Der Willkommens-Schirm ist schon geschlossen.
  • Im Workspace gibt es ein leeres Java-Projekt. Idealerweise trennen src/– und bin/-Order die Java-Quellcode-Dateien und die Java-.class-Dateien.
  • Das Java-Projekt enthält ein Beispielprogramm mit der Konsolenausgabe, was nur gestartet werden muss.

Haben Lehrende dies mit einer Eclipse-Installation schon gemacht, und etwa das Workspace-Verzeichnis unter das Eclipse-Installationsverzeichnis gelegt, kann dieses Eclipse-Verzeichnis einfach auf andere PCs übertragen werden. Die PCs „erben“ damit diese Standardeinstellungen.

Neben der Möglichkeit, ein erstes Projekt schon direkt eingestellt zu haben, ist weiterhin interessant, die Oberfläche zu vereinfachen. Dazu können einige Views wie Hierarchy oder JavaDoc geschlossen werden. Was genau in eine Perspektive für Views eingerichtet sind, und was zum Teil für Menüpunkte eingeblendet sind, bestimmen Einstellungen unter Window > Customize Perspective…

Eclipse bietet eine Reihe von Möglichkeiten, die jeden Informatikunterricht bereichern. Dazu zählen insbesondere die Refactoring-Möglichkeiten, um Bezeichner umzubenennen oder automatisch Schnittstellen aus Java-Klassen zu extrahieren. Die IDE ist sehr leistungsfähig, mächtiger als das, was im Unterricht je angesprochen werden könnte. Dennoch finden Nutzer immer wieder neue Kniffe, die sie gerne mit anderen teilen und die sie zum Erforschen anregen. Insbesondere die Glühbirne, die Fehler automatisch korrigiert, hat es Lernenden meiner Erfahrung nach angetan. Zu den Eclipse-Erweiterungen – den Plugins – gehören Produkte wie das Eclipse Web Tools Platform (WTP) das im Bündel Eclipse IDE for Java EE Developers eingebracht ist, die Eclipse erweiterte Funktionalität im Bereich XML, Datenbanken oder Web-Entwicklung geben. Mit dem WPT lassen sich etwa XML-Dokumente mit syntaktischer Hervorhebung und paralleler Fehlerprüfung schreiben, Datenbankverbindungen aufbauen und Tabellen visualisieren und einfache Web-Anwendungen mit JavaServer Pages schreiben. Das auch frei verfügbare Plugin Omondo (http://www.omondo.com/) gibt Einblicke in die UML-Entwicklung und kann Klassendiagramme mit Quellcode synchron halten.

Ähnliche Beiträge

Ein Gedanke zu “Sonnenfinsternis in der Schule. Die Eclipse-IDE erfolgreich im Informatikunterricht einsetzen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert