Computerkunst

Abgelegt unter: (Net)Logo, Visualisierung — JoWe um 14:48 am 12.04.2013

Im Rahmen des COER13 hatte ich angekündigt, dass ich an einer Einführung in die Programmierung interaktiver Grafiken mit Logo arbeite. Das könnte interessant sein für Hobbyisten aber eben auch für LehrerInnen, die Kinder an die Programmierung heran führen wollen. Ich möchte das dann als OER zur Verfügung stellen. In diesem Kontext habe ich u.a. versucht einige Werke der frühen Computerkunst nach zu programmieren (siehe dazu auch hier und hier, das Digital Art Museum sowie die von Frieder Nake konzipierte Datenbank compart) .

Eine grundlegende Einführung in die Thematik mit sehr vielen Bildbeispielen ist das Buch Digital Art von Wolf Lieser. Er datiert den Beginn der Computerkunst auf 1965 mit der Ausstellung Generative Computergrafik mit Werken von Georg Nees  in Stuttgart. Er war Schüler von Max Bense und es ist wenig verwunderlich, dass die frühen Computergrafiken in Zusammenarbeit mit Wissenschaftlern geschaffen wurden. Die ersten Werke waren fast ausnahmslos Plotterzeichnungen. Die werden ganz ähnlich angesteuert wie die Schildkrötengrafik in Logo. Es lag also nahe, die Werke damit nachzuvollziehen.

Es ist hier nicht der Raum, die Prozeduren einzeln zu dokumentieren, die zu den Bildern geführt haben. Die Algoristen haben natürlich immer ihre eigenen Algorithmen für die Produktion ihrer Bilder entwickelt, leider aber nicht dokumentiert (falls es die doch irgendwo gibt, wäre ich für jeden Hinweis dankbar!). So habe ich an einfachen Beispielen versucht, mit eigenen Algorithmen ähnliche Bilder zu erzeugen. Drei Beispiele:


Hommage à Nees           Hommage à Franke                 Hommage à Molnar

Soweit mein Beitrag zum Thema Programmieren für Alle: Mit insgesamt jeweils ca. 20 - 30 Codezeilen, verteilt auf 4 bis 6 Prozeduren erlaubte Logo (verwendet habe ich die Version ACSLogo für den Mac) die rasche Umsetzung. Da ich alle Eigenschaften über Parameter einstellen kann, konnte ich in kürzester Zeit viele Bildvarianten erzeugen - wozu die Algoristen mit Plottern sicher Stunden gebraucht haben. Bin ich damit eigentlich auch Algorist und Computerkünstler?

Kraftraum fürs Gehirn …

Abgelegt unter: (Net)Logo, Allgemein, OLPC — JoWe um 18:47 am 27.02.2013

Der Vorsitzende des baden-württembergischen Philologenverbandes, Bernd Saur, wurde von der Südwest Presse interviewt zum Thema Warum heute noch Latein. Den größten Vorteil für SchülerInnen sieht er darin, dass Latein die Muckibude fürs Gehirn (verlinkt trotz Leistungsschutzrecht) sei. Es kommen Begründungen, die ich immer wieder gehört habe: Latein fördere das analytische, strukturierte und kombinatorische Denken (gut bei allen komplexen Sachverhalten), trainiere Gedächtnis und Ausdauer … und wenn es einen zur Verzweiflung bringt, kann man die wichtige Eigenschaft der Frustrationstoleranz entwickeln. Lateinschüler würden systematischer lernen, Durchhaltevermögen und Anstrengungs-bereitschaft zeigen, gute rhetorische Fähigkeiten und einen weiten Horizont entwickeln. Wobei Letzteres wohl etwas im Gegensatz zu Saurs Einschätzung steht, gerade der in sich gekehrte Schülertyp dürfte mit Latein glücklicher werden.

Es wäre interessant zu erfahren, von welchen belastbaren empirischen Befunden diese Aussagen Saurs gestützt werden. Vermutlich werden die meisten Vertreter anderer Schülfächer vergleichbare Begründungen für die Relevanz ihres Faches anführen.
Ersetzen wir doch oben vor der Argumentationskette einfach mal Latein durch Programmieren bzw. Programmiersprache XY. Klingt dann immer noch genauso plausibel und passt bestens zu dem postulierten Stellenwert der MINT-Fächer (Mathematik, Informatik, Naturwissenschaften, Technik; vgl. MINT-EC, den Verein mathematisch-naturwissen-schaftlicher Excellence-Center an Schulen e.V.).

