Knowing a programming language and to apply it, can allow us to do those tasks that perhaps simple, they are not found in commercial programs, or better yet, can teach us finally how the computer works. But programming has always been considered a difficult but really what is difficult is the way in as we started to write code. No one likes to deal from the early experiences to the syntax, or the types of data, or the whole of this series of instructions that do not tell us why they are so useful.
What to do then? Perhaps the mechanism for learning is through video games. Finally many people of virtually all ages, play with computer programs or in its console versions, which are finally computers specific purpose which is, in this case: play.
A problem with video games is that after a while most of you think that you are wasting your time. Others might argue that they are analyzing the ideas of video games. But in any case, the issue is that video games can be compelling, and this is a feature that we could motivate to understand how to write computer games.
Another possibility is to use CryptoZombies, which allows you to learn how to build games using Code Ethereum Dapps, which involves writing contracts smart in something called Solidity. The course is not for beginners in programming, but for beginners in Solidity. The goal of the game is to build a Zombie producing a Dapp and make this play against other zombies (of other programmers) in the blockchain of Ethereum. This idea is not novel. A version called Robot Wars, which ran on the Apple II, allowed to program a robot in a language very similar to Basic, and put to fight this robot against others, all in a virtual arena.
In this case, the target audience is more the one that you already have experience in programming and in addition, it is required to install Node.js the use of npm and to work with the files installed in the setup, the setup program.
With these three possibilities can be learn to program using a system that will mean more playing than writing code. Worth a try if it calls the attention how to write games.