Java Programming Exercises: Volume One: Language Fundamentals and Core Concepts