Etoys (4.1) ist ein geniales Werkzeug für den Anfangsunterricht in informatischer Bildung - es gibt nichts Besseres. Desgleichen Squeak 4.2 für den Informatikunterricht.
Möchte man Lehrer dafür begeistern und sie zu diesem Zweck auf die Homepage (cmsbox) schicken, werden sie jedoch enttäuscht. Denn vieles ist veraltet, die Verweise führen häufig ins Nichts, Projekte (z. B. Einsteigerprojekt, Grundschule St. Peter Düsseldorf u. a.) stürzen ab, die Tutorien verwenden eine veraltete Terminologie und überholte Bilder.
Das Schlimmste aber: es wird nicht zwischen Etoys und Squeak unterschieden. Dies ist aber neuerdings unbedingt nötig.
Kürzlich hatte ich die Freude, mit Enno zu sprechen (er wohnt in Nienburg, in der Nähe von Hannover). Ich verstehe ihn so, dass er sich für die Homepage einsetzen und aktiv werden will, aber auf eine Art Mandat wartet, einen expliziten Auftrag vom Vorstand bzw. der Squeak-Gemeinde, worin die Änderungen bestehen sollen.
M. E. sollte das Glossar dringend aktualisiert werden: - Veraltete Ausdrücke: "E-Zeuge zu steuern", "Smartie" usw. - "Malkasten" ist englisch PaintBox (nicht "PaintTool"). - Die Erläuterungen zu "Halo" sind schlicht falsch.
Es gibt noch eine Fülle weiterer Dinge, die sich leicht beheben lassen; andere machen tiefere Eingriffe nötig.
Ein Wunsch wäre auch, einige der vielen neueren Projekte (von EtoysIllinois und Squeakland) für deutsche Leser zu übersetzen und an hiesige Verhältnisse anzupassen.
Es müsste m. E. auch diskutiert werden, wozu diese Projekte überhaupt gut sind.
Vielleicht sollte man eine Arbeitsgruppe gründen, die sich die Aktualisierung der Homepage zum Ziel setzt.
R. Baumann
-- View this message in context: http://forum.world.st/Squeak-Etoys-Homepage-aus-dem-Dornroschenschlaf-wecken... Sent from the Deutsch (German) mailing list archive at Nabble.com.
Hallo!
Klar ist ETOYS genial für den Unterricht. Ohne Zweifel.
Ich möchte aber auch noch auf BYOB hinweisen:
Mir fällt immer wieder auf, dass der fliessende Übergang vom relativ restriktiven EToys Framework hin zur Smalltalk Programmiersprache aus pädagogischer Sicht schwer zu vermitteln bzw. zu realisieren ist.
So haben Jens Mönig und Brian Harvey es geschafft, dass der gesamte Smalltalk Code in Logikkacheln à la EToys angezeigt wird und veränderbar ist. Alle Objekte sind nun "First Class Objekte" wie z.B. Listen, Animationen, Prozeduren. Eine neue, logisch faszinierend durchgängige Welt der objektorientierten Programmierung wurde hier geschaffen .... Selfhosted sozusagen ... das Framework der mit der Maus umher zu schubsenden Logik- und Objektkacheln ist in sich selber veränderbar, indem es sich selbst als Logik- und Objektkacheln anzeigt. Tatsächlich jedoch steckt dahinter Smalltalk Source, der sich unmerklich dabei mit verändert, was jedoch nicht verhindert, daß man in Smalltalk selber etwas verändert - die Logikkacheln passen sich an.
Dieses Framework wäre es IMHO Wert, auch auf Squeak 4.2 oder Pharo portiert zu werden... Es ist von ETOYS und Scratch unabhängig ...
Viele liebe Grüße, Guido Stepken
Hallo Guido,
auch Byob ist zweifellos ein starkes Produkt. Nur hat es derzeit für die Schule keinerlei Relevanz. Seine entscheidende Schwäche ist insbesondere, dass man nicht zur textuellen Programmierung übergehen kann, also zeitlebens an die Kacheln oder Blöcke gebunden ist. Ersteres aber ist für die Schule unerlässlich, mindestens ab Klasse 10. Trotz Meister Modrow, der bis zum Abitur Blöcke stapeln will - das geht nicht! Programme sind Texte.
Hier liegt unter anderem die Stärke von Etoys: zu jedem Kachelskript kann sofort zur Textversion des Skripts übergegangen werden. So gewöhnt sich der Schüler in einem behutsamen Übergang Schritt für Schritt an textuelles Programmeren.
Mit Etoys wird es möglich sein, den Informatikunterricht von der Primarstufe an "neu zu erfinden".
Schade nur, dass die Verantwortlichen der Squeak-Homepage nichts mehr für diese tun; sie soll wohl ihr eigenes Museum werden. So bleibt nichts anderes übrig, als ein neues interaktives Medium zu gründen, das sich dem genannten Ziel verschreibt.
R. Baumann
-- View this message in context: http://forum.world.st/Squeak-Etoys-Homepage-aus-dem-Dornroschenschlaf-wecken... Sent from the Deutsch (German) mailing list archive at Nabble.com.
Seine entscheidende Schwäche ist insbesondere, dass man nicht zur textuellen Programmierung übergehen kann, also zeitlebens an die Kacheln oder Blöcke gebunden ist. Ersteres aber ist für die Schule unerlässlich, mindestens ab Klasse 10. Trotz Meister Modrow, der bis zum Abitur Blöcke stapeln will - das geht nicht! Programme sind Texte.
Nö. Es sind genau genommen Symbole mit impliziten Logiken, auf verschiedene Kontexte oder Interfaces wirkend (GUI, NET, FILE...)
http://www.chirp.scratchr.org/blog/?p=24
Jens hat hierzu einfach die Textsymbole in Grafiksymbole, entsprechend ihren zugehörigen Kontexten farbig unterlegt, konvertiert und als Logikkacheln "schubsbar" gemacht.
Die Logikkacheln erzeugen Smalltalk Code und vice-versa.
Wenn ich will, kann ich durchgehend das ganze Squeak durch schubsen von Logikkacheln umprogrammieren ...
Ich kann sogar einen Squeak Interpreter in Squeak nochmal starten und darin mit Logikkacheln zur Laufzeit Dinge verändern ... Smalltalk erscheint dann quasi in Nassi-Schneydermann Diagrammen, ergänzt um "first class" Funktionalitäten ... Sogar Codesequenzen sind Objekte! :-)
Viele liebe Grüße, Guido Stepken
On Thu, 10 Nov 2011, Guido Stepken wrote:
Seine entscheidende Schwäche ist insbesondere, dass man nicht zur textuellen Programmierung übergehen kann, also zeitlebens an die Kacheln oder Blöcke gebunden ist. Ersteres aber ist für die Schule unerlässlich, mindestens ab Klasse 10. Trotz Meister Modrow, der bis zum Abitur Blöcke stapeln will - das geht nicht! Programme sind Texte.
Nö. Es sind genau genommen Symbole mit impliziten Logiken, auf verschiedene Kontexte oder Interfaces wirkend (GUI, NET, FILE...)
Natürlich hast du recht, Guido, aber eine Abiturprüfung in einem Flächenland mit Zentralabitur ist eine Papier- und Bleistiftveranstaltung. Deshalb ist ein Programm ein Text (und z.B. keine Lochkarte) und Kachelprogrammierung einfach nicht zu gebrauchen, weil ein Info-Abitur keine Kunstprüfung sein soll.
Im übrigen ist Etoys ja auch *kein* Programmierwerkzeug - läßt sich allerdings ganz passabel dafür mißbrauchen.
Mein kleines persönliches Problem am Rande ist aber das, daß ich durch meinen Schulwechsel erst einmal kein Smalltalk mehr unterrichten darf, weil die Schüler hier eine "richtige" Programmiersprache lernen sollen - sprich Java. Den Schülern zuliebe ist es aus praktischen Gründen auch sinnvoll, sich auf eine einzige Sprache zu einigen, falls Schüler tatsächlich die Informatik in der Oberstufe wählen.
Schöne Grüße
Markus
Hallo, Markus!
Verstehe natürlich den Ansatz ... dürftest du Scala denn als JAVA - Erweiterung Richtung vollwertigem OO einführen? oder als ergänzenden "Workshop" vielleicht?
VlG, Guido
On Thu, 10 Nov 2011, Guido Stepken wrote:
Seine entscheidende Schwäche ist insbesondere, dass man nicht zur textuellen Programmierung übergehen kann, also zeitlebens an die Kacheln oder Blöcke gebunden ist. Ersteres aber ist für die Schule unerlässlich, mindestens ab Klasse 10. Trotz Meister Modrow, der bis zum Abitur Blöcke stapeln will - das geht nicht! Programme sind Texte.
Nö. Es sind genau genommen Symbole mit impliziten Logiken, auf verschiedene Kontexte oder Interfaces wirkend (GUI, NET, FILE...)
Natürlich hast du recht, Guido, aber eine Abiturprüfung in einem Flächenland mit Zentralabitur ist eine Papier- und Bleistiftveranstaltung. Deshalb ist ein Programm ein Text (und z.B. keine Lochkarte) und Kachelprogrammierung einfach nicht zu gebrauchen, weil ein Info-Abitur keine Kunstprüfung sein soll.
Im übrigen ist Etoys ja auch *kein* Programmierwerkzeug - läßt sich allerdings ganz passabel dafür mißbrauchen.
Mein kleines persönliches Problem am Rande ist aber das, daß ich durch meinen Schulwechsel erst einmal kein Smalltalk mehr unterrichten darf, weil die Schüler hier eine "richtige" Programmiersprache lernen sollen - sprich Java. Den Schülern zuliebe ist es aus praktischen Gründen auch sinnvoll, sich auf eine einzige Sprache zu einigen, falls Schüler tatsächlich die Informatik in der Oberstufe wählen.
Schöne Grüße
Markus
Seine entscheidende Schwäche ist insbesondere, dass man nicht zur textuellen Programmierung übergehen kann, also zeitlebens an die Kacheln oder Blöcke gebunden ist. Ersteres aber ist für die Schule unerlässlich, mindestens ab Klasse 10. Trotz Meister Modrow, der bis zum Abitur Blöcke stapeln will - das geht nicht! Programme sind
Texte.
Nö. Es sind genau genommen Symbole mit impliziten Logiken, auf verschiedene Kontexte oder Interfaces wirkend (GUI, NET, FILE...)
Natürlich hast du recht, Guido, aber eine Abiturprüfung in einem Flächenland mit Zentralabitur ist eine Papier- und Bleistiftveranstaltung. Deshalb ist ein Programm ein Text.
Hmm, schon traurig, wenn Flächenländer definieren, was Programmiersprachen sind. *seufz*
SCNR Beat
Was mir mal aufgefallen ist, als Dozent und Lehrer, dass man beim Unterrichten noch sehr viel hinzu lernt, die Dinge tiefer hinterfragt, sich oft noch wundert ...
Wäre es aus dieser Sicht nicht pädagogisch sinnvoller, die Kiddies selber eine Programmiersprache für einen bestimmten Zweck selber erfinden zu lassen? Und das dann auch im Abi als Test zulassen?
Was soll dieses ewig "Reproduzierende"? Ist doch langweilig.
Ebenso mit IQ - Tests. Lass doch jemanden selber einen IQ Test konstruieren. Da weiß man direkt, was dieser Mensch als "schwierig" empfindet! :-)
Liebe Grüße, Guido Stepken
Am 10.11.2011 um 23:38 schrieb Beat Döbeli Honegger [privat] beat@doebe.li:
Seine entscheidende Schwäche ist insbesondere, dass man nicht zur textuellen Programmierung übergehen kann, also zeitlebens an die Kacheln oder Blöcke gebunden ist. Ersteres aber ist für die Schule unerlässlich, mindestens ab Klasse 10. Trotz Meister Modrow, der bis zum Abitur Blöcke stapeln will - das geht nicht! Programme sind
Texte.
Nö. Es sind genau genommen Symbole mit impliziten Logiken, auf verschiedene Kontexte oder Interfaces wirkend (GUI, NET, FILE...)
Natürlich hast du recht, Guido, aber eine Abiturprüfung in einem Flächenland mit Zentralabitur ist eine Papier- und Bleistiftveranstaltung. Deshalb ist ein Programm ein Text.
Hmm, schon traurig, wenn Flächenländer definieren, was Programmiersprachen sind. *seufz*
SCNR Beat
Guido Stepken schrieb:
Wäre es nicht pädagogisch sinnvoll, die Kinder selber eine Programmiersprache für einen bestimmten Zweck selber erfinden zu lassen?
Sehr gute Idee. Im Informatik-Biber gibt es Anregungen dazu; sie lassen sich in Etoys gut realisieren.
Guido Stepken schrieb früher:
Mir fällt immer wieder auf, dass der fließende Übergang vom relativ restriktiven Etoys Framework hin zur Smalltalk Programmiersprache aus pädagogischer Sicht schwer zu vermitteln bzw. zu realisieren ist.
Leider eine grobe Fehleinschätzung. Hätte G. mal einen Blick in die Zeitschrift LOG IN geworfen, würde er dies erkennen.
Markus Schlager schrieb:
Eine Abiturprüfung ist eine Papier- und Bleistiftveranstaltung. Deshalb ist ein Programm ein Text (und z. B. keine Lochkarte) und Kachelprogrammierung einfach nicht zu gebrauchen, weil ein Informatik-Abitur keine Kunstprüfung sein soll.
Wichtiger Satz, den man dick unterstreichen muss.
Dagegen sind Aussagen wie: "Jens hat hierzu einfach die Textsymbole in Grafiksymbole, entsprechend ihren zugehörigen Kontexten farbig unterlegt, konvertiert und als Logikkacheln "schubsbar" gemacht. Die Logikkacheln erzeugen Smalltalk Code und vice-versa. Wenn ich will, kann ich durchgehend das ganze Squeak durch Schubsen von Logikkacheln umprogrammieren ..." für die Schule völlig irrelevant. Das sind Spielereien von Programmier-Freaks ...
Leider ist die ursprüngliche Frage noch immer nicht beantwortet: Warum lässt man die Squeak-Homepage so verkommen?
R. Baumann
-- View this message in context: http://forum.world.st/Squeak-Etoys-Homepage-aus-dem-Dornroschenschlaf-wecken... Sent from the Deutsch (German) mailing list archive at Nabble.com.
die Schule völlig irrelevant. Das sind Spielereien von Programmier-Freaks ...
Hallo, Rüdeger!
Nein! Eben nicht! Mit BYOB können die Kids Logikkacheln selber definieren und umdefinieren, selber neue Frameworks "erfinden". Das ist ungefähr so, als wäre EToys in EToys selber geschrieben. Das hat aus pädagigischer Sicht eine völlig neue Qualität:
Damit werden keine "Rindviecher" herangezogen, die nur in der Lage sind, funktionellen Code einzutippen, sondern sie erlernen damit in der Schule bereits die Qualitäten von "Softwarearchitekten".
Codieren können Inder eh besser und billiger!!!
Leider ist die ursprüngliche Frage noch immer nicht beantwortet: Warum lässt man die Squeak-Homepage so verkommen?
hmmm.... alle beschäftigt?
VlG, Guido Stepken
Guido Stepken gstepken@googlemail.com writes:
Hallo Liste, Hallo Rüdeger
ich bin gerade aus dem Urlaub zurück (gestern nacht gelandet) und davor war ich beruflich unterwegs. Die Homepage (cmsbox) kann aber immer nur aktualisiert / korrigiert werden wenn man gerade eine online-Verbindung hat. Das erklärt, dass sich da seit Februar nichts getan hat. Guido hat das Problem ganz gut erkannt. Es sind alle beschäftigt. Ich werde mir nach dem Auspacken der Koffer die Seite ansehen und hoffentlich am Wochenende Zeit für Korrekturen finden.
Ich gebe insofern recht, dass die Homepage der erste Anlaufpunkt für Newcomer ist und der erste Eindruck zählt. Allerdings gibt es nur wenige Smalltalker (und noch weniger Squeaker) in Deutschland. Das das HPI da weiterhin am Ball bleibt freut mich sehr, ändert aber kurzfristig nichts an der Gesamtsituation. Es gab mal eine Google Map wo man sich als Smalltalker eintragen konnte (selbst das finde ich nicht mehr). Hat da jemand noch einen Link?
Übrigens kenne ich deine Ungeduld, Rüdeger. Ich habe vor Jahren genau so reagiert und wollte deshalb eine aktivere Rolle übernehmen. Nur stellte sich dann schnell heraus, dass mir abgesehen von kurzzeitigen "Sprints" ebenso die Zeit fehlt. :(
Ich habe kürzlich mit Squeakern aus Korea gesprochen und da sieht die Lage ähnlich aus. Es gibt nur wenige Squeaker und die, die es gibt, können nur in ihrer Freizeit an Projekten arbeiten. Die Webseiten sind da sogar komplett down, obwohl vor Jahren richtig was los war. Das ändert sich vielleicht gerade wieder, hängt aber auch immer mit der beruflichen Situation jedes einzelnen zusammen.
Das nur als kurze Zwischenmeldung.
Bis dann Enno
PS: Das der Server-Wildwuchs mal zur Sprache kam, ist auch gut. Mal sehen ob wir den Ist-Stand in etwas Einheitliches oder zumindest Dokumentiertes wandeln können
Leider ist die ursprüngliche Frage noch immer nicht beantwortet: Warum lässt man die Squeak-Homepage so verkommen?
hmmm.... alle beschäftigt?
VlG, Guido Stepken
Danke Enno,
dass du dich gemeldet hast. Ich hätte eigentlich wissen müssen, dass du eine Weile verhindert warst.
Es stimmt, dass in manchen Squeak-Foren derzeit nicht viel los ist, beispielsweise im französischen Forum und in OFSET.
Andererseits ist die Etoys-Gemeinde nach wie vor äußerst aktiv. Im Squeakland und in EtoysIllinois beispielsweise werden laufend neue, interessante Projekte erstellt und publiziert.
Auch auf unserer Homepage gibt es tolle Projekte, z. B. "Symmetrie". Wer ist eigentlich der Verfasser? Es müsste allerdings auf das neue Etoys umgeschrieben und besser erläutert werden; manches ist veraltet.
Etoys hat riesige Chancen in der Schule, denn die didaktische Diskussion tendiert eindeutig in Richtung visuelle Programmierung.
Viele Grüße
Rü
-- View this message in context: http://forum.world.st/Squeak-Etoys-Homepage-aus-dem-Dornroschenschlaf-wecken... Sent from the Deutsch (German) mailing list archive at Nabble.com.
Guido Stepken schrieb:
Mit BYOB können die Kinder Logikkacheln selber definieren und umdefinieren, selber neue Frameworks "erfinden".
Das geht in Etoys auch! Kennst du vielleicht Berts Vortrag auf dem Squeakfest 2010?
Codieren können Inder eh besser und billiger!!!
Wer will denn codieren? Du hast doch Esthers Vortrag in Potsdam 2010 gehört. Wurde da codiert? Oder den von Pascal Vollmer. Sollten da "Rindviecher" herangezogen werden? (Pascals Vortrag wird übrigens im neuen Heft von LOG IN publiziert.)
Byob mag vielleicht in exotisch-elitären Universitätskreisen eine Rolle spielen; für die Schule ist es irrelevant.
Gruß R. Baumann
-- View this message in context: http://forum.world.st/Squeak-Etoys-Homepage-aus-dem-Dornroschenschlaf-wecken... Sent from the Deutsch (German) mailing list archive at Nabble.com.
Hallo, Rüdeger!
Ich denke, das die mentale Arbeit von Jens Mönig und Brian Harvey noch garnicht richtig in den Köpfen der Squeaker angekommen ist ....
Also in BYOB kannste geile Dinge machen:
Schreibst (im übertragenen Sinne) z.B.:
y=[2,3,4]*x^3+[-3,-1,4]*x+[2,-3]
in eine Variable hinein, und der hämmert dir daraufhin vollautomatisch 18 verschiedene Funktionsgraphen auf den Bildschirm!
Das ist keine Magie, sondern wird erst dadurch ermöglicht, dass alles "first class objekte" sind. Und hinter der "Variablen", in du das hinein schreibst, verbirgt sich eine komplexe Funktion!
Im übertragenen Sinne könnte ich auch:
y=sql(datenbank, tabelle, spaltex)*x^2-5
schreiben und das Teil zapft mir die Datenbank an, plottet Funktionsscharen, solange Daten da sind...
Auch bin ich der Meinung, dass jeder Lehrer, der seine Schülern noch for ... und while lehrt, die Hirne der Kids verdirbt. Das ist kein OO. So'n Quark sollte in Lehrplänen nicht mehr auftauchen... Abstrakte Iteratoren sind "in".
Aber verstehe, dass ihr da als Lehrer "Richtlinien" habt.
"Moderne OO Programmiersprache Java" ... *lach* An Java ist garnix OO, modern ist die schon mal garnicht, siehe auch Skala - Lambda Calculus, Funktionale Programmierung ...
Have fun, Guido Stepken
Hallo Guido,
On Sat, 12 Nov 2011, Guido Stepken wrote:
Auch bin ich der Meinung, dass jeder Lehrer, der seine Schülern noch for ... und while lehrt, die Hirne der Kids verdirbt. Das ist kein OO. So'n Quark sollte in Lehrplänen nicht mehr auftauchen... Abstrakte Iteratoren sind "in".
Schätze ich auch sehr.
Aber verstehe, dass ihr da als Lehrer "Richtlinien" habt.
"Moderne OO Programmiersprache Java" ... *lach* An Java ist garnix OO, modern ist die schon mal garnicht, siehe auch Skala - Lambda Calculus, Funktionale Programmierung ...
Welche Sprachen lernt Informatikstudent heutzutage eigentlich im Studium? Hier heißt es unter anderem auch deshalb, Java sei die Sprache der Wahl, weil die dann auch im Studium kommt.
Markus
Hallo, Markus!
Aus pädagogischer Sicht sollte meiner Meinung nach *zuerst* Scratch, dann Squeak, dann Smalltalk, dann Java, dann C++,C gelehrt werden, Lisp, Prolog, ML oder Haskell optional zwischendurch, wobei durchaus C gelehrt werden kann, indem man die Kids Treiber für Squeak VM schreiben lässt.
Man verdirbt Hirne, wenn man es anders herum macht: Ich kenne keinen Pädagogen, der OO wirklich verstanden hätte, der früher Basic oder Pascal gelernt hat.
Auch in Programmierteams machen meiner Erfahrung nach - als Softwarearchitekt und Teamleiter - Leute, die von C oder Pascal (den "prozeduralen" Programmiersprachen) umgelernt haben, mehr Blödsinn, als sie produktiv sind. Auch ich musste tierisch umdenken lernen...
Das Geniale am Squeak/Etoys System ist ja nicht Smalltalk, sondern daß es das beste Opensource - Archiv für das Studieren von Algorithmen ist, was es gibt. Z.B. GGT/KGV ...
Algorithmenlehre kommt an deutschen Schulen viel zu kurz... außer Sort-Algorithmen wird ja kaum was gelehrt...
Die Lehrinhalte an deutschen Schulen müssen weg! Sie taugen nix! Leider aber kann unser Staat die Lehrer, die sich 25 Jahre im Informatik Unterricht verdient gemacht haben, nicht mehr "umprogrammieren" auf echte OO - Denke.
Squeak aber dürfte auch der "prozeduralst denkende" Lehrer noch in den Schädel bekommen, in jedem Fall ein immenser Gewinn für die Schüler, bevor sie mit der angeblichen OO-Sprache Java vollends verdorben werden.
Java ist kein OO, es ist ein fauler Kompromiss, Punkt!!!
MfG, Guido Stepken
Am 12.11.2011 um 23:42 schrieb Markus Schlager m.slg@gmx.de:
Hallo Guido,
On Sat, 12 Nov 2011, Guido Stepken wrote:
Auch bin ich der Meinung, dass jeder Lehrer, der seine Schülern noch for ... und while lehrt, die Hirne der Kids verdirbt. Das ist kein OO. So'n Quark sollte in Lehrplänen nicht mehr auftauchen... Abstrakte Iteratoren sind "in".
Schätze ich auch sehr.
Aber verstehe, dass ihr da als Lehrer "Richtlinien" habt.
"Moderne OO Programmiersprache Java" ... *lach* An Java ist garnix OO, modern ist die schon mal garnicht, siehe auch Skala - Lambda Calculus, Funktionale Programmierung ...
Welche Sprachen lernt Informatikstudent heutzutage eigentlich im Studium? Hier heißt es unter anderem auch deshalb, Java sei die Sprache der Wahl, weil die dann auch im Studium kommt.
Markus
Welche Sprachen lernt Informatikstudent heutzutage eigentlich im Studium? Hier heißt es unter anderem auch deshalb, Java sei die Sprache der Wahl, weil die dann auch im Studium kommt.
Markus
Hallo, Markus!
Als Pädagoge muß man doch Schüler dazu bewegen, genau das zu lernen, was sie *noch nicht können* !!!
Wenn Java später im Studium eh kommt, dann ist *gerade das* ein Grund, daß sie auf der Schule was anderes lernen.
Und da das *zuerst gelernte* die Grundlage bildet, weiteres Wissen einzuordnen, sollte man gerade auf der Schule in Informatik eine Programmiersprache lehren, die das "objektorientierte Denken" und funktionale Algorithmen bzw. Programmiersprachen (Haskell, ML, LISP) in die Hirne eintrichtern.
Haskell, warum? Die Algorithmen der Prigrammiersprache Haskell sind automatisch parallelisierbar.
Da jetzt aus Stromspargründen Multiprozessor - Handys auf den Markt kommen (4 Prozessoren bei halber Taktfrequenz macht doppelte Gesamt-Rechenleistung bei gleichem Stromverbrauch), tippe ich mal darauf, dass in wenigen Jahren Haskell DIE universitäre Lehrsprache wird.
Java ist bereits jetzt schon tot: "Unparallelizable by design"
Gerade unternehmen die Compilerhersteller riesige Anstrengungen, wenigstens die Libraries in C++ auf automatisch parallelisierende, funktionale Algorithmen umzustellen.
Viele liebe Grüße, Guido Stepken
Hallo Guido,
Kann ich eigentlich alles nur abnicken. Abgesehen davon, daß ich von den technischen Details eher weniger Ahnung habe, sehe ich das sehr genauso. Schadet nicht, das wieder einmal bestätigt zu bekommen.
(Ich selber habe OO auch erst dank Etoys und Squeak wirklich verstanden. War eine schöne Erkenntnis.)
Markus
Markus Schlager:
Ich selber habe OO auch erst dank Etoys und Squeak wirklich verstanden.
Ich leider noch nicht. Im Byob-Handbuch lesen wir:
"The idea of object oriented programming is often taught in a way that makes it seem as if a special object oriented programming language is necessary. In fact, any language with first class procedures allows objects to be implemented explicitly; this is a useful exercise to help demystify objects. The central idea of this implementation is that an object is represented as a dispatch procedure that takes a message as input and reports the corresponding method."
Was ist eine "dispatch procedure"? Gibt es dafür einen (für Schüler) verständlichen Ausdruck?
Dank für Aufklärung.
R. Baumann
-- View this message in context: http://forum.world.st/Squeak-Etoys-Homepage-aus-dem-Dornroschenschlaf-wecken... Sent from the Deutsch (German) mailing list archive at Nabble.com.
Dis- aus dem Lateinischen Zer- Ent- und patch - Flicken
Bedeutet, dass ich von aussen in einen Prozess eingreife, diesem die Kontrolle entziehe (Dis-) und dann daraus einen neuen Prozess "zusammenflicke" (patch).
Gruß, Guido Stepken
Am 14.11.2011 um 20:38 schrieb Mirek Hancl mhancl@gmx.de:
Am 14.11.2011 20:34, schrieb R. Baumann:
Was ist eine "dispatch procedure"? Gibt es dafür einen (für Schüler) verständlichen Ausdruck?
Ein Versandverfahren. Wobei der Begriff im dt. Sprachgebrauch eher beim Zoll zu finden ist ;-)
Mirek
"R. Baumann" baumann-garbsen@t-online.de writes:
Hallo Rüdeger
Ich selber habe OO auch erst dank Etoys und Squeak wirklich verstanden.
Ich leider noch nicht. Im Byob-Handbuch lesen wir: "The idea of object oriented programming is often taught in a way that makes it seem as if a special object oriented programming language is necessary. In fact, any language with first class procedures allows objects to be implemented explicitly; this is a useful exercise to help demystify objects. The central idea of this implementation is that an object is represented as a dispatch procedure that takes a message as input and reports the corresponding method." Was ist eine "dispatch procedure"? Gibt es dafür einen (für Schüler) verständlichen Ausdruck?
Ich habe das BYOB-Handbuch nicht gelesen, denke aber das der Autor hier auf das von LISP (Clos) verwendete Verfahren Bezug nimmt.
http://www.ravenbrook.com/doc/2003/07/15/clos-fundamentals/
Ab Kapitel 4 wird der Dispatch-Vorgang beschrieben. Sollte aber auch in jedem anderen guten Buch zu CLOS enthalten sein. Obs da was deutsches gibt weiss ich nicht.
BTW: Auf Squeakmap findet man ein aktuelles LispKit (allerdings ohne CLOS). Trotzdem ganz lehrreich.
Bis dann Enno
Enrico Schwass ennoausberlin@mac.com writes:
Kurzer Nachtrag,
Was ist eine "dispatch procedure"? Gibt es dafür einen (für Schüler) verständlichen Ausdruck?
Ich habe das BYOB-Handbuch nicht gelesen, denke aber das der Autor hier auf das von LISP (Clos) verwendete Verfahren Bezug nimmt.
http://www.ravenbrook.com/doc/2003/07/15/clos-fundamentals/
Ab Kapitel 4 wird der Dispatch-Vorgang beschrieben. Sollte aber auch in jedem anderen guten Buch zu CLOS enthalten sein. Obs da was deutsches gibt weiss ich nicht.
BTW: Auf Squeakmap findet man ein aktuelles LispKit (allerdings ohne CLOS). Trotzdem ganz lehrreich.
Jetzt habe ich doch mal auf die BYOB-Seite geschaut und dort folgendes gefunden
-------------------------------------------------------------------- The detailed design of first class procedures in BYOB was strongly influenced by Scheme, a Lisp dialect invented in the late 1970s by Gerald Jay Sussman and Guy Steele, which brought Lisp closer to its roots in lambda calculus by introducing lexical scoping rules. ---------------------------------------------------------------------
Damit lag ich also fast richtig :)
R. Baumann schrieb:
Markus Schlager:
Ich selber habe OO auch erst dank Etoys und Squeak wirklich verstanden.
Ich leider noch nicht. Im Byob-Handbuch lesen wir:
"The idea of object oriented programming is often taught in a way that makes it seem as if a special object oriented programming language is necessary. In fact, any language with first class procedures allows objects to be implemented explicitly; this is a useful exercise to help demystify objects. The central idea of this implementation is that an object is represented as a dispatch procedure that takes a message as input and reports the corresponding method."
Ich denke wie Enrico, das kommt aus der Ecke der funktionalen Sprachen, wenn die Objekte mit ihren eigenen Sprachmitteln implementieren ("das konnte Lisp doch schon immer...").
"Dispatch" heißt versenden auf englisch.
Zitat aus einem CLOS-Buch:----------- Dispatching [ist ein] Begriff aus der realen Welt, der von der Computerwelt übernommen wurde. Das Dispatching beschreibt die Reaktion auf einen bestimmten Wert oder Eingabe. Man kann sich das sehr schön bildhaft in einer Postverteilstation vorstellen: Ein Postbeamter (der Verteiler), umgeben von Postsäcken. Entsprechend der Postleitzahl auf dem Päckchen oder Brief, wird es in den dafür bestimmten Sack geworfen. In CLOS sind die Postsäcke die Methoden, der Postbeamte ist der dispatcher, die Päckchen und Briefe sind die Instanzen, und die Postleitzahlen sind die Klassen, nach denen sie klassifiziert werden. ---------------------- (Paul Graham: ANSI Common Lisp)
In meinen eigenen Worten:
Die Lisp-Leute "simulieren" bzw. "implementieren" (je nach Sichtweise und Wertung) Objekte durch eine Funktion, die einen Aufruf wie
objekt tuWasMit: parameter
auch in Lisp möglich machen (an die richtige Stelle schicken), ohne eine neue Sprache zu erfinden.
Im Hintergrund müssen dafür Methoden als spezielle Funktionen definiert werden, die nur mit einem bestimmten Typ von Argument (Klasse) arbeiten, und die erst vom diapatcher aufgerufen werden. Das geht im Prinzip in allen Sprachen, wo eine Funktion als Parameter weitergereicht werden kann (first class fuction).
in Smalltalk-Syntax:
dispatcher versende: objekt anMethode: methode
Der dispatcher kann das Objekt inspizieren, erfährt dessen Klasse und findet dann die korrekte Methode.
Schöne Grüße
Christian Mascher
Dank für interessante Ausführungen, auch an Mirek und Enno.
Zu Guidos Etymologie: "Dispatch" dürfte dem dt. Lehnwort "Depeche" entsprechen, das aus dem Lateinischen (lat. pedica = Fußfessel) kommt: "Von der Fußfessel befreien" = beschleunigen, absenden. Wo kommt "patch" eigentlich her?
Im übrigen scheint das Handbuch von Byob auf einem informatisch hohen Niveau zu stehen.
R. B.
-- View this message in context: http://forum.world.st/Squeak-Etoys-Homepage-aus-dem-Dornroschenschlaf-wecken... Sent from the Deutsch (German) mailing list archive at Nabble.com.
Hallo Rüdeger,
OOP nach SICP-Art (Abelson & Sussman) kann man natürlich nicht nur in Scheme selber bauen, sondern auch in Smalltalk, denn auch Smalltalk hat first class Funktionen, nämlich Blöcke, und zumindest in den meisten Dialekten inzwischen auch echte Closures, also temporäre Variables, welche die Ausführung ihrer Funktion "überleben" können.
Mit diesem Effekt kann man objektorientierte Systeme nach dem Prinzip "Objekte sind auch nur Closures" selbst erfinden.
Um das Schulbeispiel eines einfachen Zählers in Smalltalk nachzuvollziehen, kannst Du z.B. in einer Smalltalk Workspace sinngemäß folgendes ausprobieren (und dabei der Einfachheit halber die Variablen "CounterClass", "Counter1" und "Counter2" global deklarieren):
CounterClass := [ | count | count := 0. ^[count := count + 1. ^count]].
Damit hast Du der Variable namens "CounterClass" einen Dispatch-Block zugewiesen. Führt man diesen Block aus, erhält man als Ergebnis einen anderen Block, den man wiederum anderen Variablen zuweisen kann:
Counter1 := CounterClass value. Counter2 := CounterClass value.
Auch diese Blöcke kann man jetzt jeweils einzeln ausführen:
Counter1 value.
ergibt als Ergebnis "1".
Jedesmal wenn Du diesen Ausdrück erneut ausführst, erhältst Du ein um 1 inkrementiertes Ergebnis. Gleiches gilt für weitere Counter-Instanzen:
3 timesRepeat: [Counter2 value].
Das Besondere daran ist, dass sich jede Counter-Instanz ihren eigenen Zählerstand merkt, ganz wie ein echtes Objekt eben. Das liegt daran, dass die temporäre Blockvariable "count" in einer äußeren Scope, nämlich im Dispatch-Block angelegt ist. Die inneren Blöcke (Counter1 und Counter2) verweisen auf diese eigentlich temporäre Variable, und machen sie somit persistent, sogar nachdem der ursprüngliche "CounterClass" Block längst ausgeführt worden ist.
Nun kann man natürlich den Dispatch-Block noch wesentlich komplexer gestalten, und insbesondere den "Objekt-Blöcken" noch Block-Argumente mit Fallunterscheidungen zuweisen. Auf diese Art kann man dann z.B. verschiedene Nachrichten und auch Parameter an solche Closure-Objekte implementieren, und sogar Vererbung selber bauen.
Viele Grüße -Jens
-- View this message in context: http://forum.world.st/Squeak-Etoys-Homepage-aus-dem-Dornroschenschlaf-wecken... Sent from the Deutsch (German) mailing list archive at Nabble.com.
Danke, Jens, für diese Ausführungen. Vielleicht lassen sie sich in einem LOG-IN-Artikel zum Vergleich von Squeak/Etoys mit Byob verwenden.
Enno, wenn du dies liest, richte bitte in unserer Homepage cmsbox unter „Literatur“ eine Unter-Rubrik „Didaktische Aufsätze“ ein und bringe dann folgenden Text:
Modrow, E.; Möning, J.; Strecker, K.: Wozu Java? – Plädoyer für grafisches Programmieren. In: LOG IN, 31. Jg. (2011), H. 168, S. 35–41.
Dieser Beitrag plädiert dafür, das Aufkommen universeller grafischer Programmiersprachen (wie z. B. Squeak/Etoys, Byob) zum Anlass zu nehmen, über die Rolle des Programmierens im Informatikunterricht neu nachzudenken. „Java“ ist dabei als Synonym für jegliches textbasierte Programmieren gemeint.
Oldenburg, R.: Klassensysteme selbstgebaut – Ein genetischer Weg zu OOP und OOM. In: LOG IN, 30. Jg. (2010), H. 166/167, S. 85–91.
In diesem Beitrag wird gezeigt, dass die Konzepte der Objektorientierung kein grundlegend neues Paradigma darstellen, sondern sich ganz natürlich aus dem Bemühen ergeben, Daten und Strukturen zweckmäßig zu strukturieren. Im letzten Beispiel (von vieren) wird ein Konstruktor definiert, also eine Funktion, die ein Objekt erstellt, wobei dieses Objekt seinerseits eine Funktion ist, mit deren Aufruf man die verschiedenen Methoden ansteuert.
Den geneigten Teilnehmern dieser Liste wird die genannte Zeitschrift zwecks Bezug und Lektüre wärmstens empfohlen, da sie offenbar den Finger am didaktischen Puls der Zeit hat.
R. B.
-- View this message in context: http://forum.world.st/Squeak-Etoys-Homepage-aus-dem-Dornroschenschlaf-wecken... Sent from the Deutsch (German) mailing list archive at Nabble.com.
Hallo Guido,
was du über Byob schreibst, überzeugt mich. Werde ab sofort Byob lernen.
Noch eine Frage: Ab welchem Alter kann man mit Byob anfangen?
(An Enno - bitte baldmöglichst eine Byob-Rubrik in der Homepage einrichten!)
"Auch bin ich der Meinung, dass jeder Lehrer, der seine Schüler noch for ... und while lehrt, die Hirne der Kinder verdirbt."
Das stimmt nicht. Es ist elementare Algorithmik, und die muss jeder "informatisch Gebildete" kennen.
Gruß Rü
-- View this message in context: http://forum.world.st/Squeak-Etoys-Homepage-aus-dem-Dornroschenschlaf-wecken... Sent from the Deutsch (German) mailing list archive at Nabble.com.
"Auch bin ich der Meinung, dass jeder Lehrer, der seine Schüler noch for ... und while lehrt, die Hirne der Kinder verdirbt."
Das stimmt nicht. Es ist elementare Algorithmik, und die muss jeder "informatisch Gebildete" kennen.
Nö, ist Quark. Sogar in PHP arbeiten Programmierer nur noch mit foreach Element in <unbekannter Menge>.
Aber verstehe, dass du so'n SCHEISS wie Kopf-und Fuß gesteuerte Schleifen noch lehren musst!! Sorry für den Ausdruck!
Du verdirbst die Hirne der Kids damit!!!
Liebe Grüße, Guido Stepken
Am 12.11.2011 um 23:54 schrieb "R. Baumann" baumann-garbsen@t-online.de:
Hallo Guido,
was du über Byob schreibst, überzeugt mich. Werde ab sofort Byob lernen.
Das freut mich sehr!!! :-)
Noch eine Frage: Ab welchem Alter kann man mit Byob anfangen?
Seltsamerweise ist dadurch, dass in BYOB alles "first class object" ist, die Programmierung für Neulinge (als Kids) viel "intuitiver".
Gibt 5-jährige sogar, die's kapieren ... das Gros der Schüler sollte so ab 10., 11. Lebensjahr damit locker klar kommen ..
Viele liebe Grüße, Guido Stepken
(An Enno - bitte baldmöglichst eine Byob-Rubrik in der Homepage einrichten!)
Squeak ist nicht Scratch oder BYOB!!! Aber pädagodische Hinweise können nie schaden!!! :-)
Hi Rüdeger!
Das geht in Etoys auch! Kennst du vielleicht Berts Vortrag auf dem Squeakfest 2010?
Jetzt ja! Guter Vortrag!
Codieren können Inder eh besser und billiger!!!
Wer will denn codieren? Du hast doch Esthers Vortrag in Potsdam 2010 gehört. Wurde da codiert? Oder den von Pascal Vollmer. Sollten da "Rindviecher" herangezogen werden? (Pascals Vortrag wird übrigens im neuen Heft von LOG IN publiziert.)
Ich kenne ihn schon. Ich fürchte nur, dass da Informatik - Lehrer völlig mit überfordert sein werden!
Byob mag vielleicht in exotisch-elitären Universitätskreisen eine Rolle spielen; für die Schule ist es irrelevant.
Verstehe ich nicht. Brian Harvey bildet doch Lehrer auf BYOB (Scratch) aus, siehe YouTube Videos...
Viele liebe Grüße, Guido Stepken
Wer Schüler Unterrichtsstoff stets "wiederkäuen" lässt und danach benotet, braucht sich nicht beschweren, wenn's später Rindviecher werden!
Diese Tendenz zu dieser "Milchviehpädagogik" scheint mir im Ländlichen bislang ungebrochen!
Nicht sie langweilige Programmiersprachen lehren, nein, selber erfinden lassen! BYOB erlaubt das Neudefinieren von Logikkacheln à la EToys.
Have fun!
Guido Stepken
Am 10.11.2011 um 23:38 schrieb Beat Döbeli Honegger [privat] beat@doebe.li:
Seine entscheidende Schwäche ist insbesondere, dass man nicht zur textuellen Programmierung übergehen kann, also zeitlebens an die Kacheln oder Blöcke gebunden ist. Ersteres aber ist für die Schule unerlässlich, mindestens ab Klasse 10. Trotz Meister Modrow, der bis zum Abitur Blöcke stapeln will - das geht nicht! Programme sind
Texte.
Nö. Es sind genau genommen Symbole mit impliziten Logiken, auf verschiedene Kontexte oder Interfaces wirkend (GUI, NET, FILE...)
Natürlich hast du recht, Guido, aber eine Abiturprüfung in einem Flächenland mit Zentralabitur ist eine Papier- und Bleistiftveranstaltung. Deshalb ist ein Programm ein Text.
Hmm, schon traurig, wenn Flächenländer definieren, was Programmiersprachen sind. *seufz*
SCNR Beat
squeak-ev@lists.squeakfoundation.org