Geschichtliches

Wie alles anfing …
Es gibt sehr viele Programmiersprachen bzw. „Dialekte“ (wohl mehr als 2000!). Das macht allein schon deutlich, dass es vermutlich nicht die „beste“ Programmiersprache gibt. Welche verwendet wird, hängt von der Aufgabenstellung ab oder aber schlicht davon, welche Sprache gerade auf dem eigenen Rechner zur Verfügung steht – wobei Kostengründe dafür heute kaum noch eine Rolle spielen, denn für alle relevanten Sprachen gibt es absolut erschwingliche Versionen. Wie kann hier nun Logo eingeordnet und charakterisiert werden?
Logo kann nicht ohne einen Seitenblick auf die Schule und die dortige Diskussion über Programmiersprachen und ihre Rolle im Schulfach Informatik bzw. der informationstechnischen Grundbildung und deren Fachdidaktik betrachtet werden.
Die 1. Logo-Generation
papertFür die Anfänge von Logo müssen wir bis 1964 zurückgehen. In diesem Jahr kam der Mathematiker Seymour Papert an das berühmte MIT (Massachusetts Institute for Technology) in Boston. Zusammen mit Marvin Minsky – einem der Gurus der Forschung zur Künstlichen Intelligenz (KI) – gründete er das MIT Artificial Intelligence Laboratory. Ihre Forschung zu neuronalen Netzen beschrieben sie in dem Klassiker „Perceptrons“ (1969, Neuauflage 1988). Über den Kreis der KI-Fachleute hinaus bekannt geworden ist Papert aber durch die Entwicklung von Logo.

Papert hatte zuvor fünf Jahre bei Piaget in Genf gearbeitet und sich dort bei dem Entwicklungspsychologen intensiv damit beschäftigt, wie Kinder lernen. Mit diesem pädagogisch-psychologischen Hintergrund wollte er nun Werkzeuge entwickeln, mit denen Kindern das „Beste der Computerwissenschaften“ an die Hand gegeben werden sollte, damit sie ihre Denk- und Lernweisen verbessern können. 1967 erschien als Ergebnis seiner Überlegungen die erste Version von Logo, die unter der Leitung von Wallace Feuerzeig bei Bolt, Beranek and Newman entwickelt wurde.

Als Sprache für Kinder, aber eben keine „Spielzeugsprache“, war Logo (als Abkömmling der listenorientierten KI-Sprache LISP) modular, erweiterbar und interaktiv konzipiert. Ihre Charakterisierung mit „no treshold, no ceiling“ (keine Einstiegshürde, keine Begrenzung nach oben) soll andeuten, dass Kinder mit Logo sehr rasch problemorientiert arbeiten können, dass die Sprache aber mächtig genug ist, Lernende an komplexe Probleme heranzuführen.
Besonders die Listen zur Verarbeitung von Symbolen und komplexen Datenstrukturen haben sich dafür als hilfreich erwiesen, denn Listen sind als rekursiver Datentyp besonders dafür geeignet, verschachtelte Strukturen darzustellen. Das kann dann bis zu Fragen der KI auf Hochschulniveau gehen (so beschrieben in dem Lehrbuch von Bundy, 1980; deutsche Fassung 1986).

TurtleAls zentrale Komponente von Logo wurde ab 1970 die Turtlegrafik (Schildkrötengrafik) eingeführt, durch die mit einfachen Grundbefehlen ansprechende und komplexe Grafiken erzeugt werden können. Grafische Ausgabegeräte waren zur Zeit der Entwicklung von Logo noch sehr teuer. Es wurde deshalb anfangs ein kleiner schildkrötenähnlicher Roboter eingesetzt: die Turtle. Dieses kleine Gefährt konnte sich vorwärts bewegen und drehen. Ein Schreibstift konnte angehoben und gesenkt werden, so dass durch die Bewegungen der Schildkröte auf einem darunter liegenden Papier Linien gezogen wurden. Mit der Verfügbarkeit immer billigerer Computer wurden allerdings gerade diese Roboter zum limitierenden Kostenfaktor und bald wurde so die mechanische durch eine elektronische Schildkröte auf einem Bildschirm abgelöst; sie wurde zu einem kleinen Symbol mit Richtungsanzeiger.