Programmieren für Alle?!

Abgelegt unter: (Net)Logo, Fachliches — JoWe um 21:33 am 21.09.2012

Interessanterweise lebt eine Diskussion wieder auf, die wir in den 80er Jahren schon einmal hatten: Sollen alle Programmieren lernen? Damals gab es damit verbunden heftige Diskussionen darüber, welches dann die geeignete (Schul-) Programmiersprache sei (vgl. dazu LOG IN, Heft 3/83). Die Problematik hat Douglas Rushkoff  in seinem Buchtitel auf den Punkt gebracht: Program or be Programmed (ein kurzer Auszug findet sich hier). Darin bezeichnet er das Programmieren als die Kulturtechnik des digitalen Zeitalters. Damit ist er nicht alleine (Dan Rowinski, Sacha Greif), aber natürlich gibt es auch Gegenwind (Jeff Atwood). Dabei geht es ja nicht um die Ausbildung professioneller Programmierer; die dauert lange (Peter Norvig).

Nun kann und möchte ich hier gar nicht die Diskussion darüber aufarbeiten. Ich finde es allerdings schon sehr wichtig, den Computer auch als Werkzeug zum Problemlösen kennen zu lernen und dazu sollten auch Erfahrungen damit gehören, wie er programmiert werden kann. Nicht zufällig bietet das OLPC-Projekt deshalb auf dem XO-Laptop geeignete Programmierumgebungen an (Turtle Blocks, Etoys).

Mir selber macht es einfach Spass, interessanten Fragestellungen nachzugehen und sie mit Hilfe eigener Programme besser zu verstehen. Mich interessieren dabei vor allem interaktive Grafiken und die Simulation ökologischer Systeme. Dabei sind für mich besonders solche Programmierumgebungen interessant, die das Arbeiten ohne Einstiegshürden erlauben, insbesondere auch solche, die den Ansatz der visuellen Programmierung umsetzen. Die gibt es inzwischen in großer Zahl, wie diese Übersicht zeigt.

Ich habe mir deshalb vorgenommen, die Diskussion um das Programmieren für Alle, entsprechende Konzepte und Werkzeuge genauer zu verfolgen und zu dokumentieren. Das wird nicht nur hier im Blog mit weiteren Beiträgen erfolgen, sondern vor allem in scoop.it. Meine derzeitigen Stichworte dazu sind u.a. Netlogo, Scratch, Squeak, Processing. Für Hinweise auf entsprechende Links zum Thema bin ich deshalb dankbar.

Logo lebt (II)

Abgelegt unter: (Net)Logo — JoWe um 19:24 am 31.10.2011

Auf das Logo Tree Project hatte ich hier bereits unter Logo lebt hingewiesen. Dort werden momentan 248 (!) Versionen der Programmiersprache aufgeführt; bei vielen mit dem Vermerk Status: dead oder frozen, aber eben auch noch viele active. Über die Dokumentation der Tagung Constructionism 2010 (inklusive Videomitschnitten der Vorträge) bin ich auf zwei aktuelle Varianten aufmerksam geworden:

EasyLogo: Eine vereinfachte Logo-Variante, speziell für Grundschüler, die spielerische Elemente integriert und eine einfache Steuerung ermöglicht.

lhoglo: Dies ist eine Compiler-Variante von Logo, die dadurch hohe Performanz bietet. Das ist wichtig, weil lhoglo 3D-Grafik in Echtzeit generieren kann.

In dem Zusammenhang möchte ich dann auch gleich zwei aktuelle Versionen bekannter Logo-Varianten erwähnen:

NetLogo: Davon gibt es inzwischen Version 5.0 (Release Candidate 3), mit der NetLogo OpenSource wird, was u.a. die Internationalisierung erleichtern wird.

ACSLogo: Diese Variante gibt es nur für Mac OS X. Die aktuelle Version 1.51 bietet einige nützliche Befehlserweiterungen.

… es gäbe also wieder allerhand auszuprobieren!

#opco11 - Wileys Modell für MOOCs

Abgelegt unter: #opco11, (Net)Logo — JoWe um 13:53 am 13.07.2011

Schön, dass ich damit den OpenCourse 2011 und mein Interesse für Netlogo zusammen bringen kann: In der Diskussion über die Rolle von MOOCs mit George Siemens hat David Wiley den Versuch eingebracht, die Unterstützung von Lernenden in sozialen Netzen zu modellieren und in Netlogo zu simulieren.

