Teaching Approach

Robots is a textbook and Java library for introducing beginning programmers to object-oriented programming and the Java programming language.

Object-oriented programmers use objects, but must also write the classes that define them. Many introductory textbooks treat these topics together: students write classes and then use the objects they define. Both at the same time is a lot to master all at once!

Robots takes a different approach. It uses a set of existing classes that implement a simple robot world. Students use these objects to become familiar with what objects are and how they are used. After this grounding, they can go on to write and use their own classes. At first, these classes are simple extensions of the robot classes themselves. But soon students are ready to write all kinds of classes, most having nothing to do with robots.

Using robots to teach introductory programming was first popularized by Rich Pattis and his book Karel the Robot. Since then, many others have followed in his footsteps. Robots differs from Pattis and others in several ways:

Manipulating robot objects is a wonderful way to learn many object-oriented programming techniques, but Robots does not restrict itself to robots. Already in chapter 1 students are shown how the techniques learned with robot objects can be applied to creating a window. Later in the textbook most examples do not use robots, but benefit from the firm foundation built with them.