(Verwendungskonzepte)
(Konkrete Anwendungen)
Zeile 26: Zeile 26:
 
* Klasse BILD: Grafik-Dateien
 
* Klasse BILD: Grafik-Dateien
 
* Klasse SPIEL: Hintergrund-Grafik, Timer-Tasks, Tastatur-Ereignisse, ...
 
* Klasse SPIEL: Hintergrund-Grafik, Timer-Tasks, Tastatur-Ereignisse, ...
* Taxi-Stand: veranschaulichung von Arrays
+
* Klasse AUDIOPLAYER: Abspielen von z.B. mp3-Dateien, ...
 +
* Projekt PINGPING: Anwendung algorithmischer Bausteine ohne Arrays, Wiederholungen und Vererbung
 +
* Projekt STAUBSAUGERROBOTER: Anwendung algorithmischer Bausteine mit Arrays und Wiederholungen ohne Vererbung
 +
* Projekt KAMELE: Anwendung algorithmischer Bausteine mit Arrays, Wiederholungen und Vererbung
  
 
== Funktionsweise ==
 
== Funktionsweise ==

Version vom 28. Juli 2014, 21:04 Uhr

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
    • simples Abspielen von Audio-Dateien
    • 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. Die Basis hierfür bildet das BlueJ-Projekt alpha_Formen.
  • 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. Ausgangspunkt hierfür ist das BlueJ-Projekt alpha_Formen_Zeichnung.
  • 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. Die Basis hierfür sind die Unterrichts-Skripten und geleiteten Projekte im PDF-Format.
  • Differenzierung bzgl. des Leistungs-Niveaus ist hierbei sehr leicht möglich, da fast jeder Programmier-Auftrag nahezu beliebig erweitert werden kann.

Konkrete Anwendungen

Hier gibt es noch was zu tun: Links auf Projekte
  • 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, ...
  • Klasse AUDIOPLAYER: Abspielen von z.B. mp3-Dateien, ...
  • Projekt PINGPING: Anwendung algorithmischer Bausteine ohne Arrays, Wiederholungen und Vererbung
  • Projekt STAUBSAUGERROBOTER: Anwendung algorithmischer Bausteine mit Arrays und Wiederholungen ohne Vererbung
  • Projekt KAMELE: Anwendung algorithmischer Bausteine mit Arrays, Wiederholungen und Vererbung

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.