[Squeak-ev] Re: SqueakInf11-Schlager Anmerkungen

stepken stepken at web.de
Die Mar 13 14:18:55 UTC 2007


Hallo, Rita!
>> Achgottchen... erst imperative Programmierung und dann OO? Völlig 
>> falsche Reihenfolge, aus didaktischer Sicht, das versaut die 
>> Denkstrukturen.
>>
>> Z.B. werden zu Beginn immer Scheifen programmiert. Wozu gibt es das
>>
>> "foreach element in liste von Objekten machmalwasdamit ..." ... 
>> Iteratoren, wie in Squeak ETOYS auch. Du hast wegen Schleifen 
>> konstrukten Scratch eingeführt. Nur - man braucht sie einfach nicht, 
>> sie sind auch in OO-Programmierung unbedingt zu vermeiden ... Ich 
>> brauche mir nur OO-Code anzuschauen, und wenn ich da irgendwelche 
>> Zähl-Schleifen drin finde, weiß ich - Der Mensch hat OO überhaupt 
>> nicht verstanden - ein Grund, ihn/sie aus dem Team zu schmeißen ...
>>     
>
> Ja, das mag in Entwicklerteams so funktionieren. Ich weiß ja nicht, wie 
> viel Erfahrung du mit dem deutschen Bildungssystem hast, aber es gibt 
> Rahmenrichtlinien, an die sich der Lehrer halten muss und die in jedem 
> Bundesland wieder anders sind.
Jaja, wo ist das Problem? In 5 Minuten stelle ich die verschiedenen 
Schleifen vor, und danach alles nur noch mit Iteratoren....
> Du magst ja recht haben mit deinen 
> Ausführungen und das ist nicht die reine Smalltalk-Lehre, es geht ja 
> nicht darum, die Schüler alle zu Programmierern zu machen.
Warum eigentlich nicht? Smalltalk besteht aus 8 Konstrukten, ist eine 
sehr Semantik-arme Sprache, sehr einfach zu erlernen und beherrschen. 
Ich habe einer Freundin gerade Smalltalk und Squeak beigebracht, 
wohlgemerkt, die hatte noch niemals irgendetwas programmiert, und nach 3 
Stunden Einführung programmierte die mir, ohne daß ich half, einen 
Funktionenplotter, mit X-Y-Diagramm mit Beschriftung, Skaleneinteilung 
und ein wachelnder Bleistift zeichnet eine Sinuskurve.
> Die 
> Reihenfolge, in der Stoff behandelt wird, ist in den Rahmenrichtlinien 
> festgelegt (also, dass z.B. zuerst die Grundstrukturen drankommen). Und 
> das ist auch nichts Negatives. Hast du mal das Buch von Stephane Ducasse 
> (Squeak Learning Programming with Robots) gelesen?
Nein, kenne ich nicht. Danke für den Hinweis.
> Er führt da auch 
> wunderbar diese Grundstrukturen ein und das ist einfach etwas, was 
> Schüler in diesem Alter erfassen und verstehen können. Das ist doch der 
> Zweck der Programmiersprache im Unterricht, die Dinge, die man 
> programmiert, zu verstehen.
*lach* 300 Mannjahre Entwicklungsarbeit in Squeak und "verstehen"? Mir 
genügt es, wenn ich sie nutzen kann, Squeak durchforste und verstehe, 
was alles in Squeak steckt. Linke Maustaste - Neuer Morph - Nach 
Alphabet .... So stieß ich auf "Phonem Recognition". Gut eine Kachel 
gebaut, in Etoys, und nun steuere ich das Auto mit Sprache, "links", 
"rechts". Wenn man das mentale Modell von Squeak sauber verinnerlicht 
hat, also komplett OO-Denke drauf hat, ist die Programmiersprache 
Smalltalk eh ein Witz, weil sie der menschlichen Sprache sehr ähnlich 
ist. Wenn ich da zurück denke, mit C++ oder Java .... grausts mich. Ich 
sehe S# mit Vergnügen entgegen, überlege, ob ich nicht mal ein Projekt 
anstoße, Squeak und EToys auf S# zu portieren..... Aber S# ist doch sehr 
viel anders, als Smalltalk (Ihhh, Mehrfachvererbung....)
>
>> Geht alles mit Squeak ... Textverarbeitung, wo die Buchstaben sogar 
>> einen selbstgemalten Wasserfall herunterfließen ... Präsentationen? -> 
>> Schau Dir mal in OPLC 1111 + Updates den Ereignisrecorder oder
>>     
>
> Ich finde schon, dass Schüler auch mit herkömmlichen 
> Textverarbeitungssystemen umgehen können sollten.
*lach* Und nach 20 Stunden beherrschen die immer noch nicht das Rechnen 
im Text? In Squeak mache ich ein Fenster auf, tippe 34*0.57 und ALT-P 
... das Ergebnis steht dann da....Oder mit vielen Personen gleichzeitig 
*einen* Text editieren? In Squeak mache ich vom Textfenster einen Clone, 
laß den Strom in ein File laufen und parallel wird ein 2. File erzeugt, 
in denen die Absatz-Locks für die verschiedenen Instanzen gesetzt 
werden, die im Textfenster dann nicht editierbar sind...
Nun - dafür habe ich, nachdem ich den Morph erst einmal verstanden 
hatte, ca. 30 Minuten gebraucht.

