A game that allows players to experience software development is an excellent method to teach coding and programming concepts like loops and conditional statements. Games that accomplish this include Zachtronics’ Shenzhen I/O, which puts players in the shoes of dissatisfied engineers who work at an uninteresting chip maker and have to build computer chips by hand. They are given increasingly challenging circuits to design, beginning with making lights blink in a certain pattern.
The interface in the game appears very similar to tools used by developers in browsers and also teaches scripting. Another excellent example is Screeps, which incorporates JavaScript programming and massively multiplayer online gameplay to create self-sustaining colonies. Both games do an excellent job of teaching the virtual data room basics while slowly introduce new ones.