Karel The Robot

KarelTheRobot was a tool I encountered during my freshman year of college (1986). It was a little programming environment where you controlled a robot's motion through a maze of walls and beepers. The robot was nothing more than a ">" symbol that could be oriented north, east, south, or west. The language to control Karel was a very scaled-down procedural programming language, which had the unique feature of having no variables. The only way you could really keep track of stuff was by putting beepers into Karel's beeper bag.

The program was wildly popular among my classmates, in part due to our teacher's talent in emulating the robot on-stage. (Teacher's name was OwenAstrachan.)

Karel could do pretty sophisticated stuff, like navigate mazes and detect palindromic beeper layouts. You built up his ability to roam his little beeper world by writing little procedures that he'd faithfully memorize and execute.

Invented by Prof. Richard Pattis in the late 1970s, published first book on Karel 1981.


Karel rules! I learned to program using Karel too. It was great way to learn how to program. Fun. Lots of feedback. Just enough complexity.


There's a JavaLanguage KarelTheRobot OpenSource project at SourceForge: http://karel.sourceforge.net

Another implementation, in PythonLanguage: GuidoVanRobot


A little bit of etymology: Karel is the first name of Karel Capek, the author of R.U.R.: (Rossum's Universal Robots) [ISBN 0887347991 ], which invented the term "robot". In R.U.R., there are android slaves called "robots", which comes from the Czech word robota = compulsory labor.


I've just finished using KarelTheRobot in my Computing class at school and I have to say it has really helped me with laterally thinking about programming. I'm now using VisualBasic but the foundations I have developed from KarelTheRobot have been essential in my studies.


I have no exposure to KarelTheRobot or RoboCode, is there any comparison that can be made with LogoLanguage?


EditText of this page (last edited September 5, 2013) or FindPage with title or text search