ApplelogoDie Verbreitung von Logo begann denn auch richtig in den späten Siebzigern mit den ersten erschwinglichen Personalcomputern. Die ersten entsprechenden Logo-Versionen gab es für die 8-bit Rechner Apple II (Apple Logo ) und Texas Instrument TI 99/4 (TI Logo). Ab 1980 wurden etliche größere Schulversuche mit Logo durchgeführt, so das Lamplighter School Project in Dallas, Texas, oder das Computers in Schools Project in New York City.

Auch in der Bundesrepublik wurde mit Logo an Schulen experimentiert und gearbeitet, u.a. schon von 1974 bis 1979 in dem Projekt PROKOP (Böcker, Fischer & Plehnert, 1986; Böcker, Fischer, & Schollwöck 1987) in der Sekundarstufe I und II. Seit 1980 hat sich dann die Arbeitsgruppe um Herbert Löthe an der Pädagogischen Hochschule Esslingen, später Ludwigsburg, Verdienste um die Erprobung in der Primar- und Sekundarstufe I erworben. Von dort wurde auch die Eindeutschung von Logo (mit deutschen Schlüsselworten und Fehlermeldungen) betrieben. Einige dieser Arbeiten sind bis heute im Internet verfügbar.

Der Name Logo stand bald nicht nur für die Programmiersprache, sondern auch für prägnante (aber insbesondere in der deutschen Mathematikdidaktik nicht unumstrittene) pädagogische Vorstellungen von interaktiven Lernumgebungen. So schreibt Harald Abelson (1983, S. VII), einer der Mitarbeiter Paperts:

„Die Sprachen der Logo-Familie sind gezielt so entwickelt, dass sie die Computer zu flexiblen Hilfsmitteln machen, die das Lernen, das Spielen und das Erforschen unterstützen. Wir Wissenschaftler, die wir an Logo arbeiten, lassen uns von der Vision eines pädagogischen Werkzeugs leiten, das zugleich ohne Einstiegsschwelle und ohne Begrenzung nach oben ist. Wir versuchen also, selbst sehr jungen Schülern eine selbständige und selbstbestimmte Beherrschung des Computers zu ermöglichen (…). Zugleich meinen wir, dass Logo ein Allzweckprogrammiersystem sein sollte, das beachtliche Ausdrucksfähigkeit und umfangreiche Formulierungsmöglichkeiten hat. Es ist tatsächlich so, dass wir diese beiden Ziele eher als Ergänzung denn als Widerspruch betrachten.“

In seinem Buch „Mindstorms: Kinder, Computer und Neues Lernen“ hat Papert (1982) seine Überlegungen zusammengefasst. Es ist dabei weniger ein Buch über Logo, sondern über Paperts Antrieb, Kindern eine Art Mathematikland zu schaffen, in dem sie Mathematik lernen können sollen, so wie eine Sprache am besten durch Aufenthalt in dem entsprechenden Land gelernt wird. Er leitet unter Berufung auf Rousseau und Piaget ein didaktisches und bildungstheoretisches Modell ab, mit dem gesellschaftliche Anforderungen und Verpflichtungen mit den Bedürfnissen der Kinder in Einklang gebracht werden sollen. Eine Lektüre, die immer noch lohnt.

Jedenfalls, als Anfang der 80er-Jahre noch um die „richtige“ Programmiersprache für den schulischen Informatikunterricht gestritten wurde, gehörte Logo zu den „schulspezifischen“ Sprachen, die in Modellversuchen erprobt wurden. Es stand damit in Konkurrenz zu ELAN, PASCAL-E, BASIC oder COMAL-80 (vgl. das Themenheft „Programmiersprachen“ der Zeitschrift LOGIN 3/1983). Für Logo sprach, dass es als interaktive, listenverarbeitende, prozedurale Programmiersprache durch die lernpsychologisch motivierten Eigenschaften didaktische Grundideen tragen kann (Tauber, a.a.O., S. 37):

  • die Unterstützung von entdeckendem, spielerischem Lernen
  • das Formulieren und Ausprobieren von Vermutungen
  • das Lernen aus Fehlern und deren Korrektur
  • die Zerlegung von Problemen in Teilprobleme und deren Lösung mit Hilfe von Prozeduren
  • das Baukastenprinzip, d.h. die Erweiterung der Sprache durch eigene problemspezifische Prozeduren
  • die Erarbeitung von programmiersprachlichen Konzepten mit der Schildkrötengrafik
  • das einfache interaktive Arbeiten mit sofortigem grafischem Feedback

