As the title of Pattis' book ( A Gentle Introduction to the Art of Programming ) suggests, this is an excellent language to use to introduce students to their first programming language. In my experience using the language, there were several advantages:
| A Small Number of Primitives | This makes the language semantics easy to learn and students are able to write meaningful programs immediately ( and much more interesting than "Hello World!" | |
| A Rich Set of Control Structures | The language contains branching and looping structures in addition to procedural abstraction. | |
| A Challenging Problem Environment | Challenging problems in conjunction with a simple set of primitives allows sophisticated concepts such as problem specification and stepwise refinement to be taught in a concrete and intuitive fashion. | |
| Very Entertaining and Lots of Fun | This point can not be overemphasized. Karel always got each class off to a good start! |