CONQUERING FUNDAMENTAL PLANNING IN JAVA: A THOROUGH GUIDE