Wer kennt "Panther"?

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

Wer kennt "Panther"?

R. Baumann
Es wird Zeit, dass die Etoys-Squeak-Gemeinde hierzulande allmählich aus ihrem Dämmerschlaf erwacht, damit sie nicht eventuell vom "Panther" aufgefressen wird.

"Panther is a Scratch modification that offers greater manipulation, such as blocks that create, move, show, and hide lists and variables, has the ability to clone and delete sprites, and offers external file manipulation."

Von kompetenter Seite ist zu erfahren: Panther schließt die Lücke zum textuellen Programmieren.
Eigene Bausteine können in Smalltalk-Code selbst geschrieben werden (Variables -> "Make a block"), ebenso kann man den Quellcode zu den Skripten inspizieren (Rechtsklick -> "show tuples" bzw. "edit block").

Es geht um die Frage: Welche visuelle Sprache (mit der Möglichkeit des Übergangs zum textuellen Programmieren) eignet sich am besten für den Informatik-Anfangsunterricht (ab Primarstufe)?

R. B.
Reply | Threaded
Open this post in threaded view
|

Re: Wer kennt "Panther"?

Markus Schlager-2
On Fri, 18 Nov 2011, R. Baumann wrote:

> Es geht um die Frage: Welche visuelle Sprache (mit der Möglichkeit des
> Übergangs zum textuellen Programmieren) eignet sich am besten für den
> Informatik-Anfangsunterricht (ab Primarstufe)?

Ich selber habe mich, ehrlich gesagt, weitgehend von der Idee
verabschiedet, einen gleitenden Übergang vom visuellen zum textuellen
Programmieren zu suchen. Für imperative Strukturen ist das ganz in
Ordnung. Da ist es auch schön, in Etoys auf die Textversion von Skripten
zugreifen zu können, wobei mir hier die wenig sprechenden Variablennamen
't1' nicht so zusagen. Nachdem ich aber OOP unterrichten soll, bleibt in
meinen Augen immer eine große Hürde, die mich dazu veranlaßt, nach dem
visuellen Programmieren einen echten Schnitt zu setzen und in einer rein
textorientierten Programmierwelt weiterzuarbeiten: Die Erzeugung der
Objekte.

Die ist in beiden Programmierwelten völlig verschieden. Visuell male ich
Objekte oder hole sie aus irgendwelchen Lagern. In der 'echten OOP' muß
ich erst einmal einen Konstruktor schreiben. Das fehlt im visuellen
völlig, ist aber zugleich der erste und, ich denke, auch wichtige Schritt,
den ich bislang aber nicht organisch aus z.B. Etoys heraus lösen konnte.

Markus

P.S. Panther kannte ich bislang noch nicht. Wenn es wie Scratch ist,
dürfte es für den Durchschnittsgymnasiasten leichter zu bedienen sein als
Etoys - weniger Verstecktes in der Bedienoberfläche. Freilich sehen
Etoys-Projekte am Ende besser aus, weil man die ganze Welt zur Verfügung
hat.
Reply | Threaded
Open this post in threaded view
|

Re: Wer kennt "Panther"?

Markus Schlager-2
In reply to this post by R. Baumann
On Fri, 18 Nov 2011, R. Baumann wrote:

> "Panther is a Scratch modification that offers greater manipulation, such as
> blocks that create, move, show, and hide lists and variables, has the
> ability to clone and delete sprites, and offers external file manipulation."
>
> Von kompetenter Seite ist zu erfahren: Panther schließt die Lücke zum
> textuellen Programmieren.
> Eigene Bausteine können in Smalltalk-Code selbst geschrieben werden
> (Variables -> "Make a block"), ebenso kann man den Quellcode zu den Skripten
> inspizieren (Rechtsklick -> "show tuples" bzw. "edit block").
>
> Es geht um die Frage: Welche visuelle Sprache (mit der Möglichkeit des
> Übergangs zum textuellen Programmieren) eignet sich am besten für den
> Informatik-Anfangsunterricht (ab Primarstufe)?
Ich habe mir das jetzt ein wenig angesehen. Was mir gut gefällt, ist z.B.
die Möglichkeit, per Block Sprites clonen zu können. Das geht ein wenig in
Richtung Klassenkonzept, was Etoys mit den Geschwistern ja auch bietet.
Wie viel das Schreiben eigener Blöcke wirklich wert ist, weiß ich nicht so
recht. Das sieht mir eher nach einem Feature für Cracks aus, die ohnehin
schon Smalltalk können. Es stellt sich allein schon die Frage, welche
Funktionalitäten solch eigene Blöcke haben sollen. Wenn man vom
vorhandenen ausgeht, zielt es Richtung Datenzugriffe ab. Ansonsten
bleiben noch Dinge, die sich nicht mit Sprites oder Stiftspuren am
Bildschirm darstellen lassen.