David stellte die Frage, ob MOOCs Lernen effektiv unterstützen können und formulierte einige Vorbehalte. Die damit ausgelöste Diskussion ist für sich lesenswert (am besten dieses lesen und dieses, mitsamt den Kommentaren!). In seinem OSOSS-Modell (Online Self-Organizing Social System) kann nun der Einfluss tutorieller Hilfe in Online-Kursen simuliert werden. Dazu einfach Netlogo installieren (benötigt Java), die Modell-Datei herunterladen und loslegen …

Eine knappe Dokumentation findet sich programmintern (Menüpunkt Information). Wiley weist dort selber auf die Einschränkungen seines Modells (die Grundannahmen) hin, die einem auch schnell deutlich werden, wenn die Parameter variiert und dann die Ergebnisse verglichen werden. Der Vorteil von Netlogo ist aber, dass das Modell mit ein wenig Programmierinteresse ausgebaut werden kann. Mal sehen, obs mir in der Sommerpause dazu reicht …

neues Buch - altes Thema: LOGO

Abgelegt unter: (Net)Logo, Lesestoff — JoWe um 11:58 am 17.04.2011

Bedauerlicherweise ist es um die Programmiersprache Logo ziemlich ruhig geworden. Was vielleicht daran liegt, dass es um Informatik als Unterrichtsfach insgesamt ruhiger geworden ist. Umso überraschter war ich, eine Neuerscheinung (2010) zu entdecken, mit der von dem ETH-Professor Juraj Hromkovic eine Einführung in die Programmierung mit LOGO vorgelegt wird, als erstes Modul einer Serie von Informatik-Lehrbüchern. Aus dem Klappentext:

Dieses Lehrbuch schließt eine große Lücke in den Unterrichts-materialien für das Lehramtsstudium und für die Informatik an Gymnasien. Zum Buch steht kostenfrei eine Programmierumgebung zum Download (XLogo) zur Verfügung. Ziel des Buches ist es insbesondere, ein tieferes Verständnis für die fundamentalen Konzepte des systematischen Programmierens zu wecken. Besonderer Wert wird auf eine sehr detallierte und anschauliche Darstellung gelegt.

Mir ist nicht ganz klar geworden, wer letztlich die Adressaten des Buches sind. Die Lektionen richten sich wohl an Schüler (vom Anspruchsniveau her); eingestreut sind Hinweise für die Lehrpersonen. Dabei sind die ersten zehn Lektionen mehr oder weniger sattsam bekannte Beispiele der Schildkröten-Grafik. In den Schlusskapiteln geht es dann um anspruchsvollere Anwendungen aus dem Mathematikunterricht. Dabei wird z.B. auf die Vektorgeometrie (mit kartesischen Koordinaten) eingegangen, ohne den Unterschied zur natürlichen Geometrie von Logo auch nur zu erwähnen, obwohl diese ein ganz zentrales Konzept von Logo darstellt (vgl. Hoppe, 1984).

Da gab es schon konsequentere Einführungen, so von Hoppe & Löthe (1984), damals sogar im gleichen Verlag (Teubner) erschienen. Muss wohl doch meine eigene Einführung in das interaktive Arbeiten mit Logo endlich fertig stellen …

Hoppe, H.-U. (1984 ). LOGO im Mathematikunterricht. München: IWT-Verlag.
Hoppe H.-U. & Löthe, H. (1984). Problemlösen und Programmieren mit Logo. Stuttgart: Teubner.

Programmieren lernen mit Logo

Abgelegt unter: (Net)Logo, Fachliches — JoWe um 19:00 am 13.12.2010

Medienkompetenz ist das Thema einer öffentlichen Anhörung der Enquete-Kommission Internet und digitale Gesellschaft. Dabei äußert Stefan Aufenanger u.a. die Meinung, dass Programmieren lernen nun gar nicht zur Medienkompetenzvermittlung in der Schule gehöre. Da bin ich anderer Meinung, ignoriert das doch alle Initiativen und Konzepte, die auf Seymour Paperts Arbeiten zurück gehen und auch eine lange deutsche Diskussion über die Notwendigkeit, informatische (Grund-) Kenntnisse curricular zu integrieren.

