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