Understanding Java fundamental concepts and playing with them meanwhile preparing for the Java certification exam