Fragen zur „Teilchengrippe“ und anderen Merkwürdigkeiten

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Fragen zur „Teilchengrippe“ und anderen Merkwürdigkeiten

R. Baumann
In der Klappe Objekte/Demo heißt das Objekt „TeilchenGrippe“ (mit Binnenmajuskel); in der Hilfeblase lesen wir: „Die Original-Simulation von beweglichen Teilchen von John Maloney“. In der Klappe Geräte nennt sich das Objekt schlicht „Teilchengrippe“ und der Hilfetext lautet: „Hüpfende Teilchen, die sich anstecken“.

Wie können physikalische Teilchen die Grippe bekommen oder einander anstecken? Wie passen die Begriffe „Infektion“ (transmitInfection) und „Temperatur“ (updateTemperature:) zusammen?

Für wen sind die Kommentare (für Klassen bzw. Methoden) eigentlich gedacht? Angenommen, sie wären unter anderem auch für Lernende und Lehrende (Informatik-Schüler/innen und -Lehrkräfte) bestimmt: in diesem Fall wäre Verständlichkeit natürlich höchst wünschenswert.

Beispielsweise ist der Kommentar zu n take: k (d. h. „n über k“) in der Klasse Integer gut verständlich: man erfährt, wozu die Methode dient. Aber was soll die Bemerkung: „Use a trick to go faster” ? Ist die Verbesserung eines Algorithmus ein „Trick“? Und welchen Trick meint der Kommentarschreiber?

Der Kommentar zu roll: diceString in der Klasse Random  ist etwas merkwürdig: Da heißt es: „Roll some dice, DnD-style, according to this mini-grammar: …“. Wie man die Methode anwendet (Beispiel, analog zu „6 take: 3“), wird allerdings nicht verraten.

Zu check: nDice liest man: „Roll some dice, WoD-style.” Was ist DnD-Stil, was WoD-Stil? An wen richten sich die Kommentare – an Fachleute, Squeak-Spezialisten, „Insider“ von Computerspielen?

Gerade diese (und andere) Unvollkommenheiten von Squeak machen das System allerdings sympathisch und (für Schüler) lehrreich. Sie erkennen, dass ein System, das staunenswert viele Dinge kann,  im Innern allerhand Inkonsequenzen und Mängel (bis hin zu schlichten Rechtschreibfehlern, siehe etwa „dice := epxr {pm expr}“ in roll:, ferner in addMorphFront:, invalidRect:, actorStateOrNil, balloonText, hasExtension u. v. a. m.) aufweist. Sie werden herausgefordert, die Mängel zu beheben, eventuell im Internet nachzuforschen („Wer ist John Maloney, Jesse Welton, Eliot Miranda, … ?“), die Kommentare zu ergänzen, die Algorithmen zu verbessern. Das hieße:

„Informatik lernen = Squeak (a) verwenden, (b) erkunden, (c) verbessern.“

Reply | Threaded
Open this post in threaded view
|

Re: Fragen zur „Teilchengrippe“ und anderen Merkwürdigkeiten

Bert Freudenberg
On 28.06.2010, at 11:31, R. Baumann wrote:

> In der Klappe Objekte/Demo heißt das Objekt „TeilchenGrippe“ (mit
> Binnenmajuskel); in der Hilfeblase lesen wir: „Die Original-Simulation von
> beweglichen Teilchen von John Maloney“. In der Klappe Geräte nennt sich das
> Objekt schlicht „Teilchengrippe“ und der Hilfetext lautet: „Hüpfende
> Teilchen, die sich anstecken“.
>
> Wie können physikalische Teilchen die Grippe bekommen oder einander
> anstecken? Wie passen die Begriffe „Infektion“ (transmitInfection) und
> „Temperatur“ (updateTemperature:) zusammen?

Viele der in Etoys enthaltenen Objekte sind als Demo für einen von Alans Vorträgen reingekommen. Er erklärt mit diesem Beispiel Epidemien, und wie diese in der Bevölkerung wahrgenommen werden. Man kann z.B. ausprobieren, wie die Infektionsrate von der Bevölkerungsdichte abhängt. Oder wie Epidemien mit geringer Infektionsrate anfangs schleichend verlaufen und die Problematik heruntergespielt wird, bis es zu spät ist.

Ich finde gerade keinen Vortrag in dem er das zeigt, aber ich erinnere mich, es öfters gesehen zu haben. Hier ist ein kurzer Vortrag von Alan, natürlich mit Etoys präsentiert:
http://www.ted.com/talks/alan_kay_shares_a_powerful_idea_about_ideas.html

Etoys wurde ja nicht primär zum Programmierenlernen geschaffen, sondern als Mittel, die Mächtigen Ideen unserer Zeit durchschaubar zu machen.

