Gaming Your Way In Programming
During the past several years, gamification of educational processes has become a trend in many areas. When getting ready for the Unified State Examinations or learning foreign languages, more and more students now prefer interactive forms to traditional textbooks. For this purpose, programmers create different platforms, but how can one learn programming in a similar manner? The answer is simple - the very same way, using platforms that allow to train certain skills in a game format. ITMO.NEWS would like to share about some of them.
This recently released platform is a new product created by the DataArt global technological consultancy. The platform is quite unique as one can use it to train their skills in several fields of programming at the same time. The user can check his knowledge by answering questions and earning points. The questions are split into 16 categories and dozens of subcategories: from programming languages to project management technologies and the history of IT. As of now, there are already more than a thousand questions in Skilltron's database.
Each game session consists of ten questions about one of the technologies. If the player answers at least eight of them, he passes on to the next level with more complex tasks. For each question he gets right and for completing a level, players get points and bonuses.
Skillotron Credit: skillotron.com
The service's other feature is that the users can generate content by themselves. Though the initial questions for Skilltron were prepared by DataArt's technical experts, the users can propose changes to the service, report bugs, as well as add new tasks.
The number of questions in Skilltron and the number of categories is constantly growing. The service was created by DataArt's developers, among whom there are ITMO's graduates, as well. All of the initial questions were based on practical programming tasks.
On any of the game's levels, the user can share his achievements in social networks and compare his results with that of other users. The game's language is English, and it is relevant for IT-specialists from all over the world.
In the near future, the service's developers plan to announce a contest among authors for Skilltron, and then conduct an international tournament.
CodeCombat. Credit: codecombat.com
The player is to take on the role of a wizard who uses programming code to alter the surrounding reality. On each level, he is to solve a particular task - for instance, find a mushroom that can help defeat an ogre, lead an army or escape from a prison. The player is to write a code for that and then watch how it works. The tasks gradually become more complex.
CodeCombat consists of modules, which are split into levels; the levels are organized as a course in programming. For instance, upon completing 37 levels of the first module the user should learn the syntax, programming methods and other basic knowledge.
Like Skilltron, CodeCombat is a community-based project, so volunteers can also participate in its development. They create levels, add their own code and new possibilities, do troubleshooting, test and translate the game to other languages.
ChekiO. Credit: checkio.org
The game features several kinds of tasks. For instance, the first stage, "Learning", is a set of problems which go from easy to hard ones. Another is Score Games, or Single Player Game. Those are games that one cannot win, but the aim is to get as many points as possible. The third type of tasks is Competition, or Multiplayer Game. For it, the user chooses an opponent which is a program written by another player, so, in a sense, it will be like programs competing against each other.
The users can post their programs in the On Arena section of the website for other users to test the game with. They are also used by the system for conducting contests.
Ruby Warrior. Credit: bloc.io
The game focuses on training skills in the Ruby programming language and artificial intelligence.
The game's main character is the Ruby warrior that is controlled by Ruby code. The warrior has to climb a tower to reach a precious gem on its highest level. During each stage, the user has to write a script that will make the warrior fight enemies, save prisoners and reach the stairs. The player has some knowledge of what he is to face on each of the tower’s levels, but he doesn't know what exactly will happen to the warrior - so he has to provide the warrior with a decent AI that will help him succeed.
According to the users, one has to know how to write code to play the game, but even the basic knowledge of Ruby is quite sufficient for playing. Also, many users note that though the platform does not teach the basics of programming, it sets logical tasks that sometimes require days to figure out.
CodinGame. Credit: tctechcrunch2011.files.wordpress.com
An online platform for programmers where solving each task comes with gaming-style visualization; most have to do with creating AIs and writing code for solving different fun tasks. Also, the platform is used for conducting programming contests. Such contests are organized every month, and users can send their solutions to the project's sponsor companies as resumes. Among the companies that offer positions for the contestants are such major enterprises as Adobe, UBIsoft, eBay and Nintendo.
The platform also features an online editor for automatized testing of programs and games. Before the beginning of any contest, the user is to mark the employers he's interested in working for. Even if one is not looking for a position, companies often offer them after seeing the contest's results. Also, users can choose the "participate for Fun" option if they don’t want to be bothered by anyone.
In any case, the winners get gifts - for instance, for one of the recent contests, the gifts included an iPhone, a robot and a vending machine. There are also many consolation prizes - T-shirts for authors of best solutions and leaders in every programming language.
The CodinGame service is a great way to learn to work with several programming languages, and is a good start for those who want to try themselves at sports programming as well. The project supports all programming languages.