So you think of learning Java. Good choice! This language is 20 years old but still progressive. The freshest (Java 11) release was in September 2018, and the next one will be in March 2019. Java is platform independent and you can do almost anything with it. Java is object oriented language but you can use different concepts, such as functional programming if you want to. It has very reach API. Java is beginner’s friendly and has the best community and documentation base. And while Java is so popular it is easier to find a good job knowing this language than else.
Well, Java is good…but how to learn it? You can find a lot of different Java courses in Internet or elsewhere. Which one to choose?
This article is about one of the unique Java online courses called CodeGym. It is a Java Core classes from scratch to confident upper intermediate student. It has solid and logical structure. First, you read one or two short theory lectures, then do some (5-10) coding tasks checking them via automated validator. You get the response, recommendations and keep some points. Now you can go to the next lectures etc… What is so special about CodeGym? It stands out for successful ideas and implementation. Now we come to details about this course, its pros and cons.
Learning Through Practice
People are getting use to standard way of learning. Such as in high school or college. You get the book, start to read it then do some tasks. Theory to practice ratio is about 1/1.
However, programming is a practical skill you can develop only through coding. It is more like dancing, swimming or painting. You can’t learn how to paint or swimming reading books. The same story with programming. You just need to practice more. And the CodeGym creators understand it well. They claimed on their landing page that the course contains 80% of practice… Well, is this true? It looks like the one. Course has 1200 (!) coding tasks. Some of them are very easy, the others are more complicated to solve. You can code for CodeGym in special online IDE right on the site or in IntelliJ IDEA, using special CodeGym plugin.
Together with tasks conditions you get very understandable step by step requirements. They are priceless for the beginners, but probably way too detailed for more experienced students. It would be better for future programmer not using the requirements too often and try to make this up by her or himself.
When you push “verify” button in CodeGym IDE or IDEA Plugin, you get your checked tasks almost in a moment. It is convenient. If something gets wrong with your solution “Virtual trainer” of CodeGym tells you, where you made a mistake and how to fix it. Very valuable feature!
What kind of tasks has CodeGym? It covers all Java Core topics such as Java Syntax, OOP, Structures, Multithreading and a little bit more. You can find there some algorithm problems but not too many, probably it would be nice to have more of these in the course. In the middle of the course you will get some mini projects, bigger and more complicated problems divided by many consecutive steps. For example, once you create your own version of Arkanoid video game.
Gamification
When you solve your problem right, you get so called dark matter – the points you need to open the next lecture or the next level… sounds like a videogame! And it is kind of a game. CodeGym is divided into 40 levels. Each level includes about 15-30 coding tasks, 10-20 Java lectures and motivation articles to cheer up the students.
You have your character, anthropomorphic robot Amigo, nice and full of humor story about spaceship and your teachers from different planets. So you go with your character through the course level by level, collecting and spending the dark matter, and your own programming level is increasing.
Community
It’s alive! So you never feel like you are all alone on CodeGym. This community is quite friendly so if you stuck with your task, you can use this shared mind in Help section. Usually you’ll get the answer for your question fast. Some students and probably administration write new articles about Java and learning process in Group Section. Not all of them are really useful, but some of them definitely are. One more thing: you can write your own article or help others with their tasks, which is very useful for learning.
CodeGym has a lot of motivational lessons and success stories of graduates who are already working as programmers. Judging by the comments made under those stories, they really motivate people to not give up learning.
Conclusion
To become a programmer, you need to program. This phrase could be a motto of CodeGym as well as ‘not to be boring’. CodeGym is not a game but very well structured Java Core course with gamification elements and interesting story. After you solve all the tasks you get about 500 hours of clear programming experience. So in that point you are very close to Java Junior level. Not bad for an online course.
Pros:
- Well-structured course
- You’ll get 1200 coding tasks from very easy to tough
- You can check your code very fast
- You’ll get the recommendations and tips
- Community that helps
Cons:
- Sometimes while you’re coding you are led by the hand like you are little kid
- Some lectures are well presented some are not
- Not enough algorithms tasks
Great blog post you have posted here about Java, thanks for posting such valuable and informative blog post.