[Squeak-ev] SqueakInf11-Schlager Anmerkungen

Markus Schlager m.slg at gmx.de
Son Mar 11 22:48:26 UTC 2007


Hallo Guido!

Erst einmal vielen Dank für deine Anmerkungen. Wie es aussieht, muß ich
wohl ein paar Sachen erzählen, um das eine oder andere verständlicher zu
machen.

Zunächst einmal zu mir selber: Im Grunde habe ich von Squeak und
Smalltalk keine Ahnung, komme auch nicht aus der Informatik, sondern bin
von meiner Ausbildung her (reiner) Mathematiker (war einmal in der
algebraischen Geometrie zu Hause) und Lehrer für Mathematik und Physik
mit einer berufsbegleitenden Nachqualifikation für Informatik. Eine
Sache, die in meinem Tutorial passiert, ist daher z.B. ein schlichtes
Mitprotokollieren meines eigenen Erlernens von Smalltalk.

Was sich ohnehin woanders in für mich brauchbarer Form findet. habe ich
(soweit für meine Zwecke nötig) verlinkt, aber nicht dupliziert - dazu
gehören natürlich drive-a-car und lunar-lander sowie die sonstigen
Standardprojekte. Diese Dinge finden sich z.B. in Heiko Schröders
Tutorial, auf das ich die Schüler als erstes auch angesetzt habe. In
meine Folien aufgenommen habe ich dagegen (in meinen Augen)  grundlegende
Techniken im Umgang mit eToys, die ich, ehrlich gesagt, nirgends
vernünftig dokumentiert gefunden habe, sondern durch Herumprobieren und
(kontinuierliches) Mitlesen von Mailinglisten gelernt habe. Squeak als
Entwicklungsumgebung findet sich immerhin fremdsprachig dokumentiert, aber
die Begeisterung meiner Schüler, sich Informationen aus französischen
oder spanischen Quellen zusammenzusuchen, hält sich in Grenzen.

Zum Sinn und Zweck des Tutorials:

An sich geht es hier nicht (primär) um Squeak, sondern um den
Informatikunterricht an einem bayerischen Gymnasium, momentan in der 11,
Jahrgangsstufe, künftig (und dann nicht mehr nur an einigen wenigen
Gymnasien wie bislang) dann (ab Schuljahr 2008/9) in der 10. Klasse.
Dadurch steht es in einem Kontext (Lehrplan), der auch erklärt, warum UML
und Flußdiagramme hier eine wesentliche Rolle spielen. Das große Thema
im Unterricht heißt nicht 'Programmieren' sondern 'Ablaufmodellierung'.
Squeak/Smalltalk hat die Rolle eines Beispiels, um Modellierungstechniken
umzusetzen. Was die Lehrerbildung in Bayern anbelangt, werden die Kollegen
vermutlich primär auf Java getrimmt, was sich wohl auch in den (noch zu
schreibenden) Schulbüchern widerspiegeln wird. Was ich hier mache, ist,
Alternativen auszuprobieren und sie in einem Lehrernetzwerk auch ein wenig
zu propagieren. Die letzten Jahre habe ich mit Python gearbeitet (das ist
auch der Grund, warum in den Folien der Heron-Algorithmus (noch nur) in
Python implementiert ist - ich wußte in dem Moment schlicht noch nicht,
wie man das in Smalltalk macht).

Der Grund, warum ich auf Smalltalk gestoßen bin, sind zwar die eToys,
aber die sind in der Unterstufe relevant. Dort lernen die Schüler (bei
mir mittlerweile mit Scratch) die Grundstrukturen imperativer Programme.
In Klasse 10 soll dann das objektorientierte Paradigma im Mittelpunkt
stehen, und Squeak bietet in meinen Augen die schöne Möglichkeit, hier
das Innenleben des aus der Unterstufe vertrauten Werkzeugs zu erkunden.
Deshalb probiere ich das dieses Jahr aus.

Was ich gerne wüßte - eine Frage an die produktiv arbeitenden Squeaker:

