[Squeak-ev] Re: SqueakInf11-Schlager Anmerkungen

stepken stepken at web.de
Mon Mar 12 15:27:33 UTC 2007


> Der Grund, warum ich auf Smalltalk gestoßen bin, sind zwar die eToys,
> aber die sind in der Unterstufe relevant. Dort lernen die Schüler (bei
> mir mittlerweile mit Scratch) die Grundstrukturen imperativer Programme.
> In Klasse 10 soll dann das objektorientierte Paradigma im Mittelpunkt
> stehen, und Squeak bietet in meinen Augen die schöne Möglichkeit, hier
> das Innenleben des aus der Unterstufe vertrauten Werkzeugs zu erkunden.
> Deshalb probiere ich das dieses Jahr aus.
>
>   
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 ...
> Was ich gerne wüßte - eine Frage an die produktiv arbeitenden Squeaker:
>
> Wie sieht der typische Workflow bei GUI-Programmierung in Squeak aus?
*lach* Hmm, mir scheint, daß Du versuchst, "imperatives/prozedurales" 
Programmieren in reine OO-Denke hinein zu tragen ... In XING ist ein 
interessanter Thread , schon was älter über "Angestaubtes Smalltalk" ...
>   
> Baut ihr GUIs üblicherweise via Maus aus Morphen zusammen und erzeugt
> daraus dann irgendwie neue Klassen, oder ist der typische Weg doch der,
> alles quelltextorientiert im Browser zu konzipieren? (Nach Erlernen der
> Grundkonzepte, sollen die Schüler schließlich ein 'typisches' Projekt
> umsetzen.)
>   
Ich schreibe mir alles mit reinem Smalltalk zusammen, und wenn das 
Objekt auf dem Schirm erscheint, gehe ich in Neuer Morph-> in Datei 
speichern, lege ihn außerhalb des Images ab, oder ziehe ihn in eine neue 
Flap hinein ...findest Du im OLPC Image 1111 + Updates unter Objekte -> 
Connectoren. Die .morph - Objekte kannst Du dann auch in andere Images 
hineinziehen. Z.B. haben wir mal Autorennen gemacht, mit 4 Personen, 
jeder hat sein Auto konstruiert, welches andere Auto's auf einer blauen 
Fahrbahn überholen können soll, natürlich vorausschauend und 
kollisionsfrei ;-) Was great fun ....
> Warum ausgerechnet Squeak 3.9:
>
> Die eToys sind hier nur eine Randerscheinung. Die Ablaufmodellierung soll
> in einer typischen Programmierumgebung erprobt werden, also geht es um
> Smalltalk.
Nun, Du kannst Dir ja den Code anschauen, welcher ein Morph erzeugt hat, 
und dann "händisch" weiter programmieren ... so wie Du die Squeak - Uhr 
ja kopiert hast, und dann veränderst ...
>  Soviel ich auf den Mailinglisten gelernt habe, sind dafür die
> images von squeak.org 'zuständig'. Abgesehen davon bin ich zu wenig
> Fachmann, um die Qualitäten verschiedener images wirklich würdigen zu
> können.
>   
Hmmm, das OLPC - Image z.B. hat eine "repeattimes" - Kachel, da hättest 
Du dann wohl Deine Schleifen ... Was eigentlich kann Scratch nun besser 
oder mehr als ETOYS? Mir erscheint es nur "hübscher" ...
> Unterrichtlicher Kontext:
>
> Das große Thema in den vier Unterrichtsjahren heißt Modellierung unter
> objektorientierten Vorzeichen. Was die Schüler lernen sollen, ist
> übersichtliche und strukturierte Darstellung von 'Information'. Kurz
> gesagt, ist das wichtigste der Umgang mit verschiedenen Formen von
> Diagrammen und die Erkenntnis, daß diese ein richtig wertvolles Vehikel
> sind. Alles was mit Rechnern zu tun hat (also z.B auch das Programmieren)
> ist ein *Neben*produkt des Unterrichts.
>   
Wo sind da die Erfolgserlebnisse?
> Immer vorausgesetzt, daß die Schüler überhaupt qualifiziertes
> Lehrpersonal haben, lernen sie:
>
> 6. Klasse (bislang 10. Klasse):
>
> Klassen und Objekte. Dazu gehört ganz massiv (vereinfachtes) UML, an sich
> auch Datenkapselung (wie von Dir angesprochen) und das
> Nachrichtenkonzept). Umgesetzt wird das (in meinen Augen eher
> ungeeigneterweise) mit Vektorgraphiken, Textdokumenten, Präsentationen
> und Hypertext.
>
>   
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
> 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 ...
>  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?
> 9. Klasse (ab 2007/8):
>
> Datenflüsse und Datenmodellierung, insbes. auch ER-Modell und Datenbanken
>   
Auweia. Entity-Relationship - Diagramme ... bei OO-Datenbanken, siehe 
Magma völlig überflüssig ...
> 10, Klasse (ab 2008/9, im Moment auch noch 11. Klasse):
>
> OOM und OOP, mehr 'M' als 'P'. Konkrete Umsetzung steht noch aus.  (Wer
> Smalltalk propagieren will, kann gern die Schulbuchverlage anbohren.)
>
> Wesentliche Grundkonzepte sind den Schülern, für die das Tutorial
> gedacht ist, also bereits vertraut (etwas das Objekt-Konzept). Zudem gibt
> es im Unterricht auch einen Lehrer, der den roten Faden etwas ziehen kann.
>   
Java ist gegen Smalltalk völlig frustrierend ... Ruby, Python gehen auch 
noch, und dann hört es schon auf ... alles andere ist meiner Meinung 
nach völliger Schrott. Wenn ich noch an meine C++ - Kurse denke, die ich 
gehalten habe ... da mußt Du oft erst 2 A4 - Seiten tippen, um endlich 
die Datenmodelle so zu haben, wie Du sie brauchen kannst, siehe STL, und 
in Smalltalk brauche ich 3 Zeilen ...
> Ein Vergleich mit anderen Programmiersprachen ist in dem Kontext
> bedeutungslos, weil das hier für die Mehrheit der Schüler die erste
> Sprache ist, die sie überhaupt lernen.
Umso besser. Es wird Zeit, daß die neue Generation auf Smalltalk 
umsteigt ... Exupery ist ja auch ein Smalltalk - Maschinencode - 
Compiler, der schon recht fix läuft, aber noch in Entwicklung ist ... 
Speed ohne Ende.

 > Squeakspezifische Spezialtricks
> sind auch sekundär, da die Schüler primär 'typische' Dinge lernen
> sollen.  Freilich sind sie ein wenig das Salz in der Suppe, aber an der
> Stelle muß ich auch offen erklären, daß ich die wenigsten selbst kenne.
> Squeak eröffnet sich mir auch erst nach und nach. (Da geht es unter
> anderem auch noch um so Probleme wie sich nicht mehr öffnen oder
> speichern lassende Projekte - 'Unterricht in Echtzeit' ;-) )
>   
Verschachtelte Projekte? Ich habe für Unterricht immer schittweise ein 
Projekt sauber vorgemacht, sodaß der Schüler an jeder Stelle neu 
einsteigen kann....

Viele Grüße, Guido