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