Logo erlebte in dieser Zeit einen kleinen Boom. Zahlreiche Versionen wurden  für unterschiedliche Rechner entwickelt, da es ja noch nicht die heutige Monokultur bei den Betriebssystemen gab. So das Terrapin Logo für Apple II und Commodore 64 , sowie von Logo Computer Systems, Inc. (LCSI, eine von Papert gegründete Firma) Versionen für  verschiedene Rechnertypen und in mehr als einem Dutzend Sprachen.

Die 2. Logo-Generation
Mitte der 80er Jahre wurde Logo mit neuen Funktionalitäten weiter entwickelt. Es entstanden  das IBM Logo, Versionen für den Atari ST und MacLogo für den Apple Macintosh. Für den Macintosh wurde von Coral Software mit ObjectLogo eine objektorientierte Version vorgestellt. Dennoch ist Logo bei Anwendungsprogrammierern nie populär geworden, obwohl sich nun sogar stand-alone Anwendungen mit höherer Ablaufgeschwindigkeit erstellen ließen.
1985 erschien mit LogoWriter (von LCSI) zum ersten Mal eine Version, bei der mehrere Turtles gleichzeitig über den Bildschirm bewegt werden konnten. Außerdem besaß es eine integrierte Textverarbeitung. Es wurde in vielen Sprachen implementiert und fand weltweit Verbreitung. Zwar verlor Logo Mitte der 90er Jahre in den USA an den Schulen an Popularität, aber vor allem in Südamerika wurde es breit an den Schulen eingeführt. In Großbritannien wurde es sogar im nationalen Curriculum verankert.

An der Universität Bratislava wurde Comenius Logo entwickelt und 1993 vorgestellt, das unter dem Namen SuperLogo in mehreren Sprachen weite Verbreitung gefunden hat und heute als  ImagineLogo von Logotron vertrieben wird. Mit MicroWorlds wird auch von LCSI weiterhin eine aktuelle Version für Windows und Macintosh angeboten. Diese modernen Logo-Implementationen haben Multi-Tasking-Fähigkeiten, d.h. sie erlauben den gleichzeitigen Ablauf mehrerer Prozesse. Das bedeutet z.B., dass mehreren Schildkröten (bzw. allgemeiner: grafischen Objekten) gleichzeitig Befehlsfolgen zugeordnet und sie unabhängig voneinander aktiviert werden können. Dadurch können sehr leicht auch aufwendigere Animationen realisiert werden.

Insgesamt gibt es also eine große Zahl an Logo-Versionen, inzwischen auch für Tablets (wie z.B.  LogoPlus oder Logo Draw, diese dann aber meist beschränkt auf die Turtle-Grafik) oder rein browserbasiert, wie z.B. jslogo. Im Logo Tree Project (Boytchev, Rev. 2.09, 2014) sind über 290 Versionen aufgelistet; allerdings werden davon aktuell nur etwa 20 aktiv weiter entwickelt. Die Vielfalt der Versionen hat zu einer Aufsplitterung der Nutzergruppen von Logo geführt. Es gibt keinen Sprachstandard und die Versionen unterscheiden sich z.T. in Sprachumfang und Syntax erheblich. Die Schildkrötengrafik ist letztlich der einzige gemeinsame Nenner. Gerade bei den kommerziellen Systemen ist das Verständnis von Logo als Werkzeug zum Bearbeiten und Verstehen komplexer Probleme in den Hintergrund geraten (Chakraborty, Graebner & Stocky, 1999).

Es gibt aber nach wie vor Logo-Versionen, die für den Einsatz in der Schule geeignet sind (so wie das hier vorgestellte ACSLogo) und die weiter gepflegt werden. Ebenso gibt es nach wie vor deutschsprachige Logo-Versionen, etwa von Gerhard Otte (für Windows;  besonders interessant, weil u.a. mit  Treibern für Fischer-Technik-Modelle) sowie unterschiedliche deutschsprachige MSW-Logo Versionen der PH Ludwigsburg (an der auch die früheren deutschen Logo-Versionen entstanden sind), dabei eine Version mit 3D-Grafikbefehlen.

