Chapter 1 Introduction (java version)