Was nicht heißt, dass das Programmieren uninteressant wäre. Hier ein exzellenter Vortrag über seine generellen Ideen zur Programmierung. Mittlerweile 13 Jahre alt aber immer noch hochaktuell:
http://video.google.com/videoplay?docid=6605997857319097923

Noch viel mehr Videos findet man unter
http://www.smalltalk.org.br/movies/

> Für wen sind die Kommentare (für Klassen bzw. Methoden) eigentlich gedacht?
> Angenommen, sie wären unter anderem auch für Lernende und Lehrende
> (Informatik-Schüler/innen und -Lehrkräfte) bestimmt: in diesem Fall wäre
> Verständlichkeit natürlich höchst wünschenswert.

Typischerweise von einem Entwickler an andere Entwickler. Was der einzelne Entwickler da reinschreibt, ist höchst unterschiedlich.

> Beispielsweise ist der Kommentar zu n take: k (d. h. „n über k“) in der
> Klasse Integer gut verständlich: man erfährt, wozu die Methode dient. Aber
> was soll die Bemerkung: „Use a trick to go faster” ? Ist die Verbesserung
> eines Algorithmus ein „Trick“? Und welchen Trick meint der
> Kommentarschreiber?

(100 take: 98) = (100 take: 2)

> Der Kommentar zu roll: diceString in der Klasse Random  ist etwas
> merkwürdig: Da heißt es: „Roll some dice, DnD-style, according to this
> mini-grammar: …“. Wie man die Methode anwendet (Beispiel, analog zu „6 take:
> 3“), wird allerdings nicht verraten.
>
> Zu check: nDice liest man: „Roll some dice, WoD-style.” Was ist DnD-Stil,
> was WoD-Stil?

http://de.wikipedia.org/wiki/Rollenspielsystem

> An wen richten sich die Kommentare – an Fachleute,
> Squeak-Spezialisten, „Insider“ von Computerspielen?

An Benutzer dieser Methoden - wer die Begriffe nicht kennt, wird auch mit den Methoden nicht viel anfangen können. Sie sind Rollenspiel-spezifisch.

> Gerade diese (und andere) Unvollkommenheiten von Squeak machen das System
> allerdings sympathisch und (für Schüler) lehrreich. Sie erkennen, dass ein
> System, das staunenswert viele Dinge kann,  im Innern allerhand
> Inkonsequenzen und Mängel (bis hin zu schlichten Rechtschreibfehlern, siehe
> etwa „dice := epxr {pm expr}“ in roll:, ferner in addMorphFront:,
> invalidRect:, actorStateOrNil, balloonText, hasExtension u. v. a. m.)
> aufweist. Sie werden herausgefordert, die Mängel zu beheben, eventuell im
> Internet nachzuforschen („Wer ist John Maloney, Jesse Welton, Eliot Miranda,
> … ?“), die Kommentare zu ergänzen, die Algorithmen zu verbessern. Das hieße:
>
> „Informatik lernen = Squeak (a) verwenden, (b) erkunden, (c) verbessern.“

Finde ich auch.

Verbesserungen, selbst wenn es "nur" korrigierte Kommentare sind, werden gerne von der internationalen Entwicklergemeinde entgegengenommen.

- Bert -

Reply | Threaded
Open this post in threaded view
|

Re: Fragen zur „Teilchengrippe“ und anderen Merkwürdigkeiten

Markus Schlager-2
In reply to this post by R. Baumann
On Mon, 28 Jun 2010, R. Baumann wrote:

> In der Klappe Objekte/Demo heißt das Objekt „TeilchenGrippe“ (mit
> Binnenmajuskel); in der Hilfeblase lesen wir: „Die Original-Simulation von
> beweglichen Teilchen von John Maloney“. In der Klappe Geräte nennt sich das
> Objekt schlicht „Teilchengrippe“ und der Hilfetext lautet: „Hüpfende
> Teilchen, die sich anstecken“.

Nur ganz kurz die Frage, mit welchem Squeak-Image du eigentlich
arbeitest? Die Screenshots sehen nach Squeak3.9 aus. Konkret bin ich über
die deutsche Übersetzung 'Morf' gestolpert. Im Zuge der Etoys-Lokalisation
heißt das mittlerweile aber z.B. 'Morph'.

An der Stelle vielleicht dann doch die Frage, welches Image man eigentlich
nehmen sollte, wenn man frisch einsteigt. Bert, was meinst du?

Ich selber tendiere ja dazu, jedenfalls mit dem Etoys-Image anzufangen.
Wenn man nicht in die Tiefen von Smalltalk absteigen will, ist es in
meinen Augen übersichtlicher handzuhaben und besser dokumentiert - ich
würde mutmaßen, auch besser gepflegt, aber das weiß ich nicht - auf jeden
Fall scheint es mir näher an schulischen Interessen/Zielen. Meine
Zehntklässler kommen damit jedenfalls recht gut zurecht.

