best way to learn java

That is actually quite a cool initiative. Thanks for the link.

I would take a look at Objects First with Java.

It the best book I have ever seen for learning to program, for any language. It starts off with very, very basic stuff, and ends up covering about 90% of the Java language (only very advanced stuff is missing). It also includes more advanced topics later on building GUIs, debugging, unit testing and ways on working out issues before you program. It works hand in hand with BlueJ, a learning IDE, which is awesome for beginners.

What is also important is that it tries to teach you the real concepts behind programming in Java, about object-orientation. For each chapter it includes examples and assignments, so your always coding as you learn new concepts. Many of these end with suggestions for more advanced stuff you can try to solve.

If that isn’t enough of a recommendation, it is also used by 1,000s of schools and universities around the world, to teach Java to new students.