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