Programmieren lernen mit Kara

Links im Umfeld von Kara

Kara ist eine von vielen sogenannten Mini-Umgebungen für den Einstieg ins Programmieren. Nachstehend eine (unvollständige) Auswahl einiger Mini-Umgebungen:
Eine Übersicht über verschiedene Entwicklungen, die auf der Idee von "Karel, the Robot" basieren.
Der Artikel stellt einige Nachfolger und Neu-Implementierungen von "Karel, the Robot" kurz vor.

Logo & die Schildkröte – el.www.media.mit.edu/groups/logo-foundation
Das "Urgestein" programmierbarer Mini-Welten. Rund um Logo gibt es etliche Bücher und diverse Programmversionen.

Karel, the robot – www.mtsu.edu/~untch/karel
[Gratis] Die erste Mini-Umgebung für den Einstieg ins Programmieren. Karel, the robot wird inzwischen in einer von der Syntax her C / Java ähnlichen Sprache programmiert. Zu Karel the robot gibt es ein Lehrbuch.

Karel++ – csis.pace.edu/~bergin/karel.html
[Gratis] Der direkte Nachfolger des Originals, ein objektorientierter Karel, der in einer C++ ähnlichen Sprache programmiert wird. Auch zu dieser Version gibt es ein Lehrbuch.

CoLoBot und CeeBot – www.epsitec.ch
[Kommerziell] Eine moderne 3d-Neuauflage des Klassikers Karel, the robot. Der Roboter wird in einer an Java/C++ angelehnten Sprache programmiert. Das ganze ist in eine graphisch aufwendige 3d-Spielumgebung integriert.

Der Java-Hamster – www.java-hamster-modell.de
[Gratis] Eine Umgebung, in der ein virtueller Hamster in Java programmiert wird. Diese Umgebung steht ganz in der Tradition von Karel, the robot.

Boxer Project – dewey.soe.berkeley.edu/boxer.html
[Gratis] In der Tradition von LOGO, aber mit einer mehr visuellen Programmiersprache, und umfassender in der Zielsetzung: "Boxer is the first example of a "computational medium" for real people -- not just for computer experts."

Alice – www.alice.org
[Gratis] Alice ist ein Akteur in einer drei-dimensionalen Umgebung und wird in einer von der Sprache Python abgeleiteten Skriptsprache programmiert. Die Umgebung ist spannend und grafisch sehr ansprechend, allerdings ist die Programmiersprache nicht ganz trivial.

ToonTalk – www.toontalk.com
[Kostenpflichtige CD] ToonTalk ist eine Umgebung, in der Kinder die Konzepte von Objekten und deren Eigenschaften und Methoden kennenlernen können. Das ganze ist aufgemacht wie ein Videogame und insofern sicherlich ansprechend. Eine eigentliche Einführung ins Programmieren bietet ToonTalk nicht.

AgentSheets – www.agentsheets.com
[Kostenpflichtig] Eine Umgebung, in der beliebige Welten und Akteure konstruiert werden können, die mittels "Programming by Demonstration" programmiert werden: man spezifiert Regeln, die angeben, auf welche Ereignisse ein Programm-Element wie reagieren soll. Daraus generiert das Programm Java-Applets. Sehr vielfältig, allerdings auch nicht ganz einfach.

Artikel zu Mini-Umgebungen und zum Einstieg ins Programmieren

Buck, Duane and Stucki, David J. Design Early Considered Harmful: Graduated Exposure to Complexity and Structure Based on Levels of Cognitive Development, Proceedings ACM SIGCSE Symposium 2000, Austin, Texas.
Eine Argumentation, warum man "bottom up" ins Programmieren einsteigen sollte, von kleinen Teilprogrammen ausgehend, und nicht mit vollständigen Programmen oder gar mit objektorientiertem Design einsteigen sollte.

Buck, Duane and Stucki, David J., JKarelRobot: A Case Study in Supporting Levels of Cognitive Development in the Computer Science Curriculum, Proceedings ACM SIGCSE Symposium 2001, Charlotte, NC.
Die Umsetzung der obigen Ideen mit JKarelRobot, der "Karel, the robot"-Umgebung der beiden Autoren.

Brusilovsky, P., Calabrese, E., Hvorecky, J., Kouchnirenko, A., and Miller, P. (1997) Mini-languages: A Way to Learn Programming Principles. Education and Information Technologies 2 (1), pp. 65-83.
Eine Einführung in die Idee der Mini-Umgebungen, in grundlegende Prinzipien solcher Umgebungen sowie eine kurze Übersicht über verschiedene solche Umgebungen.

Cypher, Allen and Smith, David C. "KidSim: End User Programming of Simulations". Proceedings of CHI, 1995.
Eine Umgebung, welche die Idee des "Programming by Demonstration" umsetzt: ein Akteur in einer grafischen Welt wird programmiert, indem ihm "vorher-nachher"-Regeln beigebracht werden mit Hilfe der Maus.