Für den Weg von da zu Smalltalk gibt es ja verschiedene Möglichkeiten. Die
naheliegendste wäre wohl, 'etoys friendly' zu deaktivieren und ggf. die
Entwicklerklappen zu installieren. Das habe ich selber noch nicht mit
Schülern gemacht. Letztes Jahr habe ich mit Squeak3.10 gearbeitet, dann
habe ich in der Zwischenzeit Pharo gesehen und bin heute über Squeak4.1
gestolpert.

Gerade Squeak3.9 ist ein doch recht volles Image, was für die Schüler
nicht unbedingt die Übersichtlichkeit fördert. Ich selber habe es etwas
als eine Reise durch den Dschungel erlebt, mich darin und in der
Dokumentation zurecht zu finden. Nun, mittlerweile hat sich da viel getan,
gibt es etwa SBE.

Der Lernpfad, den ich verfolge, sieht so aus (Gymnasium Bayern):

info7: Ablaufmodellierung und Einstieg ins Programmieren mit Scratch
info9: Modellierung von Datenflüssen mit den Connectors in Etoys
info10: Einstieg in objektorientierte Modellierung mit Etoys

Soweit mache ich das schon ein paar Jahre und bin damit sehr zufrieden.

Anschließend kommt objektorientiertes Programmieren. Da stellt sich dann
die Frage, ob Pharo oder Squeak 4.1 oder doch Etoys mit den
Entwicklerklappen. Squeak3.x würde ich (eher aus dem Bauch heraus) nicht
mehr nehmen. Mein persönlicher Eindruck ist ein unfuhiger.

Momentan tendiere ich etwas zu Pharo - nicht zuletzt wegen der
Dokumentationsanstrengungen um 'Pharo by example'. Klar, aufgeräumt. Frei
von Etoys.

Was mir an Squeak4.1 gefällt, ist vor allem die
Projekthierarchie/-navigation. Die vermisse ich bei Pharo. Geht das in
Pharo irgendwie einfach - 'neues Projekt' bzw. 'nächstes/voriges Projekt'?

Was mir am Etoys-Image gefällt, ist die deutsche Lokalisation - weiß
jemand, wie es darum bei Pharo bzw. Squeak4.1 steht? Bislang sehe ich bei
beiden nur Englisch. Man kann da gut und einfach hybrid arbeiten - Etoys
und Smalltalk-Programmiererei mischen. Konkret böte sich das an, um etwa
als Lehrer mit Bookmorphen einfach Aufgabenstellungen/Anleitungen/Hilfen
zu basteln. Andererseits weiß ich nicht so recht, ob ich den Schülern
hybrides Arbeiten ermöglichen will, oder ob das nicht eher verwirrt. Die
Idee, Anleitungen in Workspaces zu packen, gefällt mir schon auch. Aber
wie speichere ich so etwas in Pharo so, daß ich es an die Schüler
verteilen kann und die dann eben eine Welt mit den von mir angelegten
Workspaces sehen?

Naja, da muß ich wohl noch etwas nachdenken.

Schöne Grüße

Markus
Reply | Threaded
Open this post in threaded view
|

Re: Fragen zur „Teilchengrippe“ und anderen Merkwürdigkeiten

Markus Schlager-2
On Tue, 29 Jun 2010, Markus Schlager wrote:

[...]
> Squeak3.x würde ich (eher aus dem Bauch heraus) nicht mehr nehmen. Mein
> persönlicher Eindruck ist ein unfuhiger.

unruhiger

Markus
Reply | Threaded
Open this post in threaded view
|

Re: Fragen zur „Teilchengrippe“ und anderen Merkwürdigkeiten

Markus Schlager-2
In reply to this post by Markus Schlager-2
On Tue, 29 Jun 2010, Markus Schlager wrote:

> Was mir an Squeak4.1 gefällt, ist vor allem die
> Projekthierarchie/-navigation. Die vermisse ich bei Pharo. Geht das in Pharo
> irgendwie einfach - 'neues Projekt' bzw. 'nächstes/voriges Projekt'?

Antwort gefunden:
* http://lists.gforge.inria.fr/pipermail/pharo-project/2010-June/027702.html
* http://lists.gforge.inria.fr/pipermail/pharo-project/2010-June/027792.html

Markus
Reply | Threaded
Open this post in threaded view
|

Re: Fragen zur „Teilchengrippe“ und anderen Merkwürdigkeiten

R. Baumann
In reply to this post by Bert Freudenberg
Lernpfade durch den Squeak-Dschungel

