Introduction to programming in Java : an interdisciplinary approach - Sedgewick, Robert, 1946-.; Wayne, Kevin Daniel, 1971-. (Pearson Addison-Wesley, 2008)