Organisationen schaffen sich durch den Einsatz von minderwertiger 
Softwaretechnik (allen voran Microsoft) ja erst einen riesen Berg an 
Problemen, gegen die sie mit viel Geld und Einsatz sich wehren zu müssen 
glauben.

> Glücklicherweise heißt 
> das nicht mehr unbedingt, dass alle Word lernen, sondern bei guten 
> Lehrern schon, dass man die Grundprinzipien lernt und dann auch recht 
> schnell ein neues System bedienen kann.
>   
>>> 7. Klasse (im Moment eben auch 11. Klasse):
>>>
>>> Ablaufmodellierung, insbesondere die klassischen imperativen Strukturen.
>>>   
>>>       
>> Ich würde mich weigern, so etwas überhaupt noch zu unterrichten ...
>>     
>>> Im Prinzip z.B. eine Sache für eToys, denen bislang aber die Schleifen
>>> fehlten.
>>>       
>> dank Iteratoren ist nix mehr mit Schleifen. Gottseidank!
>>     
>>>  Scratch paßt hier wie die Faust aufs Auge.
>>>       
>> Es passt auf Deine mentalen Modelle, Deine Denkstrukturen. Nur - Deine 
>> Schüler werden versaut mit veralteten Denkweisen ... das hat keine 
>> Zukunft ...
>>     
> Du urteilst ganz schön hart.
Fakt, jederzeit belegbar. Das begründet z.B. auch, warum Smalltalk 
Seaside und Ruby on Rails so einen durchschlagenden Erfolg haben.
> Das mag aus deiner Sicht ja alles stimmen, 
> aber im Schulsystem kann man nicht machen, was man will, selbst wenn man 
> davon überzeugt ist, recht zu haben. Veränderungen erreicht man nur 
> schrittweise, frag mal die Leute, die das seit Jahren versuchen!
Kein Problem. Da maile ich einfach mal durch, wer mir Ansprechpartner 
nenen kann, die im Kultusministerien in den Gremien sitzen, und genau 
denen schreibe ich dann ein kleines Pamphlet, mit Codebeispielen, und 
dringenden Vorschägen zur Änderung .... nicht länger als 1 A4-Seite... 
und dann mal schauen, was passiert ... vielleicht noch in die F.A.Z., 
Süddeutsche ... Medien aufmerksam machen ...
> Man 
> muss sich da mit Beamten auseinandersetzen, die den Kern des Problems 
> gar nicht erfassen.
Das läßt ich in wenige Worte packen.
>  Es wird an verschiedenen Stellen versucht, Smalltalk 
> und Squeak in die Schulen zu bringen und das ist eine Sysiphos-Arbeit.
Jepp.
>  
> Es ist ein Wunder, dass noch nicht alle aufgegeben haben. Wenn man dann 
> noch kommt und alles umwerfen will, weil es veraltet ist und keine 
> Zukunft hat, braucht man entweder einen Schulleiter, der einem freie 
> Hand lässt (was wohl kaum vorkommen dürfte), oder eine Privatschule, in 
> der man sich zwar auch an die Vorgaben der Rahmenrichtlinien halten 
> muss, aber viel mehr Gestaltungsspielraum hat oder man kann gleich 
> einpacken. Also versucht man es "durch die Hintertür", orientiert sich 
> an den Vorgaben und benutzt alternative Software.
>   
Naja, an das Curriculum muß man sich wohl halten ... wo man aber die 
Schwerpunkte setzt, bleibt Lehrern überlassen. Meiner Meinung nach 
scheitert es an vernünftig ausgearbeiteten Unterrichtseinheiten für 
Smalltalk/Squeak, und genau daran schreibe ich auch mit ...
>>>  Von der Modellierung
>>> her propagieren die Schulbücher an dieser Stelle Struktogramme - ich
>>> selber finde Flußdiagramme 'besser'.
>>>   
>>>       
>> Typisch für Menschen, die OO noch nicht so verinnerlicht haben ... 
>> Ereignisse (Events) Nachrichten, Methoden .... wie willst Du das mit 
>> Flußdiagrammen überhaupt darstellen?
>>     
> Ich weiß es aus eigener leidvoller Erfahrung, wie lange es dauert, ehe 
> man das verinnerlicht hat, ich bin noch nicht an dem Punkt, dass ich 
> sagen würde, ich habe es vollkommen verstanden.
Was ist daran schwer zu verstehen? Du stehst morgens vor dem Spiegel 
(nehme ich mal an) und schminkst Dich, weil Du als Objekt dich selber am 
besten kennst. Schminkte ich Dich, so wie es bei 
imperativen/prozeduralen Programmiersprachen üblich ist, würde ich (in 
üblicher Prozedur malend) danebenmalen, wenn Du den Mund öffnetest, 
gähntetest. Du aber weist, wann Du gähnen mußt, und unterbrichst das 
Schminken. Daher kommuniziere ich nur meinen Wunsch, Dich geschminkt zu 
sehen, und Du als Objekt beherrst die Methode Schminken selber.
Ähnlich mit Squeak und Animierten Männchen. Man schmeißt in einen 
Behälter verschiedene Kostüme hinein, und ein Objekt zieht sich über 
Iteratoren "kostümiere Objekt am Zeiger" die aus der Kleiderkammer vom 
Verwalter herausgegebenen Kostüme an.