Im Blick auf objektorientierte Modellierung und Programmierung - unter
diesem Paradigma steht der derzeitige Informatikunterricht schießlich,
fehlen mir aber zwei Dinge ganz wesentlich - es sind die gleichen Dinge,
die ich seit jeher auch bei Scratch vermisse (vielleicht liest du ja mit,
Jens :) ):

1. Auch Panther arbeitet offenbar nur mit Broadcast-Nachrichten. Das macht
es richtig schwer, Sprites eigene Methoden mit einem Methodennamen
beizubringen. (Rückgabewerte wären mir für den Einstieg ins
Programmieren egal.) Ich hätte wahnsinnig gerne etwas in der Art

  "sende an [Katze][machPurzelbaum]"
  oder
  "sende an [Katze][machPurzelbaum] und warte"

Dann könnte ich bei der Katze sinnvollerweise ein Skript mit dem Kopf

  "wenn ich [machPurzelbaum] erhalte"

bauen und müßte mir nicht immer einen Kopf darum machen, ob eigentlich ein
anderer Sprite auch Purzelbäume machen kann. Wie hier schon öfter
angeklungen, geht es bei der Objektorientierung doch eigentlich um eine
Nachrichtenorientierung - Nachrichten mit Empfänger.

So muß ich immer tricksen: "sende an alle [Katze_machPurzelbaum]". Das
interessiert die anderen Sprites aber doch gar nicht, oder jedenfalls
nicht immer.

2. Wenn schon Variablen, dann bitte auch Sprite-wertige Variablen. Es
scheint in Panther Variablen zu geben, die zumindest den Namen eines
Sprites verwalten - aber ist das nur der String oder wirklich ein Zeiger
auf den Sprite?

Etoys hat das alles, wird aber beim Kachelprogrammieren leicht etwas
unübersichtlich (Scratch hat da z.B. beim Rechtsklick die Option, etwas
aufzuräumen). Allerdings ist es in Etoys z.B. richtig gut, daß man Skripte
verschiedener Darsteller gleichzeitig sehen kann. Vielleicht wäre es da
schön, wenn man in Etoys seine Skripte nicht direkt in der Welt bauen
würde, sondern in einer Klappe, die z.B. auch eine verkleinerte Vorschau
der Welt enthält. Oder wenn es in der Navigationsklappe eine einfach zu
bedienende Ansichtsauswahl gäbe:
- Alle gerade offenen Skripte minimieren
- Alle gerade offenen Skripte maximieren und die anderen Darsteller nur in
einer Miniwelt in einer Ecke darstellen
- Etoys-Standardansicht: Alles bunt durcheinander ;)

Was meinst du, Bert?

Markus
Reply | Threaded
Open this post in threaded view
|

Re: Wer kennt "Panther"?

Bert Freudenberg
On 20.11.2011, at 20:32, Markus Schlager wrote:

> Etoys hat das alles, wird aber beim Kachelprogrammieren leicht etwas unübersichtlich (Scratch hat da z.B. beim Rechtsklick die Option, etwas aufzuräumen). Allerdings ist es in Etoys z.B. richtig gut, daß man Skripte verschiedener Darsteller gleichzeitig sehen kann. Vielleicht wäre es da schön, wenn man in Etoys seine Skripte nicht direkt in der Welt bauen würde, sondern in einer Klappe, die z.B. auch eine verkleinerte Vorschau der Welt enthält. Oder wenn es in der Navigationsklappe eine einfach zu bedienende Ansichtsauswahl gäbe:
> - Alle gerade offenen Skripte minimieren
> - Alle gerade offenen Skripte maximieren und die anderen Darsteller nur in einer Miniwelt in einer Ecke darstellen
> - Etoys-Standardansicht: Alles bunt durcheinander ;)
>
> Was meinst du, Bert?
>
> Markus


Das sollte mal jemand als Vorschlag auf die Entwicklerliste posten. Oder wenigstens auf die Squeaklandliste, da lesen außer den Lehrern auch die Entwickler mit.

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: Wer kennt "Panther"?

Jens Mönig
Panther ist in vielerlei Hinsicht bemerkenswert!

Das erstaunlichste dabei ist, dass es spontan von einer Gruppe Kindern und Jugendlicher ganz ohne Beteiligung von Erwachsenen entstanden ist. Die Panther-Entwickler kamen aus verschiedenen Ländern und haben sich auf der Scratch Webseite getroffen und ihre Entwicklungen über das Scratch Forum miteinander abgestimmt. Dabei haben sie im wesentlichen den Scratch Quellcode nach Features durchforstet, mit denen John Maloney mal irgendwann experimentiert hat (z.B. Clonen von Sprites), die aber in Scratch nicht offiziel "freigeschaltet" worden sind. Teilweise arbeiten sie jetzt an BYOB und Snap mit.

Markus, die Idee "Nachrichten" nicht nur "an alle" senden zu können, sondern auch an einzelne Sprites, ist vielleicht nicht wirklich das, wonach Du suchst. Ich glaube, dass hier die Nomenklatur "Nachrichten" dem Missverständnis Vorschub leistet, dass das irgendwas mit "message passing" à la Objektorientierung zu tun hat. In Wahrheit sind Scratch-Nachrichten wohl eher Ereignisse (events), denn es können z.B. auch keine Argumente mitgegeben werden. Gleiches gilt für Scratch-Skripte, die m.E. keine Methoden iSv Smalltalk sind, sondern eher "Event-listeners". Scratch ist nicht objektorientiert, dazu fehlt es an Vererbung und eben an Message Passing, und man müsste sich schon ziemlich verbiegen, Objektorientierung anhand von Scratch zu lehren. Gleiches gilt - glaube ich zumindest - auch für Etoys. In BYOB haben wir in der aktuellen Version 3.1.1 prototypische - also nicht klassenbasierte - Vererbung im Stil von Henry Lieberman, und auch echtes Message Passing, die Kursmaterialien speziell zu dieser Art von OO in BYOB sind aber zurzeit noch in der Mache für das Sommersemester 2012.
Reply | Threaded
Open this post in threaded view
|

Re: Wer kennt "Panther"?

Guido Stepken
Hallo, Jens!

*lach*

Ganz Smalltalk besteht aus kontextorientierten Event- oder genauer Message - Listeners, genannt "Objekte"

Have fun, Guido Stepken

Am 21.11.2011 um 14:42 schrieb Jens Mönig <[hidden email]>:

> Panther ist in vielerlei Hinsicht bemerkenswert!
>
> Das erstaunlichste dabei ist, dass es spontan von einer Gruppe Kindern und
> Jugendlicher ganz ohne Beteiligung von Erwachsenen entstanden ist. Die
> Panther-Entwickler kamen aus verschiedenen Ländern und haben sich auf der
> Scratch Webseite getroffen und ihre Entwicklungen über das Scratch Forum
> miteinander abgestimmt. Dabei haben sie im wesentlichen den Scratch
> Quellcode nach Features durchforstet, mit denen John Maloney mal irgendwann
> experimentiert hat (z.B. Clonen von Sprites), die aber in Scratch nicht
> offiziel "freigeschaltet" worden sind. Teilweise arbeiten sie jetzt an BYOB
> und Snap mit.
>
> Markus, die Idee "Nachrichten" nicht nur "an alle" senden zu können, sondern
> auch an einzelne Sprites, ist vielleicht nicht wirklich das, wonach Du
> suchst. Ich glaube, dass hier die Nomenklatur "Nachrichten" dem
> Missverständnis Vorschub leistet, dass das irgendwas mit "message passing" à
> la Objektorientierung zu tun hat. In Wahrheit sind Scratch-Nachrichten wohl
> eher Ereignisse (events), denn es können z.B. auch keine Argumente
> mitgegeben werden. Gleiches gilt für Scratch-Skripte, die m.E. keine
> Methoden iSv Smalltalk sind, sondern eher "Event-listeners". Scratch ist
> nicht objektorientiert, dazu fehlt es an Vererbung und eben an Message
> Passing, und man müsste sich schon ziemlich verbiegen, Objektorientierung
> anhand von Scratch zu lehren. Gleiches gilt - glaube ich zumindest - auch
> für Etoys. In BYOB haben wir in der aktuellen Version 3.1.1 prototypische -
> also nicht klassenbasierte - Vererbung im Stil von Henry Lieberman, und auch
> echtes Message Passing, die Kursmaterialien speziell zu dieser Art von OO in
> BYOB sind aber zurzeit noch in der Mache für das Sommersemester 2012.
>
> --
> View this message in context: http://forum.world.st/Wer-kennt-Panther-tp4084535p4091514.html
> Sent from the Deutsch (German) mailing list archive at Nabble.com.
Reply | Threaded
Open this post in threaded view
|

Re: Wer kennt "Panther"?

Markus Schlager-2
In reply to this post by Jens Mönig
Hallo Jens,

On Mon, 21 Nov 2011, Jens Mönig wrote:
[...]

> Markus, die Idee "Nachrichten" nicht nur "an alle" senden zu können, sondern
> auch an einzelne Sprites, ist vielleicht nicht wirklich das, wonach Du
> suchst. Ich glaube, dass hier die Nomenklatur "Nachrichten" dem
> Missverständnis Vorschub leistet, dass das irgendwas mit "message passing" à
> la Objektorientierung zu tun hat. In Wahrheit sind Scratch-Nachrichten wohl
> eher Ereignisse (events), denn es können z.B. auch keine Argumente
> mitgegeben werden. Gleiches gilt für Scratch-Skripte, die m.E. keine
> Methoden iSv Smalltalk sind, sondern eher "Event-listeners". Scratch ist
> nicht objektorientiert, dazu fehlt es an Vererbung und eben an Message
> Passing, und man müsste sich schon ziemlich verbiegen, Objektorientierung
> anhand von Scratch zu lehren. Gleiches gilt - glaube ich zumindest - auch
> für Etoys.
Lehrer sind flexibel - das mit dem Verbiegen klappt in diesem Fall ganz
gut... ;)

Ich selber benutze Scratch und Etoys jedenfalls tatsächlich zur Hinführung
zum objektorientierten Denken. In Etoys zumindest habe ich dabei sogar das
Gefühl, Vererbung zu nutzen, wenn ich mir für das Objekt, das ich brauche,
etwas möglichst passendes aus dem Lager suche und dem dann zusätzliche
Skripte und Variablen beibringe. Daß Scratch z.B. im eigentlichen Sinn gar
nicht objektorientiert ist, tut mir dabei nicht weiter weh. Was die Kinder
mit den Sprites vor sich haben, sind zumindest in einem naiven Sinn
Objekte, die etwas tun können.

Was die Schüler in der 7. Klasse dabei lernen sollen sind zum einen
algorithmische Denkweisen, die sich in den Skripten widerspiegeln, zum
anderen aber, daß man einem Objekt etwas sagen muß (eine Nachricht
schicken/eine Methode aufrufen), damit es etwas tut. Da kann ich mir in
Scratch mit dem "sende an/wenn ich erhalte" zumindest angenehm einfach
hinbasteln und bin, ehrlich gesagt, auch glücklich. Fehlt mir nur, daß ich
events auch gezielt für einen bestimmten Sprite auslösen kann.

(Lernen sollen die Kinder das Methodenaufrufkonzept eigentlich anhand von
Objekten in Vektorgrafiken und Textdokumenten. Es geht da um Nachrichten
der Art 'blauesRechteck.wechsleFüllfarbe(rot)'.)

Scratch und Etoys sind richtig feine Werkzeuge - und es tut mir aufrichtig
leid, daß manche Informatiklehrer wie ich sie gnadenlos für unsere eigenen
Zwecke bzw. die des Lehrplans mißbrauchen. (Das ist später mit BlueJ z.B.
sicher auch nicht anders, vermute ich.) Es gibt momentan keine besseren
Werkzeuge für den Unterrichtseinsatz - oder ich kenne sie zumindest nicht.

Markus
Reply | Threaded
Open this post in threaded view
|

Alle Schüler sollten Programmiernen lernen

Mirek Hancl
"BBC-Kolumnist Bill Thompson findet: Nur wer Hardware und Software versteht, ist ein mündiger Bürger. Auch iPhones entsperren zu können, sei wichtig – wegen Apples Zensur."
Den vollständigen Artikel gibt es unter: http://www.zeit.de/digital/internet/2011-11/bill-thompson-digitale-bildung

Gruß,
Mirek