Robot Karol
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
Bei Robot Karol handelt es sich um eine ab dem Jahr 2001 von Ulli Freiberger ins Deutsche übersetzte und deutlich erweiterte Variante der slowakischen Originalversion „Robot Karol++“.[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 sogenannte „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. Des Weiteren 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
Bei Java Karol handelt es sich um eine Java-Bibliothek, die ebenfalls von Ulli Freiberger 2008 entwickelt wurde und aktuell in der Version 1.1 vorliegt. Mit ihr ist es möglich, an Robot Karol angelehnte Methoden innerhalb eines Java-Quelltextes zu verwenden, um in die objektorientierte Programmierung eingeführt zu werden.[5] Damit bietet das Karol-Universum eine Schnittstelle zu einer der sogenannten Höheren Programmiersprachen.
Bibliotheken
Robot Karol unterstützt Programmbibliotheken, die es ermöglichen Hilfsmodule zu importieren und in Robot Karol nutzen zu können. Beispiel Bibliotheken sind Karollign[6] oder KarolAlphabet[7].
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 bei den Schülern führt. Bei der abschließenden Prüfung zeigten sich keine signifikanten Unterschiede zwischen den Leistungen der beiden Klassen.[8]
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
- 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)
- Programmieren lernen mit Robot Karol – (Zentrale für Unterrichtsmedien im Internet)
- Programmieren mit Karel J. Robot (PDF) – (Technische Universität Darmstadt)
- Karel 3D in JavaScript (sk) (en) (de) (es)