(Grundgedanke)
 
(22 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
 
== Grundgedanke ==
 
== Grundgedanke ==
 
* Die Grund-Idee zur EDU-Variante der Engine-Alpha ist  
 
* Die Grund-Idee zur EDU-Variante der Engine-Alpha ist  
Zeile 4: Zeile 5:
 
** völliges '''verbergen von technischen Details''' der Sprache JAVA
 
** 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:
 
* 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:
 +
** '''Vererbung zu Beginn''': Die Schüler erben sehr früh von vorgefertigten Klassen. Hierdurch können sie sehr viele sonst komplizierte Techniken einfach verwenden, ohne sich mit tehnischen Details herumzuquälen wie z.B. ...
 
** einfache '''geometrische Formen''' und deren Bewegung
 
** einfache '''geometrische Formen''' und deren Bewegung
 
** Darstellung von '''Grafik-Dateien''' und deren '''Bewegung'''
 
** Darstellung von '''Grafik-Dateien''' und deren '''Bewegung'''
Zeile 9: Zeile 11:
 
** 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
 +
** '''Von Lehrern ersonnene EDU-Klassen''' zum Realisieren von speziellen Ideen finden sich im [[Unterrichtskonzept|Unterrichts-Bereich]] zum Download.
  
 
== Verwendungskonzepte ==
 
== 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'''.
+
* '''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.
+
* '''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.
+
* '''Der dritte Schritt''' ist bereits die einfache Anwendung '''Vererbung''' um weitere vorgefertigte Features einfach benutzen zu können.
 +
* '''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.
 
* '''Differenzierung bzgl. des Leistungs-Niveaus''' ist hierbei sehr leicht möglich, da fast jeder Programmier-Auftrag nahezu beliebig erweitert werden kann.
 +
  
 
== Konkrete Anwendungen ==
 
== Konkrete Anwendungen ==
* EDU_alpha-Formen: Klassen DREIECK, RECHTECK, KREIS
+
 
* EDU_alpha-Formen_Zeichnung: erste JAVA-Klasse
+
* [http://asg-passau.xen-host.de/Inf-10/alphaFormen.zip alphaFormen]: Klassen DREIECK, RECHTECK, KREIS
* Klasse BILD: Grafik-Dateien
+
* [http://asg-passau.xen-host.de/Inf-10/alphaFormen_Zeichnung.zip alphaFormen_Zeichnung]: erste JAVA-Klasse
* Klasse SPIEL: Hintergrund-Grafik, Timer-Tasks, Tastatur-Ereignisse, ...
+
* [http://asg-passau.xen-host.de/Inf-10/BILD.java JAVA-Klassen-Datei: BILD.java (Rechtsklick, speichern unter)]: Grafik-Dateien
* Taxi-Stand: veranschaulichung von Arrays
+
* [http://asg-passau.xen-host.de/Inf-10/SPIEL.java JAVA-Klassen-Datei: SPIEL.java (Rechtsklick, speichern unter)]: Hintergrund-Grafik, Timer-Tasks, Tastatur-Ereignisse, ...
 +
* [http://asg-passau.xen-host.de/Inf-10/SOUND.java JAVA-Klassen-Datei: SOUND.java (Rechtsklick, speichern unter)]: Abspielen von z.B. mp3-Dateien, ...
 +
* [http://engine-alpha.org/wiki/Unterrichtskonzept#Unterrichtsprojekt:_PingPong Projekt PINGPONG]: Anwendung algorithmischer Bausteine ohne Arrays, Wiederholungen, mit Vererbung
 +
* [http://engine-alpha.org/wiki/Unterrichtskonzept#Unterrichtsprojekt:_Staubsauger-Roboter Projekt STAUBSAUGERROBOTER]: Anwendung algorithmischer Bausteine mit Arrays, Wiederholungen und Vererbung
 +
* [http://engine-alpha.org/wiki/Unterrichtskonzept#Unterrichtsprojekt:_Kamele Projekt KAMELE]: Anwendung algorithmischer Bausteine mit Arrays, Wiederholungen und Vererbung
 +
 
  
 
== Funktionsweise ==
 
== Funktionsweise ==
 
* '''Die Klassen RECHTECK, DREIECK, KREIS, BILD'''
 
* '''Die Klassen RECHTECK, DREIECK, KREIS, BILD'''
** Objekte davon erscheinen sofort nach Ergeugung in einem automatisch generierten Grafik-Fenster (Singleton).
+
** Objekte davon erscheinen sofort nach Erzeugung in einem automatisch generierten Grafik-Fenster (Singleton).
 
** Es stehen intuitive Standard-Methoden zur Verfügung.
 
** Es stehen intuitive Standard-Methoden zur Verfügung.
 
** Eigene Klassen sollten davon erben oder darauf referenzieren.
 
** Eigene Klassen sollten davon erben oder darauf referenzieren.
 +
* '''Die Klasse BILD'''
 +
** GIF-, JPG- und PNG-Dateien können sehr einfach dargestellt werden.
 +
** Die zur Verfügung gestellten Methoden entsprechen denen der Alpha-Formen.
 
* '''Die Klasse SPIEL'''
 
* '''Die Klasse SPIEL'''
 
** '''Methode ''tick()''''' überschreiben:
 
** '''Methode ''tick()''''' überschreiben:
Zeile 40: Zeile 54:
 
*** Durch eine Fallunterscheidung kann man im Rumpf dieser Methode auf verschiedene Tasten reagieren.
 
*** Durch eine Fallunterscheidung kann man im Rumpf dieser Methode auf verschiedene Tasten reagieren.
 
** Die Klasse SPIEL bringt noch weitere hilfreiche Methoden mit.
 
** Die Klasse SPIEL bringt noch weitere hilfreiche Methoden mit.
 +
* '''Die Klasse SOUND'''
 +
** Einfachstes Einbinden von Audio-Dateien.
 +
** Start, Pause, Weiter, Stop, Endloswiedergabe
 +
** Auch mehrere Audio-Dateien gleichzeitig

Aktuelle Version vom 15. April 2015, 11:39 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:
    • Vererbung zu Beginn: Die Schüler erben sehr früh von vorgefertigten Klassen. Hierdurch können sie sehr viele sonst komplizierte Techniken einfach verwenden, ohne sich mit tehnischen Details herumzuquälen wie z.B. ...
    • 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
    • Von Lehrern ersonnene EDU-Klassen zum Realisieren von speziellen Ideen finden sich im Unterrichts-Bereich zum Download.

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.
  • Der dritte Schritt ist bereits die einfache Anwendung Vererbung um weitere vorgefertigte Features einfach benutzen zu können.
  • 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


Funktionsweise

  • Die Klassen RECHTECK, DREIECK, KREIS, BILD
    • Objekte davon erscheinen sofort nach Erzeugung 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 BILD
    • GIF-, JPG- und PNG-Dateien können sehr einfach dargestellt werden.
    • Die zur Verfügung gestellten Methoden entsprechen denen der Alpha-Formen.
  • 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.
  • Die Klasse SOUND
    • Einfachstes Einbinden von Audio-Dateien.
    • Start, Pause, Weiter, Stop, Endloswiedergabe
    • Auch mehrere Audio-Dateien gleichzeitig