When you start in the world of programming, that suddenly you are placed in front of an arid IDE, can back down more than one. That is not to mention how difficult it can be to understand some concepts, for which in some cases it can be interesting to motivate ourselves by resorting to gamification.
In Genbeta we wanted to make a brief compilation of some completely free applications (well, a freemium has crept in) that can help us in our training as future programmers:
Scratch is possibly the most used software to introduce children to programming. It is based on a language of blocks, developed by experts at MIT, which are combined to form programs.
Despite what it may seem from this approach, so visual, and for its simple and colorful interface, Scratch is a powerful programming language that has made it possible to develop complex projects.
Is it availabe in web platform format and as desktop software for Windows and Mac. It does not force us to register, although this step will be useful if we want to save our projects.
The programmer career in 2017 and in the future (with Javier Santana)
Based on the Scratch code, researchers at the University of Berkley created Snap !, a ‘fork’ of that language with the aim of being helpful for initiate somewhat older users into programming (of institute and university levels).
Using an interface and visual language tremendously similar to its predecessor, Snap implements new functionalities, such as the option to create new blocks of instructions or to use advanced lists capable of storing almost any type of data (including other lists or instructions ready to be executed).
PSeInt is a pseudocode interpreter, a false language that allows us to learn basic concepts of programming applicable to several languages and, in addition, using the student’s mother tongue for them.
PSeInt is the favorite resource (due to lack of alternatives, it is also true) so that Spanish speakers can use the pseudocode in our language, and using a program that mimics professional IDEs, with its syntax coloring, error detection and even code execution functions.
Robocode is a multiplatform video game (Windows, Mac, Linux, BSD) that was launched on the market 20 years ago, with a very clear objective: to create a tank that allows us to crush those of our adversaries. But how does this help us learn programming or robotics?
Very simple: we do not manage our tank during the game, but we must have done the hard work previously, coding the ‘behavior’ of it so it knows when to move, when to shoot and how to detect and avoid other tanks. For this we can program the robot’s body, its cannon and its radar separately.
For this programming work, we will have to resort to languages such as Java, C # and Scala, being able to start with extremely simple codes and progress to mastering artificial intelligence techniques. Robocode is itself a complete IDE, with a code editor, robot editor or compiler.
Is about a freemium online platform (whose first 110 levels are free) and that it is aimed at children from 9 years old, without the need for them to have previous programming knowledge.
In the form of a role-playing / strategy game with a fantastic setting and cartoon aesthetic, we must control a wizard whose spells are made up of code programming.
Colobot: Gold Edition
‘Colobot: Gold Edition’ is a video game, available for Windows and Linux, released after the original developers of ‘Colobot’ (released in 2001) released their code.
In this 3D real-time strategy game we play an astronaut who must carry out missions on various planets assisted by robots. Sayings robots must be programmed by us using our own language, CBOT, which is, however, very similar to Java and C ++.
Image | EU2017EE Estonian Presidency