Title Page

I, Robot -- Episode 1

CS Software Engineering I -- CS 143 Lab 6

I, Robot -- Episode 1



Rhys Price Jones



© Fall 2006

"I, Robot" refers to a collection of science fiction books by Isaac Asimov, that first appeared in the 1950s. They speculate on interactions between humans and robots as the latter become more capable. The term robot itself derives from a 1921 play R.U.R. by Karel Capek. In English, it's Rossum's Universal Robots.

Robota, in Czech, I am told, is a word that conveys drudgery and feudal slavery. Asimov's three laws of robotics:

  1. A robot may not harm a human being, or, through inaction, allow a human being to come to harm.
  2. A robot must obey the orders given to it by human beings except where such orders would conflict with the First Law.
  3. A robot must protect its own existence, as long as such protection does not conflict with the First or Second Law.
conform with this sense that robots are machines intended to serve us.

However, we are fascinated by the idea that the robots can become smarter and smarter, and speculate as to what might happen in a future where our slave machines become our equals, nay, our superiors.

That said, this introduction to robots has very little to do with the remainder of the lab. We will be developing programs to simulate robots, and seeking to make them "smarter" so that they can find their way through boxes full of obstacles. In the process of doing that, we will be studying and experimenting with class hierarchies. We will meet some sophisticated and subtle ways, including the notion of object composition, that provides us with an alternative design for code re-use when, for various reasons, inheritance is not available.

We will be building a host of BlueJ projects. I suggest you use my naming conventions for your projects to help everybody keep track of all the versions we will have.


last modified October 16, 2006 by rhyspj@gwu.edu