Processing

Nachdem der Kollege Ingo neulich bereits freiwillige Zusatzaufgaben für die Weihnachtsferien verteilt hat, will ich auch nicht zurückstehen und hier auch etwas vorstellen, das sich der eine oder andere ja in den Weihnachtsferien anschauen und auf Unterrichtstauglichkeit abklopfen könnte.

Eines meiner Ziele ist ja, auch Schüler für Informatik zu interessieren, die nicht sowieso schon der klassischen Zielgruppe <klischee>männlich, technik-affin, gut in Mathe, nicht so gut in Sprachen, Kunst und Musik</klischee> angehören.  Damit das was werden kann, sollten auch die Beispiele und Projekte, an denen Konzepte erarbeitet werden, aus Bereichen stammen, die diese Schüler ansprechen.

Processing ist eine einfache Programmierumgebung zum Erstellen von Grafiken und
(interaktiven) Animationen. Kurz gesagt: mit Processing macht man Kunst. Programmiert wird dabei in einer Art „Simplified Java“, das den Zugriff auf Grafikfunktionen (und auch anderes, z.B. Mausabfrage) stark vereinfacht.

Ich will erstmal gar nicht allzuviel über die Programmierung in Processing erzählen, sondern nur neugierig machen und euch – natürlich – meine allererste Processing-Grafik zeigen, die ich heute erstellt habe:

Ist doch schon recht hübsch, nicht? Noch ein bisschen zu symmetrisch und rund für meinen Geschmack, zu eindeutig algorithmisch generiert – aber ein Anfang ist es allemal. Und das mit einem Programm von 20 Zeilen. Auf den Code an sich will ich heute aber gar nicht eingehen, sondern auf die Art wie er entstanden ist:

Ich hatte mich in den letzten Wochen immer mal wieder ein bisschen eingelesen, Processing aber noch nie selbst benutzt.  Heute habe ich mich dann ohne weitere Dokumentation einfach hingesetzt, Processing gestartet und hatte nach einer (!) Minute meine erste Grafik auf dem Bildschirm.  An dieser habe ich dann einfach immer weitergebastelt, bis ich nach gefühlt 20 Minuten die Grafik oben produziert hatte. (In Wirklichkeit war’s wohl doch eine Stunde –> Flow!) Dazwischen hab ich wahrscheinlich hundert mal Cmd-R („Run“) gedrückt und mir angeschaut, was passiert.

„Hm, das ist doch nicht, was ich wollte? Ach so, klar, ich weiß warum. So, jetzt tut’s. Aber irgendwie ist das doch nicht so besonders hübsch. Was will ich eigentlich überhaupt machen? Wie kann ich das hinbekommen? Welche Sprachkonstrukte brauche ich dazu, die ich noch gar nicht kenne? Besser schnell mal nachschauen. Ach, da hab ich zufällig noch was über verschiedene Farbsysteme gelernt… bauen wir das doch mal ein – grau war sowieso nicht so doll…“

Dieses iterative und explorative Vorgehen ist ungeheuer befriedigend.  Die Erfolgserlebnisse kommen schnell und häufig, man bekommt jederzeit Feedback („Ja, der Herr Python-Programmierer hat schon wieder ein Semikolon vergessen!“), man hält ganz automatisch das Programm immer lauffähig (ähnlich wie beim Unit Testing), man macht sich Gedanken über Zweck und Design und strukturiert den Code dabei laufend um (refactoring), so dass er – hoffentlich – am Schluss allgemeiner, veränderbarer, weiterverwendbarer geworden ist.

Das bedeutet z.B. dass man zuerst konkrete Werte (Koordinaten, Farben, usw.) verwendet (damit man schnell etwas sieht), diese dann in Konstanten auslagert (damit man sie schnell mal global ändern kann) und schließlich in Funktionsparameter (damit man nicht an vielen Stellen Änderungen vornehmen muss, wenn man Verhalten, das von den diesen Werten abhängt, abwandeln will).  Grundlegende Abstraktionsprinzipien ergeben sich also aus der aktuellen Notwendigkeit, das „Kunstwerk“ schöner/besser/anders zu gestalten.  Ist doch toll, oder?  Ich will ja nicht behaupten, dass sich diese Prinzipien den Schülern von selbst erschließen – aber ihre Motivation, das Verstehen, wozu sie nützlich sind, eventuell schon. Und für den Rest ist ja schließlich noch ein Lehrer im Raum.

