EDU-Version: Unterschied zwischen den Versionen
K (→Konkrete Anwendungen) |
Mike (Diskussion | Beiträge) (→Grundgedanke) |
||
Zeile 9: | Zeile 9: | ||
** Reaktion auf '''Tastatur- und Maus-Ereignisse''' | ** Reaktion auf '''Tastatur- und Maus-Ereignisse''' | ||
** einfache '''Realsisierung von Timer-Tasks''' | ** einfache '''Realsisierung von Timer-Tasks''' | ||
+ | ** simples '''Abspielen von Audio-Dateien''' | ||
** '''Nebenläufigkeit''' geschieht automatisch | ** '''Nebenläufigkeit''' geschieht automatisch | ||
Version vom 28. Juli 2014, 20:52 Uhr
Inhaltsverzeichnis
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.
- 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
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, ...
- 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.
- Methode tick() überschreiben: