[Squeak-ev] Scratch in Deutschland/Österreich/Schweiz - und bei squeak.de?

Markus Schlager m.slg at gmx.de
Don Nov 22 22:25:28 UTC 2007


Hallo Guido,

On Thu, 22 Nov 2007, stepken wrote:

> > Die Lehrpläne sind im Internet veröffentlicht.
> Wo genau? Das würde mich auch noch interessieren, damit ich meine Tutorials
> direkt schon ordnen kann.

Für das Gymnasium in Bayern <http://www.isb-gym8-lehrplan.de>.


> >   Was ich z.B.    ausgesprochen gut brauchen könnte, wären
> > - Datenflussdiagramme, die etwas tun (z.B. rechnen, Strings verarbeiten,
> >   Skripte starten... -- rechnen können meine Diagramme schon)
> >   
> Ist Dir schon einmal aufgefallen, diese frappierende Ähnlichkeit zwischen den
> ETOYS / Scratch Programmierkacheln und Nassi/Shneidermann Diagrammen?
> 
> http://de.wikipedia.org/wiki/Nassi-Shneiderman-Diagramm

Weiß ich.

> 
> Und da steht auch drin, dass sich diese Diagramme nicht für Objektorientierung
> eigenen, wofür dann UML 2.0 entwickelt wurde. Schluss: ETOYS ist zwar
> objektorientiert geschrieben, selber aber kann man damit keine
> objektorientierte Programmierung lernen.
> 
> Und tatsächlich ist es so, dass Du mit Scratch/ETOYS halt nur an ganz wenigen
> Stellen was von OO (Polymorphie) merkst.
> 

Weiß ich auch, aber ich nutze in der künftigen 10. Klasse (derzeit noch 
11.) nicht die eToys, sondern versuche Smalltalk an den Mann zu 
bringen. Das Thema lautet 'objektorientierte Modellierung und 
Programmierung.

> Viel interessanter ist es, Petri-Netze der Programmstrukturen zuvor zu malen,
> z.B. mit WoPeD. Da kann man dann auch noch die Prozesslogiken austesten. Die
> Zukunft geht genau dort hin. Wenn ich Programmcode sehe, bin ich geneigt,
> daraus erst einmal die Entscheidungslogiken zu extrahieren (das geht z.B. mit
> Python Smalltalk oder Ruby sehr gut, daraus dann XML zu extrahieren und nach
> PNML zu konvertieren, damit man die Programmflusslogiken, also den
> Möglichkeitsraum der Zustände, die ein Programm annehmen kann, analysieren
> und Fehler nachweisen kann, z.B. mit WoPeD
> 

Das werde ich mir bei Gelegenheit einmal näher ansehen, könnte für die 
künftige Oberstufe (11/12) interessant werden. Danke für den Tip!


> Es gibt da eine Reihe von Tools für verschiedene Programmiersprachen, wo es um
> die Sicherstellung der logischen Fehlerfreiheit von Programmen und ihren
> impliziten Ablaufslogiken geht. Ich habe z.B. mal so etwas analysiert, als es
> um mögliche Deadlocks beim Multiprocessing ging. Die Anregung war das
> "Philosophenproblem", welches mit Petrinetzen simuliert werden kann.
> > - Visualisierungen von Smalltalk-Code in Form von UML-Diagrammen,
> >   idealiter auch so, daß die UML-Diagramme der Ausgangspunkt sind und
> >   entsprechenden Smalltalk-Code generieren. BlueJ ist hier die
> >   Standardkonkurrenz.
> >   
> Ochja. Rational Rose, nun IBM, Plugin in Eclipse ist ja auch ladbar aus dem
> Internet. Nur - die Einarbeitungszeit beträgt mind. 1 Jahr für ausgebildete
> Informatiker. Muss wirklich mit UML Kanonen auf Kinder geschossen werden? Ich
> denke nicht. Nassi-Shneidermann genügt vollauf.

Das habe ich nicht zu beurteilen. Nassi-Shneidermann ist das Thema in der
7. Klasse. Dort geht es um Algorithmen und Abläufe. In Klasse 9 habe ich
Datenflussdiagramme und ER-Modellierung zu vermitteln sowie
Tabellenkalkulation und SQL. In Klasse 6 und 10 geht es um Objekte und
Klassen, insbesondere Aggregation und Generalisierung sowie
(vereinfachtes) UML (keine Anwendungsfälle, sondern lediglich
Klassenbeziehungen) und die Umsetzung dieser OO-Konzepte in einer
geeigneten Programmierumgebung. Der Schwerpunkt liegt bei all diesen
Dingen auf der Modellierung. Im Mittelpunkt stehen die verschiedenen
Modellierungstechniken und deren Visualisierung in verschiedenen
Diagrammformen. Und so nebenher sollen die Schüler lernen, wie man in
Teams etwas auf die Beine stellt.

> > - Ideen für schlaue Projekte, die sich etwa mit einer 10. Klasse bei
> >   zweistündigem Informatikunterricht sinnvoll realisieren lassen.
> Recht wenig. Ich weiss aus Berichten aus Schulen, dass viele Lehrer mit BlueJ
> und Java arbeiten. Und auch da treten unglaublich viele Probleme auf, z.B.
> fängt es damit an, dass Kinder kein Windows, sondern Mac OS X zuhause haben,
> und nicht wissen wie sie die Library vom Lehrer in den Classpath einbinden
> sollen. Lehrer weiss es auch nicht. Ich rate: Weniger ist mehr. Lieber
> anspruchsvollere Aufgaben in Scratch und dann ETOYS, als mit UML anfangen.
> Nassi genügt vollauf, um Denkstrukturen zu trainieren. Man kann mal auch mal
> das eine oder andere Flussdiagramm  in UML übertragen. Aber nicht den
> Unterricht damit gestalten!
> 

Fachdidaktiker von der M"unchner LMU probieren bei uns im Haus gerade 
mit zwei Klassen Unterrichtskonzepte mit BlueJ aus. 

> Datenbanken .... tsss. Die müssen erst einmal Mengenlehre nochmal wiederholen,
> bevor man die an SQL ransetzt. Und dann kommt noch dazu, das SQL eben OO
> untypisch ist, siehe "impedance missmatch":
> http://www.google.de/search?q=%22impedance+mismatch%22+stepken&hl=de&client=oper
> a&rls=de&hs=sHJ&lr=lang_de&sa=X&oi=lrtip&ct=restrict&cad=9
> 

'Wiederholen' ist gut bei der Mengenlehre. 'Erst einmal überhaupt 
machen' - nicht im Lehrplan. Was die Datenbanken anbelangt, ist OO eben 
nicht alles, aber es wäre geschickt, wenn die Schüler in der 10. im 
Rahmen von Projekten auch ihr Datenbanken-Wissen aus der 9. sinnvoll 
einsetzen könnten. 

Schöne Grüße

Markus