• Die hier angebotenen Unterrichts-Materialien setzen die NEUE Version 3.2 vom April 2017 voraus. Bitte laden Sie alle Projekt-Vorlagen neu herunter !!!
  • Lieb gewonnene, ältere Materialien finden Sie derzeit noch auf der Schüler-Ansicht.


Das didaktische Konzept

  • Die Engine Alpha setzt auf frühe grafische Erfolge durch frühe Anwendung von Vererbung und Referenzen. Das macht den Code am Anfang kürzer und übersichtlicher.
  • Die zweite Energie-Quelle der Lernenden ist die eigene Kreativität nicht nur in der Code-Gestaltung, auch im gestalterischen und musischen Bereich.
  • Durch das vorliegende Material kann bei den Lernenden eine maximal Binnen-Differenzierung statt finden und Eigenaktivität gefördert werden.
  • Die Engine Alpha bewährt sich seit fast 10 Jahren und wird stetig nach den Bedürfnissen der Lernenden weiter entwickelt und um Lern-Material bereichert.


Unterrichtsmaterial

Die Unterrichtseinheiten, welche auf der Web-Präsenz zu finden sind, stellen erprobte und bewährte Sequenzen dar, welche von unterschiedlichen Lehrern ersonnen und angefertigt wurden und stetig weiter entwickelt werden.

  • Es gibt ein durchgängiges Unterrichtskonzept, das versucht, den Lehrplan der 10. Jahrgangsstufe des bayerischen Gymnasiums linear abzudecken.
  • Ein neueres, modulares Konzept unterstützt ein relativ freies, kreatives Vorgehen, bei dem nach einem knappen Start-Skript die restlichen Inhalte in nahezu beliebiger Reihenfolge behandelt werden können.
  • Ein dritter, ganz neuer Ansatz verfolgt das Physical Computing mit dem Arduino auf JAVA-Basis.


Urheberrecht

Das Unterrichtsmaterial von Michael Ganshorn unterliegt prinzipiell dem Urheberrecht.

Der Autor gesteht allerdings folgende Rechte ohne weitere Nachfrage zu:

  • Absolut jeder darf das Unterrichtsmaterial für den persönlichen Gebrauch unentgeltlich verwenden.
  • Jeder Lehrkraft einer staatlichen oder staatlich anerkannten Schule steht es frei, die Unterrichtsmaterialien ihren Schülern unentgeltlich zur Verfügung zu stellen. Voraussetzung hierfür ist ein Verweis auf unsere Web-Seite (engine-alpha.org).
  • Jede darüber hinausgehende kommerzielle Verwendung des Unterrichtsmaterials oder auch Teilen davon z.B für Verlage / Autoren bedarf einer ausdrücklichen Genehmigung durch den Autor, die bei Interesse gerne individuell ausgehandelt wird.

Bei Verstößen behalte ich mir rechtliche Schritte vor!


Beispielprojekte

Hier eine kleine Auswahl von älteren, angeleiteten Projekten:


FAQs

Wo gehobelt wird, da fallen Späne. Deshalb ereignen sich immer wieder einmal Situationen, in denen die Engine-Alpha (vermeintlich) nicht richtig funktioniert. Für die häufigsten "Probleme" haben wir hier die Lösungen zusammen getragen.

Wie finde ich die Version der verwendeten Engine-Alpha heraus?

Doppel-klicken Sie auf die engine.alpha.jar. Es sollte ein Fenster erscheinen mit der Versions- und Build-Nummer. Wenn kein solches Fenster erscheint, versuchen Sie es mit Rechts-klick und "öffnen mit". Wählen Sie Java Runtime. Sollte auch das nicht klappen, so verwenden Sie eine sehr alte Version!

Das Grafik-Fenster bleibt schwarz

Ich erzeuge ein Objekt, das eigentlich im Grafik-Fenster angezeigt werden sollte, aber es erscheint nicht. Ich sehe nur in BlueJ die entsprechende Objekt-Karte.

Starten Sie die Java-Virtual-Machine neu. Klicken Sie hierzu in BlueJ mit der rechten Maus-Taste auf den schraffierten Balken (links unten) und anschließend mit der linken Maus-Taste auf das erscheinende Fähnchen.

Ich erhalte ständig unerklärliche NullPointerExceptions

Immer wenn ich mein Spiel starte werden in der BlueJ-Konsole NullPointerExceptions angezeigt. Oft bleibt das Spiel stehen, bevor es eigentlich beginnt.

Der Grund ist in der Regel die Verwendung der EDU-Klasse SPIEL. Diese startet den Ticker sofort nach der Initialisierung. Wenn Sie viele Objekte im Konstruktor Ihres Spiels erzeugen, dann werden diese möglicherweise in der Methode tick() angesprochen, bevor sie erzeugt wurden. Schreiben Sie im Konstruktor Ihrer Klasse als zweiten Befehl (nach Aufruf des Super-Konstruktors) den Befehl tickerStoppen(). Arbeiten Sie nun Ihren Konstruktor ab wie bisher. Als allerletzten Befehl im Konstruktor Ihres Spiels schreiben Sie tickerNeuStarten(...). Ersetzen Sie die Punkte in den runden Klammern durch einen Intervall-Wert in Millisekunden.

Einige Grafik-Objekte reagieren nicht / falsch auf Methodenaufrufe

Der Compiler meldet keine Fehler und ich finde auch keine Logik-Fehler. Methoden-Aufrufe zum Ändern / Anzeigen der Farbe, Größe, des Mittelpunkts etc. haben anscheinend keine Wirkung.

Sie verwenden vermutlich EDU-Klassen, rufen aber (geerbte) Methoden der Core-Engine auf. Wegen der unterschiedlichen Art der grafischen Darstellung sind diese beiden Varianten nicht kompatibel zueinander. Achten Sie peinlichst genau auf die Syntax: nenne...() und setze...(...) sind die einzig funktionierenden Methoden-Aufrufe der Edu-Variante. Ähnlich lautende Aufrufe wie set...(...), get...(), farbeSetzen(...) usw. gibt es leider in der Vererbungs-Hierarchie. Sie zeigen aber in der EDU-Variante keine Wirkung.

Vererbung ganz am Anfang - geht das gut?

JA, aus tiefster Überzuegung und jahrelanger Praxis heraus JA! Wenn ich von VOGEL erbe, bin ich ein Vogel und deshalb kann ich jetzt einfach fliegen - ich habe die entsprechende Methode nämlich mit geerbt. Haben Sie schon einmal Kindern beim Spielen zugesehen? Kinder besitzen so viel Pahtasie, dass sie ganz selbstverständlich fliegen können, wenn sie VOGEL spielen. Nutzen Sie einfach die kindliche Naivität aus. Kinder denken weit weniger kompliziert als Erwachsene und kommen gar nicht auf all zu komplizierte Fragen rund um die Vererbung (auch wenn sie sonst vieles hinterfragen).

Kontakt

Hinter dem Unterrichts-Konzept mit der Engine-Alpha steht mittlerweile eine sehr aktive Gemeinde von Lehrern, Studenten und Schülern. Interessierte Lehrer können sich wenden an:

OStR Michael Ganshorn
Adalbert-Stifter-Gymnasium Passau
mike underscore gans at yahoo dot de