I'm worried that these sorts of things can 'railroad' programmers, by giving them well-defined problems instead of truly open-ended ones.<p>The real difficulty in learning programming isn't syntax - it's semantics. And when you finally become skilled in that, it's separation of concerns and modularization. Any programming learning tool should mirror those notions as players develop "skill". Otherwise, as a user, you'll end up great at programming simple AI's...without any knowledge of how programming actually works.