Java Essentials for Devs: Basic and advanced programming