[Squeak-ev] Praktische Fragen zu EToys

Klaus Füller klausf at schule.de
Die Dez 7 06:55:52 UTC 2004


Andreas Gerdes wrote:
> Klaus,
> 
> ich glaube, was  additionsToViewer etc. angeht, bist du auf der 
> squeak-dev-Liste besser aufgehoben - du schreibst ja selbst, du willst 
> einen Morph erfinden...
> 
> Ich hab grad mal selbst experimentiert. Einer eigenen Morphklasse einen 
> Slot hinzuzufügen, ist kein Problem, einer bestehenden Klasse eine neue 
> Viewer-Kategorie, auch nicht, aber da dann einen Slot oder einen Befehl 
> hineinzubekommen, geht nicht, jedenfalls nicht beim SketchMorph.
> Hm...
> 
>  > Das hängt mit der Sprachunterstützung zusammen.
> 
> Inwiefern? Was weißt du noch zu dem Thema?
> Kann hier jemand mal den Begriff Vokabular/EToy-Vokabular etwas näher 
> erläutern?
Ich habe das aus dem Archiv von Squeak-dev: 
http://lists.squeakfoundation.org/pipermail/squeak-dev/2002-June/040953.html
> 
> Zu deiner letzten Mail:
> 
>  >- Wie bekomme ich die Mausposition in einem Script?
> Playfield hat in der Viewer-Kategorie playfield die aktuellen 
> Mauskoordinaten.
Klar! Das Playfield weiß, wo die Maus steht!
...
> 
>  >   - Wie sorgt man dafür, dass Größenänderungen an die Submorphs
>  >     weitergegeben werden?
>  >   - Umgekehrt: Wie sorgt man dafür, dass ein Resize im Submorph an den
>  >     Besitzer weitergegeben wird ODER
> 
> Du musst wohl neue Morphklassen ableiten, die sich in ihrer Step-Methode 
> entsprechend verhalten.
Das habe ich inzwischen gemacht. Ich veranlasse bei den Kindern einen 
entsprechenden resize
> Oder aber du befasst dich mit layoutPolicy/Tablelayouts (z.B. im Menü 
> eines Rechtecks, gibt ein Tutorial dazu auf Squeakmap), vielleicht 
> reicht das ja schon?
Das muss ich mir noch genauer anschauen.

>  >wie sorgt man dafür, dass man einen Submorph nicht selektieren kann.
> 
> Schwierig - selektieren von Morphs explizit zu verbieten... ist 
> irgendwie nicht squeaklike - ALLES in Squeak lässt sich selektieren, 
> inspizieren, kopieren -
Das muss ich berücksichtigen. Ich habe aber herausgefunden, dass ich bei 
dem eingebetteten Morph nur dafür sorgen muss, dass #containsPoint immer 
false zurückgibt. Ich brauche das für eine Physik-Simulation. Dort sind 
die Koordinatenachsen aneinander gekoppelt und man sollte eine Achse 
nicht isoliert drehen können.
> 
> 
>  >- Wenn ich Morphs zusammensetze: Welche Koordinate verwende ich?
>  >     Offensichtlich verwendet man in drawOn absolute Screenkoordinaten.
>  >     Wenn ich aber mit addMorph einen Morph hinzufüge, erscheint dieser
>  >     an einer 'position' relativ zur oberen linken Ecke des Morphs.
> 
> Das scheint nur so. Wenn du deinem Morph *keine* layoutPolicy zuweist 
> und ihn *vor* dem addMorph:xyz schon verschiebst, erscheint der neu 
> hinzugefügte xyz an 0/0 auf dem Screen.
> Im Morph-Protokoll geometry findest du alles, was du für 
> relative/globale Koordinaten brauchst.
Danke!
> 
>  >  - Wie kann ich eigenes Vokabular definieren? Ich will einen Morph
>  >    (z.B. "Koordinatensystem") definieren. Der soll "skalieren" u.ä.
>  >    "verstehen"
> 
> Zuerst mal geht's doch darum, eine *Message* "skalieren: faktor" zu 
> implementieren?
Das ist ja kein Problem. Ich kann den Morph leicht schreiben. Aber wie 
"redet" der mit dem Player / mit dem Viewer?
> 
> Schon mal Diego Gomez' Plotmorph probiert (bekommst du über 
> Weltmenü->Öffnen->SqueakMap-Packageloader)
Danke für den Tipp
> 
> Was hast du eigentlich vor?
> Willst du mit EToy einen Graph-Editor bauen? KRASS...
Eigentlich will ich Bausteine, die die Kinder zusammensetzen können, um 
beispielsweiese Säulendiagramme, "Tortendiagramme", ... zu konstruieren.
Außerdem "riecht" Squeak danach, dass man hier eine gute 
Geometriesoftware zusammenschreiben könnte.

Gerade eine Geometriesoftware darf nicht nur interaktiv sein. Die 
Schüler müssen auch eine Konstruktion eintippen können, die vom System 
dann ausgeführt wird.
> Mich würd auch interessieren, wo, mit welcher Altersgruppe etc. du 
> Squeak einsetzt.
Ich habe das bereits in der 12 eingesetzt. Da haben wir "normal" in 
einem Browser programmiert.  Jetzt will ich es in der 7 einsetzen in 
einer Programmier-AG, in der viele Mädchen sind.

Viele der amerikanischen Beispiele sind mir zu simpel / zu sehr auf 
Grundschulniveau. Ich fange (morgen oder am Mittwoch nächste Woche) mit 
EToys an und verwende eine Auto-Simulation o.ä. Aber die Lerngruppe ist 
(zwar chaotisch aber) sehr interessiert und die Kinder werden schnell 
versuchen, mathematische Themen auf Squeak zu übertragen (ich bin auch 
deren Mathematiklehrer). Das ist auch meine Absicht. Ich möchte, dass 
sie sich in einem "Mathe-Land" bewegen und intuitiv lernen können.

Das bedeutet hier aber lernen auf höheren (PISA-) Niveaus. Es geht nicht 
um Rechentrainer o.ä.; es geht darum, Proportionalität oder Funktionen 
oder Statistik oder Geometrie zu "erfahren".

Die Beispiele, die ich auf Squeakfoundation etc finde, überzeugen mich 
nicht immer. Sie enthalten vom Konzept her noch zu viel des gleichen 
(zeichne einen Sketch und lasse ihn rumlaufen).