Learning how to write software is hard. There are many new abstract concepts that a beginner has to assimilate. And they have to do it while also learning how to use the tools they need (IDE, editor, compiler, etc.). As a result they tend to spend more time on learning how to master the tools rather than focusing on the fundamentals of computer programming.
simpleJ provides an easy to use development enviroment focused on teaching teenagers the fundamentals of computer programming by allowing them to create their own videogames.
For more information: www.simplej.org