Logo Programmierung <BR> Autor:Friederike Otto´<BR>

User Interfaces in der Programmiersprache LOGO

von Friederike Otto (06.12.2004)


Die Anfänge:
Die Programmiersprache Logo wurde in den 60er Jahren von Seymour Papert(Abb.1) und seinen Studenten am M.I.T.
entwickelt und ist eine Abwandlung der Sprache Lisp. Zu der Entstehung der Sprache Logo führte Paperts
Idee des Konstruktionismus, der besagt, das Kinder den größten Lernerfolg aufweisen, wenn sie selbstständig
Zusammenhänge erfassen können. So sollen sie durch eigenständiges Arbeiten aktiv Lernen, was im Gegensatz zu
den herkömmlichen Lehrmethoden steht, in denen der Schüler passiv einem Lehrer zuhört. So wollte Papert das
Programmieren in die physische Welt der Kinder bringen um so völlig neue Lernumgebungen und .-möglichkeiten
zu schaffen.


Floor Turtle:
Mit der Programmiersprache Logo ist es ihm gelungen eine für Kinder verständliche und leicht erlernbare
Möglichkeit zur Interaktion mit Maschinen bereitzustellen. Erstmals fand Logo Anwendung in der Floor Turtle
(Fußboden Schildkröte), wobei auf einfachste Syntax und wenig Befehle (forward, back, left, right) Wert gelegt
wurde.So konnten Kinder mit der Floor Turtel (Abb.2) interagieren, indem sie einfache Logo Programme auf dem Computer
schrieben, die dann über Kabel an die Floor Turtel weitergeleitet wurden. So gelang es z.B. Geometrie greifbar
zu machen und schon Grundschüler können einfache Algorithmen nachvollziehen. Hier ein Logo Programm zur
Beschreibung eines Quadrats:

TO SQUARE :STEPS
REPEAT 4 [FORWARD :STEPS
RIGHT 90]
END

So war es den Kinder möglich die Auswirkungen ihrer Programmierung unmittelbar zu beobachten und gleichzeitig
eine wichtige Methode zur Lösung komplexer Probleme zu lernen, nämlich dem Aufteilen eines großen Problems in
Teilproblem (Devide and Conquer).

In der Praxis erwies sich die Floor Turtle allerdings als unzuverlässlich und unpraktikabel, zudem auch immer
die Kableverbindung zum Computer bestehen musste.

Screen Turtle:
Aus diesen Umständen heraus wurde die Sprache Logo wieder auf das Manipulieren von Objekten am Monitor beschränkt(Abb 3).
Die daraus entstandene Screen Turtle (80er Jahre) verfügte über einen größeren Befehlssatz, war schneller, und
konnte komplexere Aufgaben erfüllen.
Allerdings wurde die Turtle damit wieder aus der unmittelbaren Umgebung der Kinder entfernt, und auf einen für sie
abstrakten Monitor gesetzt, denn Befehle wie rechts oder links waren auf einem vertikalen Display weniger intuitiv.
Zwar wurde hiermit die Programmierung wieder abstrakter, aber die Kinder waren freier in den Gestaltungsmöglichkeiten.
So startete die Logo Foundation 1997 ein Computerspiele Projekt in einer New Yorker Grundschule, bei der es
Fünftklässlern möglich war, völlig frei Spiele in Logo (Entwicklungsumgebung MSWLogo) zu programmieren. So sollten
die Kinder lernen eigenständig größere Projekte zu planen, zu organisieren und umzusetzen.Durch die Hohe
Identifikation mit dem eigenen Spiel, wurden rasch große Lernerfolge erzielt, da der Einsatz für das Projekt
ungleich höher war als bei normalen Schulstunden.



LEGO TC Logo Interface:
Steve Ocko wollte die Programmierung für Kinder wieder greifbar machen und brachte die Ausgabe der Logo Programme
in den 90ern wieder zurück in die reale Welt.Durch die enge Zusammenarbeit mit dem Spielwarenhersteller LEGO
entwickelten sie ein Bausteinprinzip, das Kinder frei gestalten und mit Motoren und Sensoren ausrüsten konnten.
Der Einsatz der Programme war jetzt nicht mehr nur auf die Manipulation der Floor Turtle beschränkt, und so
entstanden kreative kindgerechte Maschinen, wie ein Programmierbarer Pop-up Toaster, Häuser die auf ihre Umwelt
reagierten oder Baustein Sortiermaschinen. Da es nur die Möglichkeit gab LogoCode am PC zu generieren und zu
kompilieren, und dann via Kabel an das Gerät weiterzuleiten musste eine ständige Kabelverbindung zwischen PC und
Maschine bestehen, was die Freiheit der Objekte stark einschränkte.