Das kann man alles wunderbar in einfachster deutscher Sprache 
formulieren. Smalltalk/Squeak - dahinter steckt ja gerade genau das 
mentale Modell, welches man tagtäglich überall in der Welt, im Alltag 
beobachten kann. Und Smalltalk ist menschliche Sprache, siehe Chomsky.

Klassen kann man mit Bauplänen für S-Klasse Merzedes vergleichen - der 
in der Garage liegt, und erst dann Platz wegnimmt, wenn eine Instanz 
gebildet wird, also ein Auto aus der Fabrik vom Band läuft ...überhaupt 
- Objekte werden in Fabriken (factories) generiert ... Der Button "Neuer 
Morph" ist eine solche Fabrik ....

> Und so geht es natürlich 
> jedem Lehrer.
Nö. Du hattest vermutlich selber keine guten OO-Lehrer ... schade. Ich 
hoffe, ich werde mal einige Weisheiten meiner Lehrer weitertragen können 
...
> Das ist für mich das Hauptproblem, zu vermitteln, was das 
> Besondere an Squeak und Smalltalk ist, eben weil es so anders ist als 
> alle anderen Sprachen und Werkzeuge.
Squeak und Smalltalk sind normal, alles andere ist "unnormal".
>  Es wird als "Spielzeug" abgetan, 
> egal ob ich Etoys oder Botsinc mache.
>   
Botsinc muß ich mir mal anschauen, danke für den Hinweis....
> Und dann  geht es in der Schule eben nicht nur um die eine 
> Programmiersprache, sondern um Modellierung, da hilft eine Vielfalt, um 
> abstrahieren zu lernen.
>   
Squeak ist insgesamt ein "Modeller", nix anderes. Nur - ich habe 
verschiedenste Objekte, die ich modellieren und beeinflussen kann... So 
kann ich z.B. den Paketbrowser oder Refactoring - Editor auch noch 
animieren - ebenso, wie das Schachbrett und die einzelnen Figuren, die 
sich drehen, wenn ich Schach spiele ... perfekter kann OO doch garnicht 
erklärt werden!!!!!!!!!!
> Ja, schön, wenn du denn OO-Datenbanken nimmst.
Öffne doch einmal diese ominöse "Book" (Buch) (nicht den veralteten 
Karteikasten, der ist kapputt), Male ein paar Felder mit Beschriftung 
(diese mit rotem Halo verankern) drauf - gehe im roten Halo auf 
"Buchergänzungen->als Prototyp speichern" und fertig ist die 
OO-Datenbank. Die Struturen kannst Du jederzeit ohne Datenverlust und 
irgendwelche Datenbank - Kenntnisse verändern. Anlernzeit - 10 Minuten. 
Dann kann jeder sich seine eigene Datenbank bauen, Grafiken, Musik, 
Powerpoint-Präsentationen einladen, u.s.w. Auch ein OO-Server ist 
anschließbar womit viele gleichzeitig auf die Datenbank zugreifen 
können. Und wenn Du noch willst, machst Du dir einen Button, der dann 
das Mailprogramm in Squeak startet, und Serienmails raushaut. Das ist 
doch Kinderkram!!!!!!!!
>  Du kannst aber nicht auf 
> einen Schlag alles Bekannte abschaffen und durch komplett Neues 
> ersetzen.
Doch, ich kann. Schon mal Zope (Plone) angeschaut? Alles rein OO-mäßig 
implementiert. Ich brauche ungefähr 10 Minuten, dann habe ich eine 
OO-Datenbank mit Eingabefeld, Suchfenster und Listenausgabe für's 
Internet fertig!!!!!!!!!!! Ohne irgendwelche Datenbankkenntnisse.
>  Er-Diagramme sind wieder eine Methode, Zusammenhänge zu 
> veranschaulichen und was ein Schüler z.B. dabei lernt, ist Modellierung.
>   
Wer braucht denn das überhaupt noch, angesichts OO-Datenbanken ud 
Fulltext - Index? Googles Technik mit fast 0!!! - Suchzeit in Pentabyte 
großen Datenbanken ist doch super erfolgreich. Dahinter steckt einfach 
nur - Glimpse. Siehe auch TRIES. Jeder Suchstring wird in fast 0 
Suchzeit in beliebig großen Datenbeständen gefunden. Microsoft hat 
Fulltext Indizes in seinem Scheiß SQL 200x Server ja auch erst seit 1.5 
Jahren, mit einem Service Pack heimlich eingeführt, und das Locking mit 
MVCC kann Microsoft ja auch erst sein SQL 2007. Nur - die Datenbank - 
Techniker und Programmierer haben es einfach noch nicht gerafft, wie 
viel einfacher die Programmierung dadurch wird ... mal abgesehen davon, 
daß nur sehr wenige Datenbanken Fulltext im Betrieb indizieren können.
> Noch ein bisschen Kontext: ich unterrichte Lehrer (berufsbegleitend) an 
> der Uni, habe es geschafft, dass sie auch Squeak-Etoys kennen lernen und 
> einige setzen es sogar im Unterricht ein. Ich habe auch schon selbst 
> Schülerkurse mit Etoys gemacht. Selbst bin ich Informatikerin und 
> befasse mich seit einiger Zeit etwas mit Informatik-Didaktik.
>   
Damit beschäftige ich mich auch schon seit längerem ....
> Viele Grüße,
> Rita
>   
Viele liebe Grüße, Guido Stepken