Picture of Cover

Teaching Approach
Printer Friendly Page

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:

  • Robots has a smooth transition to the parts of the course that go beyond robots. Other implementations provide a two week introduction. After that, students start over with a different textbook and often a different program development environment.
  • Robots has a Java library to implement the robots. Students develop robot programs using exactly the same techniques that apply to all Java programs: leverage off of code others have written, and use a real Java development environment.
  • The Robots library allows users to use as many robots as they please. This is vital for students to grasp that different objects have different state but offer the same services. Many other implementations restrict students to a single robot.
  • Robots provides an implementation that is much richer than most others. Where other implementations allow users to manipulate robot objects, Robots allows students to manipulate the cities the robots inhabit, the intersecting roads they travel on, the things they can pick up and carry, etc. Even the user interface objects are available for students to manipulate. In spite of this, simplicity is not lost.

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.

Contact: bwbecker@learningwithrobots.com.