Robot Karol
![](http://upload.wikimedia.org/wikipedia/commons/thumb/c/ce/Robot_Karol_2.jpg/220px-Robot_Karol_2.jpg)
Robot Karol ist eine Programmierumgebung für eine gleichnamige in einfachem Deutsch gehaltene bildungsorientierte Programmiersprache. Sie wurde entwickelt, um Schüler mit Hilfe der Programmierung von einfachen virtuellen Robotern an die Algorithmik heranzuführen. Die Grundidee entstammt dem Buch Karel the Robot: A Gentle Introduction to The Art of Programming.
Geschichte
Robot Karol ist eine ab dem Jahr 2001 von Ulli Freiberger ins Deutsche übersetzte und deutlich erweiterte Variante der slowakischen Originalversion „Robot Karol++“ von Ondrej Krško.[1] Damit ist Robot Karol ein direkter und moderner Abkömmling von „Karel, the Robot“[2][3] sowie eine Alternative zur Turtle-Grafik und zu Niki – der Roboter. Die aktuelle Version ist 3.0.4 vom 21. September 2019[4].
Zweck
Robot Karol wird als „Mini-Language“ bezeichnet, also eine Sprache, die vor allem dazu dienen soll, Schülern einen ersten Einblick in die Programmierung und Algorithmik zu gewähren. Dabei ist es für Anfänger besonders nützlich, dass Robot Karol Programmiersprache und Programmierumgebung zugleich ist, was weitere Installationen, zum Beispiel die eines Editors oder eines Compilers zur Übersetzung des Quelltextes in Maschinencode, unnötig macht. Weiterhin können die geschriebenen Programme für den virtuellen Roboter direkt mit einem integrierten Interpreter ausgeführt werden, wodurch die Erkennung von Fehlern zur Laufzeit in der grafischen Oberfläche von Karols Welt erleichtert werden. Die hier gelernten Methoden können auch leicht auf „Java Karol“ übertragen werden.
Programmiersprache
Sprachelemente
Die Sprache setzt sich aus vordefinierten Anweisungen (zum Beispiel Schritt
oder LinksDrehen
), vordefinierten Bedingungen (zum Beispiel IstWand
oder NichtIstWand
) und Kontrollstrukturen (zum Beispiel wiederhole
) zusammen. Diese drei Elemente werden ausführlich im Handbuch dokumentiert (auf das von der Anwendung aus zugegriffen werden kann). Daneben ist es auch möglich, Anweisungen und Bedingungen innerhalb der Gegebenheiten der Sprache selbst zu definieren. Eine Benutzung von Parametern ist möglich, die Menge dieser Parameter ist allerdings auf einen beschränkt. Rekursion ist möglich, allerdings nicht mit Parametern. Andere Formen von Variablen oder Operatoren existieren nicht.
Beispielprogramm
Ein simples Beispielprogramm, in dem Karol bis zur nächsten Wand läuft und dann einen Ton von sich gibt. Um den eventuellen, späteren Zugriff auf diese Aktion zu erleichtern, wird sie als Anweisung definiert.
{Das hier ist ein Kommentar}
Anweisung GeheZurWand Wiederhole solange NichtIstWand Schritt *wiederhole Ton *Anweisung
Programm GeheZurWand *Programm
Java Karol
Java Karol ist eine Java-Bibliothek, die 2008 ebenfalls von Ulli Freiberger entwickelt wurde und aktuell in der Version 1.1 vorliegt. Damit können an Robot Karol angelehnte Methoden innerhalb eines Java-Quelltextes verwendet werden, zur Einführung die objektorientierte Programmierung moderner höheren Programmiersprachen.[5]
Robot Karol Online
Robot Karol Online ist seit 2022 von David Li entwickelt und ermöglicht es, Robot Karol im Browser zu nutzen. Unterstützt wird neben der textbasierten Eingabe auch die Programmierung mit Blöcken. Ein Wechsel zwischen beiden Modi ist zwischendrin möglich.[6][7]
Bibliotheken
Robot Karol unterstützt Programmbibliotheken, mit denen Hilfsmodule importiert und in Robot Karol genutzt werden können. Beispiele für solche Bibliotheken sind Karollign[8] oder KarolAlphabet[9].
Pädagogische Effekte
Anhand zweier 7. Klassen (Gymnasium) wurden Karol und Scratch miteinander verglichen. Dabei kam heraus, dass Karol als näher am echten Programmierleben wahrgenommen wird, aber Scratch zu einer im Schnitt höheren Motivation und Leistung bei den Schülern führt.[10]
Literatur
- Richard E. Pattis, Jim Roberts and Mark Stehlik: Karel the Robot: A Gentle Introduction to The Art of Programming. John Wiley & Sons, 1994, ISBN 0-471-59725-2.
Einzelnachweise
- ↑ Historie mebis-Infoportal des Landesmedienzentrums Bayern. Abgerufen am 28. Juli 2017
- ↑ Übersicht über die Entwicklungen von Karel (PDF, ≈ 1,7 MB) mebis-Infoportal des Landesmedienzentrums Bayern. Abgerufen am 28. Juli 2017
- ↑ karel.sourceforge.net Karel The Robot – auf Sourceforge.net, abgerufen am 1. März 2014
- ↑ Robot Karol – mebis. Abgerufen am 13. Juni 2019.
- ↑ Java Karol mebis-Infoportal des Landesmedienzentrums Bayern. Abgerufen am 28. Juli 2017
- ↑ David Li: Robot Karol Online. Abgerufen am 20. Januar 2023.
- ↑ Robot Karol Online of GitHub. Abgerufen am 20. Januar 2023.
- ↑ Karollign
- ↑ KarolAlphabet
- ↑ Alexander Ruf, Andreas Mühling, Peter Hubwieser: Scratch vs. Karel: impact on learning outcomes and motivation. In: Proceedings of the 9th Workshop in Primary and Secondary Computing Education on – WiPSCE '14. ACM Press, Berlin, Germany 2014, ISBN 978-1-4503-3250-7, S. 50–59, doi:10.1145/2670757.2670772 (acm.org [abgerufen am 2. Dezember 2021]).
Weblinks
- Robot Karol – (Mebis-Bayern)
- Robot Karol Online
- Programmieren lernen mit Robot Karol – (Zentrale für Unterrichtsmedien im Internet)
- Programmieren mit Karel J. Robot (PDF; 0,6 MB) – (Technische Universität Darmstadt)
- Karel 3D in JavaScript (sk) (en) (de) (es)