Wie gesagt, interaktive Kunstwerke oder Spiele sind ebenfalls möglich. Auch im Browser und auf dem Handy.  Ich persönlich bin aber ganz old school (sic!) und träume davon, mit den Schülern Bilder auszuwählen, sie zu drucken, zu rahmen und im Schulhaus aufzuhängen. Kann man sie damit begeistern, die noch nicht Begeisterten? Vielleicht sogar den einen oder anderen technikfernen (wenn nicht gar -phoben) Kollegen? Wer weiß? Ich natürlich noch nicht… Aber ich möchte es sehr gerne ausprobieren.

Ein sehr inspirierendes Video habe ich auch noch: Zwei Wissenschaftler bei Microsoft Research haben für ihre beiden Töchter und deren Freundinnen ein einwöchiges „summer camp“ im Wohnzimmer der einen Familie veranstaltet, bei dem sie anhand von Processing das Programmieren (kennen-)gelernt haben. Ganz großartig!

Advertisements

Mission Statement

Ich fange ja gerade erst an, mich warmzubloggen. Aber nachdem Herr Rau aus seinem großartigen, gefühlt schon seit Anbeginn der Zeit existierenden Blog (das wäre dann seit dem 1.1.1970) auf meinen noch ganz jungfräulichen gelinkt hat, gehen die Zugriffe geradezu durch die Decke: Jetzt wissen offensichtlich schon 37 mir unbekannte Menschen, dass ich Lehrer werde – ist ja nicht zu fassen!

