CONQUERING GROUND-LEVEL ARCHITECTURE IN JAVA: A REAL-WORLD TUTORIAL