Wie sieht der typische Workflow bei GUI-Programmierung in Squeak aus?  
Baut ihr GUIs üblicherweise via Maus aus Morphen zusammen und erzeugt
daraus dann irgendwie neue Klassen, oder ist der typische Weg doch der,
alles quelltextorientiert im Browser zu konzipieren? (Nach Erlernen der
Grundkonzepte, sollen die Schüler schließlich ein 'typisches' Projekt
umsetzen.)

Warum ausgerechnet Squeak 3.9:

Die eToys sind hier nur eine Randerscheinung. Die Ablaufmodellierung soll
in einer typischen Programmierumgebung erprobt werden, also geht es um
Smalltalk. Soviel ich auf den Mailinglisten gelernt habe, sind dafür die
images von squeak.org 'zuständig'. Abgesehen davon bin ich zu wenig
Fachmann, um die Qualitäten verschiedener images wirklich würdigen zu
können.

Unterrichtlicher Kontext:

Das große Thema in den vier Unterrichtsjahren heißt Modellierung unter
objektorientierten Vorzeichen. Was die Schüler lernen sollen, ist
übersichtliche und strukturierte Darstellung von 'Information'. Kurz
gesagt, ist das wichtigste der Umgang mit verschiedenen Formen von
Diagrammen und die Erkenntnis, daß diese ein richtig wertvolles Vehikel
sind. Alles was mit Rechnern zu tun hat (also z.B auch das Programmieren)
ist ein *Neben*produkt des Unterrichts.

Immer vorausgesetzt, daß die Schüler überhaupt qualifiziertes
Lehrpersonal haben, lernen sie:

6. Klasse (bislang 10. Klasse):

Klassen und Objekte. Dazu gehört ganz massiv (vereinfachtes) UML, an sich
auch Datenkapselung (wie von Dir angesprochen) und das
Nachrichtenkonzept). Umgesetzt wird das (in meinen Augen eher
ungeeigneterweise) mit Vektorgraphiken, Textdokumenten, Präsentationen
und Hypertext.

7. Klasse (im Moment eben auch 11. Klasse):

Ablaufmodellierung, insbesondere die klassischen imperativen Strukturen.
Im Prinzip z.B. eine Sache für eToys, denen bislang aber die Schleifen
fehlten. Scratch paßt hier wie die Faust aufs Auge. Von der Modellierung
her propagieren die Schulbücher an dieser Stelle Struktogramme - ich
selber finde Flußdiagramme 'besser'.

9. Klasse (ab 2007/8):

Datenflüsse und Datenmodellierung, insbes. auch ER-Modell und Datenbanken

10, Klasse (ab 2008/9, im Moment auch noch 11. Klasse):

OOM und OOP, mehr 'M' als 'P'. Konkrete Umsetzung steht noch aus.  (Wer
Smalltalk propagieren will, kann gern die Schulbuchverlage anbohren.)

Wesentliche Grundkonzepte sind den Schülern, für die das Tutorial
gedacht ist, also bereits vertraut (etwas das Objekt-Konzept). Zudem gibt
es im Unterricht auch einen Lehrer, der den roten Faden etwas ziehen kann.

Ein Vergleich mit anderen Programmiersprachen ist in dem Kontext
bedeutungslos, weil das hier für die Mehrheit der Schüler die erste
Sprache ist, die sie überhaupt lernen. Squeakspezifische Spezialtricks
sind auch sekundär, da die Schüler primär 'typische' Dinge lernen
sollen.  Freilich sind sie ein wenig das Salz in der Suppe, aber an der
Stelle muß ich auch offen erklären, daß ich die wenigsten selbst kenne.
Squeak eröffnet sich mir auch erst nach und nach. (Da geht es unter
anderem auch noch um so Probleme wie sich nicht mehr öffnen oder
speichern lassende Projekte - 'Unterricht in Echtzeit' ;-) )

Schöne Grüße

Markus
-----------------------------------------------
 Markus Schlager               m.slg(at)gmx.de