rcxInzwischen bewegen sich die Schildkröten auch wieder auf dem Boden und nicht nur auf dem Bildschirm. Mit LEGO/Logo wurde 1988 von Mitchel Resnick mit Stephen Ocko (vom MIT Media Lab) ein System vorgestellt, bei dem mit Lego-Bausteinen Maschinen gebaut werden können, die mit Motoren und Sensoren ausgestattet sind. Über ein spezielles Interface können diese Maschinen mit Hilfe von Logo-Befehlen gesteuert werden. Es stellt damit einen Vorläufer der populären Mindstorm-Serie dar. Diese Hard-Softwarekombination ist an Schulen recht verbreitet und es gibt viele spannende Unterrichtsbeispiele. In der FIRST LEGO League, einem jährlichen Roboterwettbewerb, können Kinder und Jugendliche zwischen zehn und 16 Jahren innerhalb eines Teams zu einem vorgegebenen Thema einen vollautomatischen Roboter planen, programmieren und testen, um damit eine knifflige „Mission“ zu meistern und eine wissenschaftliche Aufgabe zu bearbeiten.

Die 3. Logo-Generation: Agenten statt Schildkröten
Logo mit mehreren Turtles bietet bereits spezielle Möglichkeiten. Seit Mitte der 90er Jahre gibt es nun neue Versionen, mit denen nicht nur einige wenige sondern Tausende von Turtles gleichzeitig gesteuert werden können. StarLogo war die erste dieser leistungsfähigen Versionen, entwickelt im Media Laboratory des MIT. Wie bisher auch lassen sich die Turtles mit Befehlen steuern. Zusätzlich kann aber auch die Umgebung der Turtles definiert werden und die Turtles können untereinander und mit der Umwelt interagieren. Allgemein gesprochen handelt es sich dabei um Multi-Agenten Systeme. Allgemeine Systeme für agentenbasierte Simulationen sind etwa SWARM, Repast oder EcoLab.

Die Programmierumgebungen der StarLogo-Familie sind speziell für unterrichtliche Bedürfnisse entwickelt worden (Resnick, 1994). So wie die klassischen Logo-Versionen prozedurales Denken und die Rekursion für den schulischen Unterricht erschlossen haben, gilt dies nun für die massive Parallelität agentenbasierter Simulationen. Dabei geht es dann aber nicht nur um ein Revival von Logo als Programmiersprache für die Schule, sondern um den schülergerechten Zugang zur Modellierung und Simulation dynamischer Systeme. Die Programmierumgebungen erlauben die schnelle Implementation unterschiedlicher Systeme durch die Lehrerinnen und Lehrer und gegebenenfalls auch durch die Schülerinnen und Schüler selbst. Die Erweiterungen betreffen im wesentlichen drei Aspekte:

  • netlogoEs handelt sich um massiv parallele Sprachen – so können Tausende von Turtles zur gleichen Zeit Aktionen ausführen. Dies ist für die Untersuchung komplexer dynamischer Systeme eine Grundvoraussetzung.
  • Die Turtles besitzen „Sensoren“. Sie können z.B. andere Turtles in ihrer Nähe entdecken und unterscheiden, sie können Eigenschaften ihrer Umwelt erkennen und sie können Gradienten folgen. Solche Turtle-Turtle und Turtle-Umwelt-Interaktionen sind grundlegend für das Experimentieren mit selbst organisierenden Phänomenen.
  • Die Turtles bewegen sich in einer definierbaren Umwelt. Diese Umwelt ist in kleine quadratische Felder unterteilt, denen vergleichbare Eigenschaften wie den Turtles zugewiesen werden können, die sich im Gegensatz zu diesen allerdings nicht bewegen können. Damit wird u.a. indirekte Kommunikation zwischen den Turtles möglich, wenn diese bestimmte „Marker“ auf den Feldern hinterlassen, die von anderen Turtles ausgewertet werden können.

