Experience the Software Development World With a Game
A game that allows players to experience the process of software development is a great method of teaching programming and coding concepts such as loops and conditional statements. Zachtronics Shenzhen I/O is a game that accomplishes this. It puts players in the shoes of disgruntled engineers who work for a boring firm and have to create computer chips manually. They are given increasingly complex circuits to create, starting by making lights flash in a certain pattern.
The interface of the game is similar to the one you will find in browsers. Additionally, it is a great way to teach scripting. Screeps is another excellent example, which combines JavaScript code with massively multi-player online gameplay in order to create self sustaining colonies. Both games do an excellent job of teaching fundamental concepts while also slowly introduction of new ones.