[Squeak-ev] Re: SqueakInf11-Schlager Anmerkungen

Rita Freudenberg rita at isg.cs.uni-magdeburg.de
Die Mar 13 15:53:30 UTC 2007


stepken wrote:
> 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....
Es dauert viel länger, Schüler mit der Idee einer Schleife vertraut zu 
machen, als man glaubt. Es wäre sicher leichter, wenn sie schon alle in 
der Grundschule mit Etoys hätten arbeiten dürfen. Jedenfalls ist das 
eine Grundannahme, die nur leider schwer zu belegen ist.
>> 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"? 
Ich rede ja nicht davon, dass sie Squeak als System verstehen. Ich 
meine, sie sollen das Problem, das programmiert werden soll, verstehen. 
Natürlich bin ich der Meinung, dass Squeak dafür ein ideales Werkzeug 
ist, eben wegen der Vorteile der Semantik, die du oben angesprochen 
hast. Aber es existiert ein Pool an Informatik-Aufgaben, die sich im 
Laufe der Jahre angesammelt haben und die sozusagen immer als Maßstab 
dienen. Wenn man diese üblichen Aufgaben mit einer Programmiersprache 
umsetzen kann, dann ist die Sprache gut geeignet. Das war mein größtes 
Problem in meinem ersten Squeak-Kurs (also Smalltalk), passende Aufgaben 
zu finden. Ich habe Mark Guzdials Buch benutzt, ich musste es ja selber 
alles lernen. Und da ist es eben in den Augen der Lehrer schon ein 
Manko, dass man sich nicht sofort eine Oberfläche zusammenklicken kann. 
Dass man eine viel größere Flexibilität hat, wenn man selber bestimmen 
kann, wie die Interaktionsobjekte aussehen, wird nicht als 
erstrebenswerter Vorteil für die Schule wahrgenommen.
Es gibt da auch so eine Abwehrhaltung, da kommt jemand und behauptet, 
das, was man selber macht, wäre schlechter, also Java ist schlecht und 
Delphi, das verteidigen die Lehrer dann natürlich. Und es ist schon 
einfacher, Smalltalk zu programmieren, wenn man vorher nichts anderes 
gemacht hat, als wenn man z.B. von Delphi kommt. Und die zur Zeit im 
Schuldienst befindlichen Lehrer kennen alle eine Programmiersprache und 
das wird bei den wenigsten Smalltalk sein.
Die Vorgehensweise, sich das System zu erschließen, indem man es 
durchforstet, ist auch völlig ungewohnt. Hier ist es ebenfalls 
schwierig, zu vermitteln, dass gerade das ein revolutionärer Ansatz ist. 
Es wird nichts versteckt, ich kann mir alles ansehen und sogar das ganze 
System ändern, wenn ich will. Wahrscheinlich fehlt für ein solches 
System das didaktische Konzept für die Lehrer. Das muss genauer 
ausgearbeitet sein, am besten mit Unterrichtsbeispielen und allem drum 
und dran. Eigentlich müssten wir die BotsInc-Umgebung ins Deutsche 
übersetzen, ich könnte mir vorstellen, dass man damit diese 
Vorgehensweise gut lernen kann.

> 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....
Hm, ist Rechnen im Text denn das Kriterium? Ich weiß, wie einfach das in 
Squeak geht. Vielleicht fehlt mir da selber noch das Verständnis, aber 
einen Brief würde ich in Squeak nicht schreiben. Das muss aber heute 
fast jeder, der sich irgendwo bewerben will. Und ich finde es 
erschreckend, dass den meisten völlig fremd ist, dass man einen Text 
strukturieren kann. Aber eigentlich hoffe ich auch, dass sowas 
irgendwann nicht Inhalt von Informatik ist sondern von den Fächern, für 
die die Texte geschrieben werden müssen.

> 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 ...
Da wünsche ich dir viel Erfolg, wirklich, es wäre schön, wenn es 
gelänge, einflussreiche Leute von Squeak zu überzeugen. 
>> Man muss sich da mit Beamten auseinandersetzen, die den Kern des 
>> Problems gar nicht erfassen.
> Das läßt ich in wenige Worte packen.
Das Problem dabei ist, die Relevanz zu erkennen. Wenn du das mit wenigen 
Worten sagen kannst, dann würde ich mich freuen, wenn du mir einen 
kurzen Abschnitt schicken könntest. Ich komme hin und wieder in die 
Lage, Squeak Leuten vorzustellen, die es zu überzeugen lohnt.
>>  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 ...
Das ist gut. Wenn ein Lehrer ein Lehrbuch vorliegen hat, auf deutsch 
natürlich, dann ist das schon die halbe Miete:)
>>>>  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 ...
Ich habe den besten OO-Lehrer, den man sich vorstellen kann, direkt 
zuhause ... Trotzdem hat es eine ganze Weile gedauert, bis es bei mir 
"klick" gemacht hat und dann waren mir einige Dinge plötzlich klar. Die 
ich schon öfter gelesen und gehört hatte, aber richtig "kapiert" eben 
nicht. Und um dieses "klick" kommt man nicht drumrum, wenn ich das bei 
denjenigen erreichen könnte, die ich unterrichte, dann hätte ich mein 
Ziel erreicht. Dann hängt es sicher noch am Durchhaltevermögen des 
Einzelnen, an Material und Möglichkeiten ind er Schule.
>
>> 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
>
>