Vielleicht wäre es an diesem Punkt ja ganz gut, so eine Art mission statement für den Blog zu formulieren. Versuchen wir das doch mal hübsch ordentlich mit ein paar durchnummerierten Gedanken:

  1. Hier soll es allgemein um die Rolle von Informationstechnologie in der Schule und insbesondere um das Schulfach Informatik gehen. Das ist nur ein ganz kleiner Teil von Schule, aber der, zu dem ich vielleicht etwas Interessantes sagen kann, auch schon als Referendar, auch als Seiteneinsteiger, ohne so zu wirken, als würde ich schon bevor ich richtig angefangen habe, alles besser wissen wollen. Nichts läge mir ferner. Ich freue mich ja gerade darauf, jetzt erstmal soviel Neues lernen zu dürfen!
  2. Mein Mantra: Informatik ist, wenn ein intelligenter Mensch eine dumme Maschine dazu bringt, nahezu beliebige Probleme für ihn zu lösen. Damit das klappt, muss der Mensch das Problem a) selbst so durchdringen, dass er es der dummen Maschine b) „erklären“ und ihr „beibringen“ kann, was sie c) zu tun hat.
  3. Also ist informatisches Denken ein Training in a) Problemanalyse b) Kommunikation und „Lernen durch Lehren“ (mit dem Computer als Schüler) sowie c) Handlungsorientierung (beide, Mensch und Computer, tun etwas, am Ende steht ein sichtbares Ergebnis, ein Produkt)
  4. Dieses gleichzeitig analytische, aber auch praktisch problemlösende Denken scheint mir eine generell erstrebenswerte Fähigkeit für jeden Menschen zu sein. Insofern finde ich natürlich auch, dass jeder Mensch in den Genuss von Informatikunterricht kommen sollte 😉
  5. Zur Notwendigkeit, in einer nahezu vollständig informationstechnologisierten Welt wenigstens halbwegs zu verstehen, was da eigentlich passiert in Handy, Notebook, Internet, brauche ich wohl nichts zu sagen.
  6. Und von der wirtschaftlichen Bedeutung der Informatik will ich nicht reden. (Wenn die mein zentrales Anliegen wäre, hätte ich einen anderen beruflichen Weg eingeschlagen.) Aber dazu braucht es mich auch nicht; jeder weiß Bescheid über die Bedeutung der IT im 21. Jahrhundert für ein rohstoffarmes Land wie Deutschland blablabla usw usf.
  7. Aber warum, bei all dem was ich bisher aufgezählt habe, ist nicht schon längst jeder Lehrer, Rektor und Kultusminister von der Informatik als Schulfach überzeugt? Und v.a. warum interessieren sich auch die Schüler so wenig, warum gehen die Studierendenzahlen in Informatik immer weiter zurück? Und, mir persönlich am wichtigsten: Wo sind die Mädchen und Frauen?
  8. Dafür gibt es vielfältige Gründe, aber der wichtigste ist sicher, dass Informatik als dröge gilt, als etwas für die, die zu meiner Schulzeit „Mathe-Physik-Spacks“ genannt wurden und heute Geeks oder Nerds heißen. Ich könnte ja jetzt aufheulen und mich über dieses ungerechte Klischee aufregen. Tatsache ist aber, dass den Schülern jahrzehntelange Informatik genau so verkauft wurde und, wie ich fürchte, auch heute oft noch wird. (Nicht speziell von den Lehrern; die ganze Gesellschaft redet ihnen das ein und schon ziemlich früh sie sich dann selbst!)
  9. Mein Ziel st es, Schülern zu zeigen, dass Informatik etwas ungeheuer Kreatives ist und dass insbesondere das Thema, auf das diese Kreativität angewandt wird, völlig frei wählbar ist.  Ich habe jede Menge Ideen für fachübergreifende Projekte aus den Bereichen Bildende Kunst, Musik, Literatur, Fremdsprachen, Deutsch (meinen eigenen privaten Interessensgebieten). Wo immer es geht, möchte ich vermeiden, mathematische Probleme als Motivation und Beispiel bemühen, um so hoffentlich dem Vorurteil zu begegnen, Informatik sei nur „Mathe mit Computern“.
    Viele Künstler entdecken heutzutage irgendwann eher durch Zufall, dass sie mit Hilfe des Computers Schönheit produzieren können. Mein Wunsch ist es, dass auch schon die künstlerisch-sprachlich interessierten SchülerInnen* die Chance auf so ein Aha-Erlebnis haben. Und umgekehrt: dass die eher analytisch Denkenden womöglich dadurch einen Zugang zu Musik, Bildender Kunst oder Sprache finden, der ihnen vielleicht sonst verwehrt bliebe.
  10. Weiter oben habe ich es schon angedeutet: Die Tatsache, dass Schüler und Computer bei der Lösung eines Problems interagieren, halte ich für absolut faszinierend und für didaktisch noch viel zu wenig erschlossen. Schüler sind dabei mal in der Rolle des Lehrers, der dem Computer etwas beibringen muss, mal in der Rolle des Lernenden, der vom Lehrer Computer ständig individuelles Feedback bekommt. Wenn dann noch sowas wie Pair Programming (oder eine andere Form von kollaborativem Problemlösen) praktiziert wird, können sich – das stelle ich zumindest mal als Hypothese in den Raum – wunderbar vielschichtige, abwechslungsreiche Formen von Kommunikation und Kooperation ergeben, die, so hoffe ich, nicht nur den Lernstoff entwickeln, sondern idealerweise auch zu so etwas wie einem Lern-Flow bzw. Montessoris Polarisation der Aufmerksamkeit führen. Dieser Flow kann v.a. da entstehen, wo man ausprobierendes, iteratives Vorgehen zulässt und fördert. Mal sehen, ob dafür in der Schule von heute Zeit ist.
  11. Da habe ich ja jetzt einige große Worte geschwungen. Deshalb zum Schluss mein vielleicht wichtigstes Anliegen: Informatik kann großen Spaß machen und das möchte ich weitergeben. Interessesanterweise haben heutzutage Jugendliche außerhalb des Unterrichts jede Menge Spaß mit Informatik: mit Apps auf ihrem Handy, Interaktion jeder Art im Web und Spielen an der Konsole. Es muss doch möglich sein, sie da abzuholen! Wo immer es geht, werde ich versuchen, Konzepte auf spielerische Art und anhand von Spielen zu vermitteln. Spiele sind aus vielen Gründen toll für den Unterricht, glaube ich, v.a. aber wohl, weil sie signalisieren „Hier darf Spaß gehabt werden!“

