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