For learning to program, I almost feel like getting a sandbox set up on the web would be better. The MIT project Scratch, for example, is fantastic for teaching programming. Unless you're talking about teaching in locations without internet connectivity, which is an entirely different problem.