„Ich selber habe es [Squeak 3.9] etwas als eine Reise durch den Dschungel erlebt“ (M. Schlager). Stimmt – das Squeak-System ist ein unergründlicher Irrgarten, voller Merkwürdigkeiten und Rätsel. Irgendwo im Dschungel begegnet man etwa Dungeons & Dragons und Rollenspiel-Grammatiken.

Markus Schlager schreibt weiter: „Der Lernpfad, den ich verfolge, sieht so aus (Gymnasium Bayern):
- info7: Ablaufmodellierung und Einstieg ins Programmieren mit Scratch
- info9: Modellierung von Datenflüssen mit den Connectors in Etoys
- info10: Einstieg in objektorientierte Modellierung mit Etoys.“

Hier ein Alternativ-Vorschlag (ohne Zuordnung zu Klassenstufen):
- Unterstufe: Verwendung der vorgegebenen Objekte, visuelles Programmieren mit Kacheln (ähnlich info7, aber nicht mit Scratch; ergänzend info9).
- Mittelstufe: Inspektion von Objekten und Klassen, Studium der Quelltexte anhand der Kommentare. Algorithmen und Datenstrukturen via Workspace.
- Oberstufe: Objektorientiertes Modellieren und Implementieren mit Klassen (Squeak 4.1).

„Verbesserungen, selbst wenn es "nur" korrigierte Kommentare sind, werden gerne von der internationalen Entwicklergemeinde entgegengenommen“ (B. Freudenberg).

Wenn die internationale Entwicklergemeinde weiß, dass die Kommentare von Lernenden und Lehrenden – gemäß dem Unterrichtskonzept „Lernen am Vorbild“ – gelesen und benötigt werden, wird sie vielleicht auf folgende Wünsche (bezüglich Kommentierung von Methoden) eingehen:
(1) Quelle (Name des Autors oder Literaturangabe), sofern nicht „Folklore“, auch Name des Programmierers / Kommentarschreibers.
(2) Umgangssprachliche Beschreibung des Algorithmus.
(3) Aufruf der Methode an einem einfachen Beispiel.
(4) Eventuell Kommentarzeilen im Programmtext.

Einige dieser Wünsche sind durchaus erfüllt:
• Beim ggT (gcd) wird auf Knuth, Band 2, verwiesen.
• Ähnlich bei isProbablyPrime.
• Bei raisedTo: y modulo: n wird Jesse Welton als Programmierer genannt.
• Zufallszahlen (nextValue): Verweis auf die Literatur.

Andererseits sollte man hier nicht Perfektion erwarten, damit für die Lehrer etwas zu kritisieren und für die Schüler noch etwas zu verbessern bleibt. So können beispielsweise schon Mittelstufen-Schüler Inkonsequenzen erkennen und Verbesserungsvorschläge machen, wenn man sie etwa untersuchen lässt, wie die Funktionen even und odd in den Klassen Number, Integer, SmallInteger realisiert sind.

Reply | Threaded
Open this post in threaded view
|

Re: Fragen zur „Teilchengrippe“ und anderen Merkwürdigkeiten

Bert Freudenberg
On 29.06.2010, at 10:35, R. Baumann wrote:

>
> „Verbesserungen, selbst wenn es "nur" korrigierte Kommentare sind, werden
> gerne von der internationalen Entwicklergemeinde entgegengenommen“ (B.
> Freudenberg).
>
> Wenn die internationale Entwicklergemeinde weiß, dass die Kommentare von
> Lernenden und Lehrenden – gemäß dem Unterrichtskonzept „Lernen am Vorbild“ –
> gelesen und benötigt werden, wird sie vielleicht auf folgende Wünsche
> (bezüglich Kommentierung von Methoden) eingehen:
> (1) Quelle (Name des Autors oder Literaturangabe), sofern nicht „Folklore“,
> auch Name des Programmierers / Kommentarschreibers.
> (2) Umgangssprachliche Beschreibung des Algorithmus.
> (3) Aufruf der Methode an einem einfachen Beispiel.
> (4) Eventuell Kommentarzeilen im Programmtext.

Das ist nicht, was ich schrieb. Verbesserungen werden gerne gesehen. Nicht Forderungen, auch wenn sie als "Wünsche" verschleiert sind.

So ist das in einer von Freiwilligen getragenen Entwicklung. Die Kommentare verbessern sich nicht von allein. Jemand muss das machen. Und wenn einem selbst das wichtig ist, macht man es eben selbst. Oder man findet jemanden, der es macht. Wie man denjenigen überzeugt, ist der eigenen Fantasie überlassen - durch Enthusiasmus, als Belegarbeit, durch Geld, es gibt da viele Möglichkeiten.

Das Gute ist, man selbst hat die Macht, die Dinge zum Besseren zu kehren. Das "Schlechte", man muss es auch tun.

- Bert -