I know I just finished one game based on computer programming, but I happened to pick up another one around called Lightbot around the same time and ended up finishing it completely. Lightbot has apparently been really popular and used to teach kids some of the fundamentals of programming, and it's available on the usual platforms, including iOS and Android.
Unlike my aforementioned experience with Human Resource Machine, I actually enjoyed Lightbot overall. The puzzles start off at a very basic level where you use icons (move forward, turn left, turn right, and jump) to give your little robot commands in order to light up specific panels on the Q*bert-like stage. The difficulty ramps up and before long programming concepts like loops, functions, and conditionals are introduced and explored. Whereas Human Resource Machine felt more like drudgery than fun, Lightbot succeeds in part because it doesn't restrain itself to its source completely literally; a lot of the game's mechanics give more of the flavor of programming rather than literally teaching programming. There are some drawbacks to this, though, as experienced programmers may get a little frustrated by how the game's puzzles difficulty generally comes from artificial constraints (e.g. restricted number of commands) rather than an elegant solution, resulting in solutions that aren't at all efficient from an algorithmic perspective.
The game invites experimentation and the game design is simple but effective. The touch-based interface works great; the graphics are clean and not too cutesy; and the music and sound effects aren't intrusive. The game is a decent length and doesn't overstay its welcome, although I'm not sure how many kids would actually work through all 20 of the challenges (including some pretty tricky puzzles near the end). The game doesn't really "teach kids programming", but it does a great job of introducing some important concepts while still being pretty fun.