Whether you’re learning Python to improve your career prospects or to fill up those leisure hours with something interesting, I’m sure you’ll agree with us that practice is crucial to helping you become a better programmer.
And if you’re looking for something a little bit less mundane than practice questions with model solutions (who wants to be reminded of their O level days, right?), what better way than to gamify your practice hours?
That’s why we have curated this list of 5 free games you can play to help you improve your Python programming skills!
I. If you’re looking for something beginner-friendly
You can’t go wrong with CodeCombat.
Unlike most of the games on this list, which require you to have some understanding of how programming works before you can play, CodeCombat is a beginner-friendly platform that teaches coding concepts via gameplay.
On each level, players are given tasks to complete, such as collecting gems or defeating monsters. To complete the tasks and get to the next level, players have to write little bits of code that tell their avatar what to do.
Complete your tasks well (e.g. by writing clean code) and you will be rewarded with additional points.
If you think good graphics are essential to your enjoyment of a game, Code Combat is likely to be your best bet. As the screenshots above testify, the game interface looks pretty spiffy and could even pass off as something more than just an educational tool.
However, if there is one negative point I’d like to highlight, it is that some of the code used in gameplay is specific only to the game, so you’re unlikely to encounter or use them when programming in real life. That said, the concepts taught through and the syntax used in the game remain applicable outside of the game.
II. If you enjoy the competitive element of coding
Head over to CodinGame.
At its most basic level, CodinGame provides its users coding practices in the form of mini games—algorithmic puzzles of varying difficulty levels. Some puzzles, especially the simpler ones, have been created to aid users in learning specific concepts.
To encourage competition, users are told of the “community success rate” of solving each puzzle.
While the entire section is entitled “Practice”, some of the more difficult puzzles on the page are actually sponsored by tech companies, who are likely to be on the lookout for development talent. This challenge by Nintendo, for an example, urges users to solve it to stand a chance to “meet the Nintendo tech team”.
In addition to the puzzles, users also have the option of taking part in game-based coding competitions that take place over a predetermined period of time, allowing them to pit their coding skills against their peers.
If you think you’re ready to pit your skills against those of others’, CodinGame is the platform for you.
III. If you want to be part of a community-driven effort
You’ll want to be a part of Codewars.
In Codewars, users solve katas, which are essentially problems created and submitted by other users. The katas are sorted by levels of difficulty, from the most basic 8-kyu to the most advanced 1-kyu. The problems available are varied, with some being more language- and library-specific and others focusing on algorithmic thinking.
Once you’ve solved a kata, you can compare your answer against those of other users to learn from their solutions as well. Codewars also makes it possible to discuss kata, suggest ideas for potential kata (for others to implement, if you’re not up to the task yourself) and talk about kata best practices on its forum.
The community elements don’t just end there. If you have a neat little bit of code that you’d like to show off or to have others improve upon, you can post it as a kumite, which other users can then fork to work on or use for their own purposes. Kumites can also be translated to other languages for points.
Solving katas, posting and translating kumites along with a few other actions earn you honour points, which allow you to rise up the ranks, post katas of your own and become a moderator. This is where the game elements end. Although Codewars is no doubt great for collaborative learning, those of you who were hoping for a proper game experience are unlikely to find it here.
IV. If you like playing in a team
Join forces with other players at Empire of Code.
V. Finally, if you want a fuss-free, no-frills experience
Go with cyber-dojo.
Of the 5 games listed here, cyber-dojo undoubtedly gamifies coding practice the least. This is the perfect option for those of you who prefer the user interface to be simple and free of excess graphics.
What keeps cyber-dojo from being a mere compilation of problems to solve are some elements on the platform that allow users to code and solve problems collaboratively. Simply click “We’re in a group” and either create a new session or join an existing session using an ID that you were given.
This is similar to the collaborative learning experience afforded by the kata and kumite in Codewars, except that the individuals joining each session are likely to be more curated.
Why Digital Marketers Should Learn Python
Want To Enter The FinTech, VFX Or Gaming Industry? Here’s How Learning Python Can Help You
Want to learn coding? Here are 5 reasons you should start with Python!