CodeGym - Learn to code Java while playing - Great site
So, if you want to learn how to code in Java interactively and for free, then CodeGym.cc is the website for you. This is by far one of the best sites where you can learn to program for free. It has thousands of active members already.
To help students develop their skills, this learning site encourages them by asking for very interesting and engaging quizzes throughout the course.
The idea is basically very simple & yet very engaging.You register on the website (which is free obviously) and start performing tasks and receive reward points in return known as 'dark energy points' which can then be utilized to unlock the next levels and lessons. Nothing confusing or unusual here.
The tasks include a lot of variety i.e., reading a code, solving problems, watching some educational videos, finding and fixing the mistakes in codes, adding new features, big tasks, writing games, and much more.
Be assured that just after you participate in this adventure you'll start getting some tasks that will help make you understand the basics of Java thoroughly and then as you progress further you'll be given full-fledged projects to be completed.
The projects will include all sorts of topics ranging from small computer games, online chat to an application for automating a restaurant, and an ATM emulator.
You will have the option to skip some tasks if you want - just in case if you plan to do them later: this will help you continue to make progress without losing your motivation.
Hints are provided for the correct solution and you also get to be a member of the online community where you can get all the practical advice you need.
Along with a bunch of useful, effective & motivational materials, you will also be provided with the targeted preparation for your next job interview as a Java developer.
Remember though that nobody can learn to program for you. It is a lot of practice and it is this practice that will make you learn faster.