Ein Beitrag Paperts war die Programmiersprache Logo als Werkzeug, um ohne Einstiegshürden die Umsetzung von Algorithmen in vielfältigen Kontexten zu unterstützen. Interessanterweise gibt es eine ganze Reihe neuer Implementationen dieser Sprache, die in Browsern direkt ausprobiert werden kann, basierend auf Java oder JavaScript.

Curly Logo ist so eine JavaScript-basierte Version, mit der auch Prozeduren definiert und komplexere interaktive Grafiken beschrieben werden können. Eine Alternative dazu bietet Joshua Bell, dessen Version sich an die Syntax des UCBLogo hält. Gut für einen ersten Einstieg! Weitere Logo-Versionen auf meiner Webseite …

Programmieren lernen mit Kojo

Abgelegt unter: (Net)Logo — JoWe um 22:08 am 24.09.2010

Gefunden (mal wieder) beim Schockwellenreiter: Kojo, eine neue grafisch orientierte Programmier-Umgebung  à la Processing, die auf allen relevanten Plattformen läuft. Für mich interessant, weil es Ideen von Logo (Schildkrötengrafik), Processing und The Geometer’s Sketchpad (interaktive Geometrie) aufgreift.

Es gibt einfach zu viel zum Testen …

Zurück zu den Klassikern?

Abgelegt unter: (Net)Logo, SoftwareMuseum — JoWe um 22:52 am 10.07.2010

Informatikdidaktiker bin ich nicht, verfolge aber trotzdem seit Beginn die Diskussionen um geeignete Programmiersprachen für die Schule. Ein früher wichtiger Beitrag dazu war das Themenheft 3 (1983) der Zeitschrift LOG IN. Damals wurden u.a. Pascal, BASIC oder ELAN (eine spezielle Ausbildungssprache, die völlig in der Versenkung verschwunden ist) behandelt. Ernsthafter Kandidat war damals auch die listenverarbeitende Sprache Logo (als LISP- Abkömmling, Näheres auf meiner Webseite). Eher am Rande erwähnt wurde Smalltalk als Beispiel für eine damals relative neue Art der Programmiermethodik, die objektorientierte Programmierung.

Im neuesten Heft Heft 162/2010 von LOG IN gibt es fast dreißig Jahre später wieder mal eine Einführung in Objektorientiertes Modellieren mit SMALLTALK/SQUEAK von Rüdeger Baumann. Parallel dazu hat der Autor eine Diskussion mit der Squeak-Community angestossen mit einer Entwurfsfassung eines weiteren Artikels Smalltalk jetzt - adieu Java, in dem er für Squeak als Programmiersprache für die Schule plädiert. Ich finde das insofern interessant, als mir die Beschäftigung mit der Entwicklungsumgebung für das iPad verdeutlicht hat, dass der Vorschlag aktuell und praxisrelevant ist.  Es ist ja so, dass die Programmier-sprache für Mac/iPhone/iPad eigentlich das C nur im Namen führt, aber der volle Name Objective-C darauf verweist, dass es sich dabei um einen Smalltalk-Abkömmling handelt.

Update 14.7.2010: Mit freundlicher Genehmigung des LOG IN Verlags kann ich nun auf die eingescannte Version des oben erwähnten Logo-Artikels verweisen, den ich auf meiner Webseite unter Logo/Geschichtliches aufgenommen habe.

Logo auf dem iPad?

Abgelegt unter: (Net)Logo — JoWe um 22:39 am 18.06.2010

Immerhin eine Einführung in grundlegende Elemente der Programmiersprache Logo bietet MirrorPaint, das es als App für das iPad (und für das iPhone) gibt. Der Befehlssatz ist sehr überschaubar (Forward, Left, Backward, Right, PenUp, PenDown, PenSize, PenColor, Mirror, Clear, Bomb, Fill, Home, Pause, Repeat, Shape), reicht aber, um typische Logo-Grafiken zu produzieren.

Vielleicht gibt es ja über kurz oder lang schulrelevante Werkzeuge zur Programmierung auch anspruchvoller Projekte. Eine Testversion der Squeak-Umgebung Etoys hat Bert Freudenberg jedenfalls auf dem iPad schon mal zum Laufen gebracht. Über die Eignung des iPads (und vergleichbarer Tablets) für die Schule kann eigentlich erst geurteilt werden, wenn die Entwickler genügend Zeit gehabt haben, ihre Projekte den neuen Umgebungen (u.a. für Multi-Touch) anzupassen.

Nächste Seite »