Laby is available on Fedora. It is a programming game. I've been building a programming game recently so I was curious about this one. It supports a lot of languages but it doesn't really try to teach you any of them. It teaches you some functions to move the ant and for loops/while loops/if statements but nothing more than the basics. Teaches is relative as well since it doesn't have much in way of help (at least for C++).
It uses the system compilers to build the program. Each of the ant functions will print what it is doing and then wait for input. This allows it to step through the program and stop it. If it doesn't respond within a certain time the process is killed and therefore prevents infinite loops. It's a clever system but means it can't show what line is executing. (At least with C++ I didn't check the other implementations to see if they have any solution.)