Hallo Jens,
On Mon, 21 Nov 2011, Jens Mönig wrote: [...]
Markus, die Idee "Nachrichten" nicht nur "an alle" senden zu können, sondern auch an einzelne Sprites, ist vielleicht nicht wirklich das, wonach Du suchst. Ich glaube, dass hier die Nomenklatur "Nachrichten" dem Missverständnis Vorschub leistet, dass das irgendwas mit "message passing" à la Objektorientierung zu tun hat. In Wahrheit sind Scratch-Nachrichten wohl eher Ereignisse (events), denn es können z.B. auch keine Argumente mitgegeben werden. Gleiches gilt für Scratch-Skripte, die m.E. keine Methoden iSv Smalltalk sind, sondern eher "Event-listeners". Scratch ist nicht objektorientiert, dazu fehlt es an Vererbung und eben an Message Passing, und man müsste sich schon ziemlich verbiegen, Objektorientierung anhand von Scratch zu lehren. Gleiches gilt - glaube ich zumindest - auch für Etoys.
Lehrer sind flexibel - das mit dem Verbiegen klappt in diesem Fall ganz gut... ;)
Ich selber benutze Scratch und Etoys jedenfalls tatsächlich zur Hinführung zum objektorientierten Denken. In Etoys zumindest habe ich dabei sogar das Gefühl, Vererbung zu nutzen, wenn ich mir für das Objekt, das ich brauche, etwas möglichst passendes aus dem Lager suche und dem dann zusätzliche Skripte und Variablen beibringe. Daß Scratch z.B. im eigentlichen Sinn gar nicht objektorientiert ist, tut mir dabei nicht weiter weh. Was die Kinder mit den Sprites vor sich haben, sind zumindest in einem naiven Sinn Objekte, die etwas tun können.
Was die Schüler in der 7. Klasse dabei lernen sollen sind zum einen algorithmische Denkweisen, die sich in den Skripten widerspiegeln, zum anderen aber, daß man einem Objekt etwas sagen muß (eine Nachricht schicken/eine Methode aufrufen), damit es etwas tut. Da kann ich mir in Scratch mit dem "sende an/wenn ich erhalte" zumindest angenehm einfach hinbasteln und bin, ehrlich gesagt, auch glücklich. Fehlt mir nur, daß ich events auch gezielt für einen bestimmten Sprite auslösen kann.
(Lernen sollen die Kinder das Methodenaufrufkonzept eigentlich anhand von Objekten in Vektorgrafiken und Textdokumenten. Es geht da um Nachrichten der Art 'blauesRechteck.wechsleFüllfarbe(rot)'.)
Scratch und Etoys sind richtig feine Werkzeuge - und es tut mir aufrichtig leid, daß manche Informatiklehrer wie ich sie gnadenlos für unsere eigenen Zwecke bzw. die des Lehrplans mißbrauchen. (Das ist später mit BlueJ z.B. sicher auch nicht anders, vermute ich.) Es gibt momentan keine besseren Werkzeuge für den Unterrichtseinsatz - oder ich kenne sie zumindest nicht.
Markus