EOS - eine einfache objektorientierte Programmiersprache
für Schüler ab Jahrgangsstufe 6

Programmierung: Martin Pabst (Descartes-Gymnasium Neuburg/Donau)


Der Anlass für die Entwicklung von EOS war das Inkrafttreten des neuen Lehrplans für das Fach Natur und Technik an bayerischen Gymnasien, der im Fachteil Informatik vorsieht, den Schülern den Umgang mit Standardsoftware unter Berücksichtigung objektorientierter Denkweisen zu lehren. Dabei sollen die Begriffe "Objekt", "Attribut" und "Methode" eingeführt werden.
Bisher existierte keine objektorientierte Programmiersprache, die speziell an Schüler der unteren Klassenstufen (6 - 9) angepasst ist. EOS füllt diese Lücke. Die Konzepte, die hinter EOS stehen, lassen sich am besten anhand eines Beispiels erläutern:

r:RECHTECK
f:FENSTER

f.zeichne(r)

r.verschieben(50,0)
r.FüllfarbeSetzen(gelb)

wiederhole 100 mal
   r.verschieben(-1,-1)
*wiederhole
In der ersten Zeile wird eine Variable r vom Typ RECHTECK deklariert. Gleichzeitig wird ein Objekt vom Typ RECHTECK intanziiert und r zugewiesen. Anweisungen wie r := RECHTECK.create() sind also überflüssig. Sobald die Variable r deklariert ist, "gibt" es auch das Objekt. Ebenso verhält es sich mit dem Fenster, das unmittelbar nach Abarbeiten der Anweisung f:FENSTER auf dem Bildschirm erscheint.
f.zeichne(r) registriert das Rechteck r beim Fenster f. Ein Repräsentant des Rechtecks erscheint gleich darauf in diesem Fenster. Jede Änderung der Attribute von r bewirkt sofort auch eine entsprechende Änderung des Repräsentanten im Fenster.
Sobald die Methode r.verschieben(50,0) ausgeführt wird, verschiebt sich also das im Fenster sichtbare Rechteck um den Vektor (50,0), also 50 nach rechts.
Ebenso ist die Wirkung der Befehle r.FüllfarbeSetzen(gelb) und r.verschieben(-1,-1) sofort sichtbar.
Der Befehl r.verschieben (-1,1) wird 100-mal wiederholt.

Screenshots:
Leeres Fenster Fenster mit Rechteck
Nach dem Befehl f:Fenster wird sofort das Fenster geöffnet.
Der Befehl f.zeichne(r) registriert das r beim Fenster. r wird fortan im Fenster gezeichnet.
Das Rechteck wurde verschoben
Rechteck wurde gelb
Die Methode r.verschieben(50,10) verschiebt r um 50 Bildpunkte nach rechts.
r.FüllfarbeSetzen(gelb) setzt das Attribut Füllfarbe von r auf gelb.

Wichtige Konzepte von EOS: