GvR Logo The Guido van Robot
Programming Language

Everyone loves robots. Remember R2-D2? Logo? Data? HAL? Well... maybe HAL isn't such a good example. In any case, back in the early 80s, Richard E. Pattis, a professor at Carnegie Mellon University, was developing a project to introduce his first-year programming students to the Pascal programming language. The result? The Karel the Robot programming language. Its strengths lie in the fact that it is extremely simple (it only has five commands) yet can be used to teach some of the most advanced concepts, without all the complicated syntax.

Enter Steve Howell, a dashingly handsome, ambitious young student at Duke University. In taking "An Introduction to Programming," taught by Owen Astrachan, he encountered the Karel Programming Language. While it was merely an introduction to Pascal, and had no practical commercial use, it proved memorable.

Flash Forward fifteen years to November 2001. Steve, as industrious as ever, furiously works on a Python project of his, designed as a sort of academic project to hone his skills. What did he create? A Python implementation of Karel the Robot, of course.

But Rome wasn't built in a day. Steve's program still needed substantial improvement. While fully functional, it only ran in a terminal, using the Python curses module. Steve Howell needed somebody to work with his Python version of Karel, preferably an educator. That way, Karel could then be used as an educational tool as well as a programming project. He then examined his options: he could write a Personals ad (Wanted: Programmers, know Python, enjoy long, moonlit walks on the beach), or he could use the power of the Internet to find someone on one of the Open-Source school mailing lists, such as schoolforge-discuss@schoolforge.net After much debate, he settled on the latter, and came across Jeff Elkner, infamous masked Open-Source avenger from Yorktown, armed with student prodigies Waseem Daher and Donald Oellerich: Keepers of the Code. Their mission was to rewrite the GUI using wxPython, enabling graphical support in both Windows and Linux. Aptly named pyKarel, it had much potential.

Of course, everyone is above average at Yorktown High School, but even then, Waseem and Donald needed some help with the GUI, more help than Steve could always provide. Here's where Michele Moore of MetaSlash Inc. comes in. Whenever a problem arose, they'd fire off an email in her direction with the latest question. Think of her as the Ms. Cleo for Donald and Waseem's undertaking.

But misery loves company, and apparently so does programming. Donald and Waseem, after much effort, needed some fresh help with the project. That's where programmer extraordinaire Paul Carduner comes in. He proceeded to rewrite the entire compiler, and what's more, brought the project to its current state. Karel the Robot was designed to teach introductory Pascal students about Pascal. Enter Guido van Robot, a Python-esque programming language designed to teach students about Python. Paul has been the principal author of this new use for an older project, working closely alongside all the familiar pyKarel faces.

The work on GvR continues to this day. Luckily, since it was built off the pyKarel compiler engine, and still uses the same familiar GUI, it already is fairly robust and can be used as an excellent precursor to Python in the classroom environment.


Copyright © 2004 Jeffrey Elkner.