Learn programming with Kara

Links in the larger context of Kara

Kara is a so-called mini-environment. The following is an incomplete list of some other mini-environments:
Logo & the Turtle - el.www.media.mit.edu/groups/logo-foundation/
The 'original' of a programmable actor. There is a wealth of material of Logo.

Karel, the robot - www.mtsu.edu/~untch/karel/
[Free] The first mini-environment for introductory programming. The current Karel is programmed in a language based on the syntax of C, or Java. There is a textbook for using Karel.

Karel++ - csis.pace.edu/~bergin/karel.html
[Free] An immediate descendant of Karel which is programmed in a C++ like language. There is also a textbook on Karel++.

JKarelRobot - math.otterbein.edu/JKarelRobot/
[Free] A reimplementation of Karel which can be programmed in different languages (based on Java, LISP, or Pascal). It offers flowchart views of the code.

Boxer Project - dewey.soe.berkeley.edu/boxer.html
[Free] In the tradition of LOGO, but with a more visual programming language, and more ambitious in its goals: "Boxer is the first example of a 'computational medium' for real people -- not just for computer experts."

Alice - www.alice.org/
[Free] Alice is an actor in a three-dimensional world and is programmed in a language based on Phyton. The environment is graphically quite attractive.

ToonTalk - www.toontalk.com/
[Commercial] ToonTalk is an environment in which children are to learn concepts of objects and their properties and methods. It presents video-game like and is graphically attractive. However, it does not offer an introduction to programming per se.

AgentSheets - www.agentsheets.com/
[Commercial] An environment in which simulations can be created. The actors are programmed using "Programming by Demonstration" mechanisms to create graphical rewrite rules. Powerful, but not trivial to use.

Some papers on mini-environments and introductory programming

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.
Argues for a bottom-up approach to introductory programming, starting with small programs, and not with object-oriented design.

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.
The realization of the above ideas with JKarelRobot, the "Karel, the robot" environment of the authors.

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.
An introduction to the concept of mini-environments and to the basic principles of such environments. Contains a brief overview of some mini-environments.

Cypher, Allen and Smith, David C. "KidSim: End User Programming of Simulations". Proceedings of CHI, 1995.
Describes an environment for "Programming by Demonstration".