The more you do something the better outcomes you gradually get. This common knowledge applies to Java programming as well. No reading and staring into the screen will get you as far as typing your own code.
Regular practice will teach you lots of great things: a problem-solving approach, tech intricacies, the algorithms you would never think of, and much more. Coding challenges and tasks get you through the levels.
With the multiple options available it’s still sometimes hard to decide where to get daily coding practice in Java. As a seasoned tutor and Senior Java developer, I’ve already checked up many resources. Some are really nice and I highly advise you to have a look at them.
Here’s the list of my favorite places where you get daily coding practice in Java.
CodeGym
Price:
In a galaxy far far away… Nope, it’s not another Star Wars series. But somewhat similar to the context. You find yourself in a futuristic reality where a galactic team has to be saved. They have been crushed onto the planet inhabited by the savage robots.
The only way back home is to teach one of the robots to code Java and pull the spaceship out of the stone heap. The one who would pass all four quests with 10 levels each would save the spacecraft and help the humans return to Earth. Are you up for a bit of cosmic challenge?
The course is made as a game and it’s fun to go through. The space crew teaches you to code and explains how Java works.
There are over 1200 tasks to complete with an instant checkup option. Moreover, the learners can ask for help in a special section or share the outcomes with the vibrant friendly CodeGym community. The course perfectly fits the ones with zero experience in programming. Making the first steps in Java amidst the supportive and entertaining environment is much more fun than just doing the boring textbook drills, ain’t it?
Codewars
Price:
Here you will find a more Oriental approach to the Java learning process. The challenges are created by the users willing to teach various techniques. The tasks are called “kata” which means training exercises in the area of karate and some martial arts. So the learners conquer the complexities of Java by going through kata and becoming more and more enlightened in Java, or in other technologies of their choice.
There are around 20 languages available and 12 more are in beta mode. The tasks can be resolved directly in a browser. And the community is always eager to help neophyte code-warriors to succeed.
While resolving tasks the learner receives honor and access to more complicated levels. Step by step you achieve coding mastery together with other learners getting wisdom from seniors and passing it on further.
The project is strongly community-based but there’s enough moderation in it. It is always possible to check your solution with other learners. And finally, you can create your own kata! Just like they say that when you teach others you finally understand everything yourself. And become a true Java-Samurai.
Cyber-dojo
Cyber-dojo is a great option for group practicing. It requires some basic understanding of programming though. The tasks can be resolved solely or together with a partner. Students can also join group sessions. The goal of the project is not to gain victory in the game but rather to obtain experience. You write code and see if what you have done is right. Three color markers help figure out what your progress is like. The red color means that the test failed. Amber one signals about syntax mistakes. And green means everything’s great.
On Cyber-dojo you can practice 30 programming languages and some testing frameworks related to each other.
I prefer Java of course. But just in case you want to lay your hands on something else there’s a great opportunity for it. The platform is free for personal use. But the companies might have to get a license. The project is created by the same-name Foundation and it uses all the funds from the licensing to help spread the knowledge about software to children around the world, for example, purchasing PCs for 63 schools in Malawi.
CodeChef
CodeChef is about friendly competition. And it is a place where you can actually win something. There are three featured contests every month with prize giveaways. The names of the winners are publicly shown on the very front page. No cheating! Moreover, there are regular external contests on the CodeChef platform.
As for the learning process, the students go from the beginner level to more advanced challenges. The ranking system is based on the points that users get for completing various tasks. One can train specific skills by choosing tasks by the relevant tags. The tag list is huge and includes the most popular programming problems as well as names of the authors who set a problem to resolve. You can even choose which of them your favorite one is. You might also pick tasks by difficulty level. And if something gets too difficult, you can ask for help and discuss the tasks on the forums.
With monthly “Cook-Offs” (that’s the way the call competitions there) you can participate in contests according to the level of your mastery. Divisions are based on user ratings and the trick is that you cannot participate in the division which is lower than your score. So you have to compete fairly with the contestants of your level, not those you can easily overcome.
CodinGame
This is what I would call a “one-stop-shop”. First, you can learn programming in a fun way by creating various puzzles and games. You can join an already existing project or start a new one.
Also, there are coding battles available in case you’re up to some adrenaline. Second, there’s a huge and active programmers’ community. They are ready to help with something you might struggle with. Just come on forums or to a special chat section. And thirdly, which is one of the most important in my opinion, CodinGame is a place where recruiters hang out. They watch the contest and take note of the talented people right away. So, there’s a good chance for you to find a job there.
The platform is very bright and vivid itself. Learning by playing is one of the best ways to go, agree? By the way, your success won’t be unnoticed. If you become one of the top players, you’ll find yourself on a Leaderboard. As for the tech stack, CodinGame supports over 25 languages including some rare ones. Personally, I recommend it for the Java part. But you can also try other options.
Codecademy
The strong feature of this educational platform is its well-organized structure (besides the quality, of course). It is very easy to find what you need. A very detailed catalog of technologies, expertise areas, or career paths gets you through in no time.
You can choose out of 14 programming languages or subjects like “Web Development” or “Data Science”. There’s a separate course on Code Foundation. Codecademy includes many greatly organized courses, some even have an official certification option.
A nice perk: you can ask experts from the internal community to review your code. There are various Codecademy chapters in places all over the world. You can meet either online or in-person (as soon as it is possible again). Join an existing chapter or create your own.
This year the platform introduced a new better pricing plan for the Pro level with more than 35% off. A handy option in case you wanna hit it hard from the start. And there are crispy “cheat sheets” to help you get through the basics fast. This one is for Java.
With this short list of great places to practice Java daily your choice becomes quite narrowed down. You don’t have to surf the never-ending net to search for your perfect Java practicing tool. It is all done for you right here.
Either you’d prefer to go up Samurai’s way, or choose the path of a Java champion, or play games; each option is nice as long as you actually do something.
And don’t hesitate to ask the community for help. Every quest, resolved task, every question, and answer to it brings you closer to your main goal to become a Java pro. So cheer up, start right away, and move on!
Also published here.