Mit Niki – der Roboter (oft auch Niki oder NIKI) wird eine Gruppe von Computerprogrammen bezeichnet, die auf der von Richard E. Pattis entwickelten Idee von „Karel, the robot“[1] basieren (siehe Robot Karol). Der Name Niki wurde gewählt, um den Informatiker Niklaus Wirth zu ehren.[2] Es handelt sich um bewusst rudimentär gehaltene Programmiersprachen (Minisprachen), die den Einstieg in die Algorithmik erleichtern sollen. Programmiert wird ein virtueller Roboter, der sich auf einem Kachelfeld bewegt und Gegenstände aufnehmen und abladen kann. Die Programmierung gibt Einsteigern einen ersten Einblick in die Welt der prozeduralen Programmierung.

Niki Arbeitsfeld

Aufgrund der einfachen Bedienung und des begrenzten Befehlssatzes ist Niki für den Einstieg in die Programmierung gut geeignet, insbesondere zum Erlernen der zur strukturieren Programmierung von Niklaus Wirth entwickelten Lehrsprache Pascal.

Der Roboter

Bearbeiten

Der Roboter ist nur mit den nötigsten Fähigkeiten ausgestattet. Er kann sich nach links drehen, einen Schritt vorwärts bewegen, einen Gegenstand aufheben und einen Gegenstand abgeben. Kompliziertere Bewegungen können über die Kombination der einfachen Befehle erreicht werden.

Die Sprache

Bearbeiten

Die Sprache ist angelehnt an Pascal, jedoch wurde der Sprachumfang von Niki stark reduziert, um die Anfangsschwierigkeiten beim Erlernen der Programmierung möglichst gering zu halten.

Die Niki-Sprache umfasst Prozeduren, Rekursion, die Wiederholungsanweisungen Repeat Until und While Do und die Verzweigung If Then Else. Eine große Bedeutung hat dabei die frühe Einführung des Prozedur-Konzepts. Damit können die wenigen Niki-Anweisungen vor, drehe_links, nimm_auf und gib_ab wirkungsvoll erweitert werden.

Die Modi

Bearbeiten

Es gibt zwei Modi, mit welchen der kleine Roboter Niki gesteuert werden kann, die Handsteuerung und die Programmsteuerung.

Programmsteuerung

Bearbeiten

Der Aufbau eines Programms ist gleich wie in Pascal:

Kommentare beginnen mit { und enden mit }.

PROGRAM <programm-name>;
PROCEDURE drehe_rechts;
   BEGIN
       drehe_links;
       drehe_links;
       drehe_links;
   END;
BEGIN
   vor;
   drehe_rechts;
   {usw.}
END.

Die Befehle, um den Roboter anzusprechen:

Befehl Beschreibung
vor gehe einen Schritt nach vorne
drehe_links Drehung um 90° nach links
nimm_auf nimm einen Gegenstand auf
gib_ab gib einen Gegenstand ab
WHILE Schleife, die nach Parametern (nicht) mind. einmal durchläuft
REPEAT Schleife, die nach Parametern mind. einmal durchläuft
IF Wenn-Abfrage

Variationen

Bearbeiten

Neben Niki – der Roboter gibt es noch eine Vielzahl von Variationen der gleichen Idee. Neben dem Urahn Karel, the robot[3] sind vor allem Hamster[4], Kara, der Käfer[5], Robi, der Roboter[6] und Robot Karol bekannt. Deutlich komplexer ist die Programmiersprache Logo, basiert aber auf den gleichen Grundlagen (Turtle-Steuerung).

Siehe auch

Bearbeiten

Literatur

Bearbeiten
  • Alfred Hermes, Dieter Stobbe et al. Eine Einführung in die Algorithmik mit dem Modell Niki der Roboter in: Neue Technologien Heft 1.2, Hrsg. Landesinstitut für Schule und Weiterbildung, Soest 1985.
  • Alfred Hermes, Dieter Stobbe: Informatik Eins. Ernst Klett Verlag, Stuttgart 1988. ISBN 3-12-738400-9

Einzelnachweise

Bearbeiten
  1. Richard E. Pattis. Karel The Robot: A Gentle Introduction to the Art of Programming. John Wiley & Sons, 1981. ISBN 0471597252
  2. Niki der Roboter bei Zentrale für Unterrichtsmedien im Internet e. V.
  3. Roland H. Untch, Sprachgrundlage C++ und C, http://www.cs.mtsu.edu/~untch/karel/
  4. Dietrich Boles, Sprachgrundlage Java, http://www.java-hamster-modell.de
  5. Sprachgrundlage Java, http://www.swisseduc.ch/informatik/karatojava/kara/
  6. Sprachgrundlage JavaScript, http://www.sophie-scholl-schule.eu/joomla/index.php?option=com_content&view=article&id=80%3Arobi&catid=42%3Ainformatik&Itemid=84&lang=de
Bearbeiten