Grundgedanke

  • Die Grund-Idee zur EDU-Variante der Engine-Alpha ist
    • besondere didaktische Reduktion auf das Wesentliche
    • völliges verbergen von technischen Details der Sprache JAVA
  • In diversen EDU-Klassen - analog zu Klassen aus der Core-Version der Engine-Alpha - werden technisch aufwändige Features durch extrem intuitive und einfach zu bedienende Schnittstellen angeboten:
    • einfache geometrische Formen und deren Bewegung
    • Darstellung von Grafik-Dateien und deren Bewegung
    • vorgefertigte Lage- bzw. Kollisions-Kontrolle
    • Reaktion auf Tastatur- und Maus-Ereignisse
    • einfache Realsisierung von Timer-Tasks
    • Nebenläufigkeit geschieht automatisch

Verwendungskonzepte

  • Ganz zu Beginn werden den Schülern fertige und übersetzte Klassen in BlueJ angeboten. Die Lernenden sollen davon Objekte erzeugen, die gleich am Bildschirm in einem Grafik-Fenster erscheinen. Per Klick können sie dann darauf Methoden aufrufen und gleich die entsprechenden Veränderungen beobachten.
  • Im nächsten Schritt schreiben die Lernenden ihre erste JAVA-Klasse selbst. Sie reihen die gerade per Maus-Klick ausgeführten Befehle im Deklarations- bzw. Initialisierungs-Teil in eine Datei, wodurch die erstellte Grafik nun quasi gespeichert werden kann.
  • Im Laufe des Schuljahres lernen die Schüler immer mehr algorithmische Strukturen in JAVA umzusetzen und bewältigen immer umfangreichere Projekte, die mehr und mehr Eigenaktivität und Kreativität von ihnen verlangt.
  • Differenzierung bzgl. des Leistungs-Niveaus ist hierbei sehr leicht möglich, da fast jeder Programmier-Auftrag nahezu beliebig erweitert werden kann.

Konkrete Anwendungen

  • EDU_alpha-Formen: Klassen DREIECK, RECHTECK, KREIS
  • EDU_alpha-Formen_Zeichnung: erste JAVA-Klasse
  • Klasse BILD: Grafik-Dateien
  • Klasse SPIEL: Hintergrund-Grafik, Timer-Tasks, Tastatur-Ereignisse, ...
  • Taxi-Stand: veranschaulichung von Arrays

Funktionsweise

  • Die Klassen RECHTECK, DREIECK, KREIS, BILD
    • Objekte davon erscheinen sofort nach Ergeugung in einem automatisch generierten Grafik-Fenster (Singleton).
    • Es stehen intuitive Standard-Methoden zur Verfügung.
    • Eigene Klassen sollten davon erben oder darauf referenzieren.
  • Die Klasse SPIEL
    • Methode tick() überschreiben:
      • Was in ihrem Rumpf steht, wird regelmäßig automatisch ausgeführt.
      • Die Wiederholrate wird mit der Methode tickerIntervallSetzen(int MilliSekunden) eingestellt.
      • Mit der Methode tickerStoppen() kann der Timer-Task angehalten werden.
    • Methode tasteReagieren(int code) überschreiben:
      • Jede Taste hat ihren Code (A=0, B=1, ... )
      • Code bestimmen: Objekt von SPIEL erstellen und Tasten drücken ==> Code wird genannt
      • Die Methode wird bei jedem Tastatur-Event automatisch aufgerufen. Dabei wird der Methode automatisch der Code der entsprechenden Taste übergeben.
      • Durch eine Fallunterscheidung kann man im Rumpf dieser Methode auf verschiedene Tasten reagieren.
    • Die Klasse SPIEL bringt noch weitere hilfreiche Methoden mit.