CONQUERING FUNDAMENTAL PLANNING IN JAVA: A DETAILED EXPLANATION