Java Program Design - Edward Sciore (Springer, 2019)