So, und das ist mein mission statement vor Beginn des Referendariats.  Viele Lehrer, die ich treffe und auch schon Kommentare hier im Blog, warnen mich vor Ernüchterung, hoffen, dass ich große Frustrationstoleranz habe und sagen mehr oder weniger deutlich „Warte du nur ab, bis du mal siehst, wie das wirklich läuft da draußen!“ Nein, ich bin nicht so blauäugig zu glauben, ich könnte das einfach alles so praktizieren und alle Schüler fielen mir um den Hals vor Freude und Glück ob der Wunder, für die ich ihnen endlich die Augen geöffnet habe. Aber genau deshalb ist jetzt, bevor ich selbst betriebsblind im Hamsterrad stecke (yeah, Metaphern-Mashup!), ein guter Zeitpunkt, mir zu vergegenwärtigen, was und wohin ich eigentlich will. Mal sehen, wie weit mich mein augenblicklicher Enthusiasmus trägt.

Das war’s. Hoffentlich existiert der Blog in zwei Jahre noch. Dann kann ich mir diesen Eintrag ja mal vornehmen und sehen, was daraus geworden ist.

*Hier benutze ich einmal bewusst das Binnen-I, werde es aber ansonsten sein lassen. Wo es geht, werde ich versuchen, eine sprachlich befriedigende geschlechtsneutrale Formulierung zu finden. Wo ich aber das Gefühl habe, dass eine alle Geschlechter umfassende oder neutrale Bezeichnung zu umständlich wird, den Lese-/Schreibfluss stört und vom (nicht gender-spezifischen) Inhalt ablenkt, werde ich ohne Skrupel die übliche, d.h. leider meist die männliche Form verwenden. Sorry.

Online Education

Ist ja lustig… Daphne Koller* schreibt in der NYT über Unterricht und Technologie:

Daphne Koller – Technology as a Passport to Personalized Education – NYTimes.com.

Das meiste bezieht sich auf E-Learning im großen Stil, u.a. auf den unglaublich erfolgreichen KI-Kurs von Peter Norvig und Sebastian Thrun mit 200.000 Teilnehmern (zumindest am Anfang…) Reines Online-Lernen war bisher nicht so mein Thema und in der Schule wird es wohl auch eher um Blended Learning (mit Moodle & Co) gehen.

Aber es steckt in dem Artikel aber auch sonst einiges Interessantes. Z.B. ist  automatisierte Übungskorrektur und Feedback, so dass Schüler im eigenen Tempo arbeiten können, genau das, was ich auch ausprobieren möchte. Arbeitstitel: Computer-Bandolino. Dazu bald mehr.

*Ich war jahrelang auf den gleichen KI-Konferenzen wie sie; aber sie spielt in einer ganz anderen Liga!

Programmieren – das neue Latein?

Unter anderem, weil ich es genauso sehe, werde ich an die Schule gehen:

BBC News: Coding – the new Latin.

Ja, man kann im 21. Jahrhundert überleben, ohne zu verstehen, was Programmieren bedeutet – genauso wie man (spätestens seit 1534) in Deutschland auch ohne Latein zurechtkommen konnte.

„Aber Latein zeigt wie Sprache allgemein funktioniert und schult das abstrakte Denken…“ Stimmt schon, mir hat’s damals auch Spaß gemacht, vor 20 Jahren in der Latein-AG in der nullten (!) Stunde. Aber trotzdem: I call your Latin and raise you my Computer Science!

Nachtrag: Den Royal Flush unter den Schulfächern (um bei der Poker-Metapher zu bleiben) habe ich gestern ganz vergessen. Natürlich ist in allererster Linie Englisch das neue Latein. Werde ich leider nicht unterrichten. Aber den Schülern sicher regelmäßig predigen, wie entscheidend wichtig das für sie sein wird, fast egal was sie später mal tun werden. Ja, okay, und Deutsch auch.

Hallo, Schule!

Mein „Hello, world!“ (ganz wichtig: mit Komma!) an die Lehrerblogwelt. Ich komme bald!

Ab Januar dann hoffentlich viele Gedanken zu meinem „Seiteneinstieg“ in und meinen Ideen für die Schule: Computer als Werkzeug für Kreativität, Informatik als Schule des Denkens, agiler Unterricht, Freiarbeit mit Test-Driven Development, Processing, Scratch, GarageBand, Overtone, GeoGebra und was mir dann sonst noch alles einfällt.