An invitation to computer science : Java version - Schneider, G. Michael (Brooks/Cole, 2000)