Vor kurzem habe ich mit Schülerinnen und Schülern des Ergänzungsfachs Mathematik zur Veranschaulichung von komplexen Zahlenfolgen eine Einführung ins Programmieren gemacht. Dabei haben wir mit der Programmierumgebung ‚Processing‚ gearbeitet. Es handelt sich hierbei um ein OpenSource-Projekt, das insbesondere im künstlerischen Umfeld grossen Anklang gefunden hat aber durchaus auch in der Forschung eingesetzt wird. Eine deutsche Beschreibung findet sich auf Wikipedia.
Weil in Processing mit vereinfachtem Java programmiert wird, eignet es sich vorzüglich für den Einstieg, bereitet aber auch auf den Umstieg zum ‚richtigen‘ Java oder gar zu C/C++/C# vor. Die Syntax ist dabei so ähnlich, dass ich eines der im Unterricht verwendeten Programme gleich mit minimalem Aufwand zwecks Leistungssteigerung nach C++ portieren konnte.
Die Schülerinnen und Schüler hatten bis anhin nur auf dem Taschenrechner programmiert, kannten aber dadurch grundlegende Bausteine wie Schleifen und Verzweigungen. Ein Arbeitsblatt, beginnend mit einigen Elementen aus dem Einstiegstutorial von Processing, sollte die Lernenden Schritt für Schritt an den finalen Code heranführen. Es wurden einzelne Code-Bausteine vorgegeben, die von den Schülerinnen und Schülern dann korrekt angeordnet und ineinander verschachtelt werden mussten. Rückblickend habe ich den Eindruck erhalten, dass dieser Leitfaden etwas zu ausführlich war. Ich denke, dass ich in Zukunft einige Hinweise weglassen und die echten ‚Knacknüsse‘ den Lernenden nicht mehr vorenthalten werde.
Dank der detaillierten Anweisungen haben es alle Beteiligten geschafft, ein Programm zu schreiben, welches Juliamengen oder die Mandelbrotmenge auf der komplexen Ebene darstellt. Die Schnelleren haben danach den Auftrag erhalten, ihr Programm entweder hinsichtlich der Farbgebung zu modifizieren oder die einzelnen Iterationsschritte sichtbar zu machen. Das Produkt lässt sich hier als Java-Applet austesten (Leertaste drücken um neue Folgenglieder zu berechnen).
Dabei zeigte sich auch, dass Programmieraufgaben ganz besonders gut geeignet sind, Lernenden mit unterschiedlichem Lerntempo individuelle Herausforderungen zu bieten. Ein Programm ist praktisch nie ‚fertig‘. Mit etwas Fantasie findet man immer noch Verbesserungs- und Ausbaupotential.
Im Laufe meiner Vorbereitung bin ich auf eine spannende und mir bis anhin unbekannte Betrachtungsweise der Mandelbrot-Menge gestossen: die sogenannte Buddhabrot-Technik. Ihr Name rührt daher, dass eine Buddha-ähnliche Figur sichtbar wird, wenn das entstehende Bild um 90° gedreht wird.
Die Mandelbrot-Menge dargestellt in der Buddhabrot-Technik. Das Bild wurde in Photoshop eingefärbt und setzt sich aus drei Bildern mit unterschiedlicher Anzahl an maximalen Iterationen zusammen.
Diese Technik erfordert als stochastischer Prozess einen massiv höheren Berechnungsaufwand und eignet sich daher besonders um den Schülerinnen und Schülern die Vorteile eines Programms zu zeigen – die harte Arbeit übernimmt der Computer.
Sollte ich in Zukunft erneut die Möglichkeit haben, im Unterricht mit komplexen Zahlen zu programmieren, würde ich daraus bestimmt ein Projekt machen in welcher verschiedene Gruppen selbständig Programmelemente entwickeln, mit den anderen Gruppen abstimmen und schlussendlich zusammenführen. Vom Rechenaufwand her stösst Processing dabei an seine Grenzen. Der nach C++ portierte Code lief um mehr als das zwanzigfache schneller.
Gefällt mir Wird geladen …