Once Steve Jobs said that “everybody in this country should learn how to program a computer because it teaches you how to think”. He was right. Even if you don’t feel like this, the software took over the world in a special “soft” way… the quantity of applications is growing rapidly. It means, our future is literally in software developers hands. Hence, ‘to be a programmer’ stands for being one of the most demanded specialists nowadays and in the future. So whether you are looking for a new career or want to improve your skills just for fun, programming is an amazing choice.
Is It Easy To Learn How To Program?
Coding is not rocket science if you know what to do and learn it the right way from the very first steps. Just stay focused and remember one main rule: practice comes first. I mean coding itself, not learning theory, is in a high priority especially during your first steps on the software developer path. Read a bit, code a lot. Your smart ratio should be about 75-80% for practice tasks and 20-25% for learning theory. Sure it is not as easy as it sounds in particular if you are a self-learner. However, nowadays it is easier than ever. Why? Because we’ve got all these wonderful coding toys…
Are You In The Game Or What?.
Have you ever played video games? I would be surprised if the answer was “no” so let me presume it as “yes”. Anyway, one of the catchy video games features is tangible and rapid development. Your character is leveling up and became stronger. Or probably the character’s environment is becoming more and more hostile and it seems to be more difficult to walk through.
The last decade almost all gaming platforms have acquired a system of trophies and rewards. There are even special sites that tell how to knock out one or another trophy in a game, and people compete who will collect more of these (absolutely non-material!) prizes.
Why it happens? Why are video games are so exciting? I answered this question above: tangible and rapid development. You get an instant reward for your efforts and our brain likes it badly. That’s the main reason why we play even if we are sure that games are stealing our time.
Marketers are well aware of people’s brain kryptonite to get instant promotions. So it is not surprising that recently there have been so many programming courses and learning sites with these features of video games.
To be honest, I am very happy about it. People got the opportunity to learn to programme without tormenting themselves. They legally “deceive” their brains and get not only pleasure but also the necessary skills. Here below I collected some links on the best resources where you can learn coding using the love of our brain to play.
Java: CodeGym.cc
I am a Java guy, so I sought out some practice courses for my students and once, several months ago, I’ve found CodeGym. First of all, I must say CodeGym is a Java Core online course, not a game, and the main feature of it is a practice system. Here you’ve got not only lectures but 1000+ coding tasks, small and big, easy and tough. All tasks are checking with the instant verification system. A student writes a solution and gets an immediate review of every stage, tips for improving the code and recommendations for correcting errors if the student has some.
“What about gamification?”, you may ask. My answer is: CodeGym is a gamified course. It divided into four quests and your Character, a roboguy called Amigo starts with level zero (means zero levels of Java) and him leveling up means developing your Java core knowledge. CodeGym has an original plot. The story takes place in the year 3018, the team of the starship GalaxyRush crushes on a planet inhabited by savage robots. The only way to way out of this trouble is to teach the roboguy Amigo how to code. Later Amigo can educate others and help the team to repair the starship. So the star crew teaches character Java programming.
The course is really entertaining and most of my students enjoy its lectures, tasks, motivation articles and a friendly community.
2. JavaScript and Python: CheckiO
Here you can find coding games for both rookies and experienced software developers. It is not a course but a game and you can use JavaScript or Python to walk through this game.
You start your story from your own island in the Ocean, where you can find a bunch of coding tasks. Solve all of them and move on to the other islands. Each task is marked with a complexity labels such as “elementary”, “simple”, “moderate”, “challenging” and subject tags “math”, “matrix”, “logic”, “parsing”, “array” and so on.
As well as CodeGym, you can check your tasks with instant verification system and get some hints. CheckiO allows both a single play and special education classes.
3. Ruby: Ruby Warrior
Ruby Warrior is an Adventure game about a knight whose every step depends on your Ruby code. You made him walk through the tower level by level, checking a space in front of you, attacking enemies and so on.
This coding game started as a project by Bloc, a part-time online coding Bootcamp. The authors define the project as a game for people who want to keep their current job, learn how to code, and become a full-time software developer. However, you should know Ruby at least a little bit to start or use a tutorial while playing.
4.Different languages: CodinGame
CodingGame is not for absolute beginners, it is rather for people with at least basic programming experience. I must say, it is a very exciting way to improve your coding skills. In the beginning, you’ll get a game you should change.
You may try one of the 23 programming languages here. Write the code and compile the game in the same window on the site and you will see the result immediately because of the game-changing in real time. So on every step, you should solve some tasks and get visual feedback, a small change in the game. CodinGame also has some hardcore challenges for experienced developers.
5. Different languages: CodeWars
Codewars is a site where software developers can achieve code mastery through challenges. So it is not a course or a game as well, but a bunch of more or less challenging tasks.
In the beginning, you’ve got kyu 8 (rank) and you try to improve it to kyu 1, the highest rank. Each task includes the description, a set of input data and a required output result. Train on kata (it is a Japanese martial art) in the dojo and reach your highest potential.
I must say, Codewars is not for newbies, it is rather for experienced students or even professional developers who want to improve their skills in a fun and enjoyable way.