Since then I've written Karel J. Robot with a pure Java syntax and have also added material on concurrency to the mix. This pattern suggests that to design a course, examine the material to be taught, find the most important idea and begin with that. The advantage of this approach is that the Professor will have maximum opportunity to reinforce the key idea of the course and the students will have maximum exposure to it. In the original Karel the Robot, the most important idea was the use of procedural abstraction. Therefore, Karel the Robot begins with procedures.
Students see procedures before they see anything else in the language.
Another key pedagogical pattern in the Karel series is Consistent Metaphor. The idea of a robot is well known to students and is easily cast into either a procedural or an object oriented view. Robots behave consistently with the associated metaphor, making it easy for students to grasp what is going on in a program. Therefore classes and subclasses are treated as the first subjects of the book. The first class is seen on page 10 and students begin writing their own classes on page 26.