Logobrick:
Dieses Problem zu lösen, machten sich Martin, Sargant und Silverman zur Aufgabe. Sie verhalfen den Maschinen zur
(Kabel) Freiheit, indem sie einen externen mini Computer entwickelten den Logobrick (Abb.4), oder auch P-Brick.
Auch hier wurde weiterhin Logo Code am PC generiert, dieser konnte dann allerdings auf den Logobrick geladen werden,
einem 8-bit Computer, mit vier Ports, sechs SensorPorts, einem LCD, und Buttons, die in eine Legobaustein ähnliche
Hülle verpackt waren.
Durch diese Neuerungen entwickelte sich auch die Programmiersprache Logo weiter, um Motoren und Sensoren zu steuern.
Wobei auch hier darauf geachtet wurde, dass Logoblocks Programme klein und einfach gehalten werden
Hier ein Beispiel für ein Auto, das an einer Wand entlang fahren soll:

TO FOLLOW_WALL
ab, on (Motor a und b anschalten)
if not sensora [b, off wait 5] (wenn kein Input an Sensor b, schalte Motor
b für 0,5 sek. aus)
FOLLOW_WALL
END

Das Logoprogramm wurde auf den Logoblock geladen, der dann an das entsprechende Objekt aus Legobausteinen angehängt
wurde, und autonom seine Befehle ausführen konnte.

Die Entwicklung der Logobricks wurde von dem Spielwarenhersteller LEGO kommerzialisiert und als Lego Mindstorm
Robotics Invention System auf den Markt gebracht.

Cricket:
Eine Weiterentwicklung des etwas sperrigen Logoblocks war der MIT Cricket (Abb.5), eine mini Version des P-Bricks von der
Größe einer 9 Volt Batterie. So konnte das Programm nicht nur besser in die Maschine integriert werden, die
Crickets konnten auch untereinander via infrarot kommunizieren. So wurde es möglich mehrere Programme in einem
System zusammenarbeiten zu lassen.

Tangible Programming Brick System:
Ende der neunziger Jahre entwickelte McNerney das Tangible Programming Bricks System (Abb.6), ein Satz von Bausteinen,
die Logocode speichern und interpretieren konnten.
Die Steine mit Cardslots versehen, die die Möglichkeit boten, Parameter oder Zähler zu integrieren.
Übereinander gesteckt wurden die Befehle der einzelnen Bricks sequentiell abgearbeitet. Die Bricks enthielten
jeweils einen Microprzessor einen LogoInterpreter und Speicher. Energie bekamen sie über eine Batterie am Anfang
des Stapels, jeder Brick konnte nur mit seinem unmittelbaren Nachbarn kommunizieren.


Fazit:
Die Programmiersprache Logo hebt sich nicht nur durch einfache, aber effektive Syntax heraus, sie zeigt auch einen
Weg auf das Lernverhalten der Kinder dem Computerzeitalter anzupassen und sie bestmöglich zu fördern. So steht Logo
nicht nur für eine einfache Programmiersprache, sie ebnete auch den Weg für neue Entwicklung in der Mensch Maschine
Interaktionen. In einer Zeit, in der Computer völlig natürlich in unsere Umwelt integriert werden, wird es vielleicht
Zeit sie auch völlig natürlich programmieren zu können, und das bedeutet den Akt des Programmierens aus der reinen
Codeerzeugung an der Tastatur loszulösen und neue Wege zu finden. Die Sprache Logo, mit der verbunden Philosophie
Seymour Paperts hat den Weg in diese Richtung geebnet.



Quellen:

Tangible Programming Bricks: An Approach to making programming accessible to everyone
by Timothy Scott McNerney link
From Turtles to Tangible Programming Bricks: explorations in physical language design
by Timothy Scott McNerney link
Programmable Bricks: Toys to think with
by Resnick, Martin, Saragnt, Silverman link
LogoBlocks: A Graphical Programming Language for Interacting with the World
by Andrew Begel link
LEGO/ Logo: Learning Through and About Design
by Resnick and Ocko link
Logo Philosophy and Implementation
by Seymour Papert link

http://www.softronix.com/logo.html
www.papert.org
http://web.media.mit.edu/~papert/
http://www.learningbarn.org



Bilder:

Abbildung 1: Seymour Papert


Abbildung 2: Floor Turtle


Abbildung 3: Screen Turtle


Abbildung 4:The Programmable Brick from MIT


Abbildung 5: Der Cricket


Abbildung 6: Programming Bricks