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.
- 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