Die leistungsfähigste Variante ist NetLogo, das von der Arbeitsgruppe um Professor Uri Wilensky (Center for Connected Learning and Computer-Based Modeling, Northwestern University Evanston) entwickelt wurde. In seiner Arbeitsgruppe wurden zahlreiche Anwendungen für verschiedene Fächer entwickelt (vgl. z.B. Stieff & Wilensky, 2002; zum Download-Paket gehört eine umfangreiche Modellbibliothek für mehrere Fächer). NetLogo wird sehr gut gepflegt und weiter entwickelt: In einer 3D-Version von NetLogo können sich die Turtles in drei Dimensionen bewegen, was zu besonders aussagekräftigen Animationen führt. Schließlich ist in NetLogo inzwischen ein grafischer Editor integriert, mit dem Modelle in System Dynamics Repräsentation  aufgebaut werden können und damit Makro- und Mikrosimulationen in einem System berechenbar sind … aber das ist eine andere Geschichte.

Zu erwähnen ist noch, dass die Schildkrötengrafik auch in anderen Programmiersprachen Eingang gefunden hat. Unter anderem in Squeak, einer frei verfügbaren Smalltalk-Version (Stéphane Ducasse, 2005, hat ein eigenes Buch darüber geschrieben). Squeak und auch Logo (als Turtle Art) sind u.a. Bestandteil der Software-Ausstattung des XO-Laptops (auch als 100$-Laptop bekannt geworden).

Die 4. Generation: Logo-Revival mit visueller Programmierung?
Mit einer Reihe visueller Programmierumgebungen erleben wir momentan fast so etwas wie ein Logo-Revival, dessen Ende derzeit noch nicht abzusehen ist. Begonnen hat dies 2007 mit Scratch (entwickelt am MIT Media Lab unter Leitung von Mitchel Resnick). Programme werden dabei aus Bausteinen zusammengesetzt, die zumeist allein durch ihre Form nur das Einklinken passender Elemente erlauben und dadurch Syntax-Fehler vermeiden helfen. Daran anknüpfen z.B. TurtleArt, blockly oder MIT App Inventor.

ScratchEin interessante Weiterentwicklung ist Snap! mit mächtigen Optionen, u.a. um eigene Kontrollstrukturen zu definieren. Da es HTML5 und Javascript verwendet, läuft es vollständig im Webbrowser – auch auf mobilen Geräten.

Zitierte Literatur:
Abelson, H. (1983). Einführung in Logo. München: IWT-Verlag.
Böcker, H.-D., Fischer, G. & Plehnert, M. (1986). Interaktives Probemlösen mit LOGO Band 1: Einführung in das interaktive Programmieren. München: IWT-Verlag.
Böcker, H.-D., Fischer, G. & Schollwöck, U. (1987). Interaktives Probemlösen mit LOGO Band 2: Praktische Projekte (Mathematik, Informatik, Künstliche Intelligenz und Sprache, Spiele). München: IWT-Verlag.
Boytchev, P. (2014). Logo Tree Project. Rev. 2.09. Download unter www.elica.net/download/papers/logotreeproject.pdf
Bundy, A. (1986). Praktische Einführung in die Künstliche Intelligenz – Mit Programmbeispielen in LOGO und LISP. München: IWT.
Chakraborty, A., Graebner, R. & Stocky, T.  (1999). Logo – a Project History. Download unter web.mit.edu/6.933/www/LogoFinalPaper.pdf
Ducasse, S. (2005). Squeak: Learn programming with Robots. Berkeley: Apress Publishers. Download unter gforge.inria.fr/frs/download.php/10764/BotsInc-OriginalEnglish.pdf
Papert, S. & Minsky, M. (1969, 19882). Perceptrons. Cambridge, Mass.: The MIT Press.
Resnick , M. (1994). Turtles, Termites, and Traffic Jams: Explorations in Massively Parallel Microworlds. Cambridge, Mass.: The MIT Press.
Stieff, M.; Wilensky, U. (2002): ChemLogo – An emergent modeling environment for teaching and learning chemistry. Proceedings of the 5th biannual International Conference of the Learning Sciences. Download unter ccl.northwestern.edu/uri/public_html/papers/chemlogo/
Tauber, S. (1883). Logo. In: LOGIN 3/1983, S. 37 ff. Download unter joachim-wedekind.de/Downloads/Logo_LOGIN3-83.pdf