Mr. Payne, what would you consider the most age-appropriate audience for your book? Would you recommend it for 8th and 9th graders? If not, then maybe for 11th or 12th graders? Or is this more for a person who knows programming and is looking to learn Java for the first time?
It looks like your book is a very accelerated way to get to making Android apps and GUIs quickly which seems awesome. The title of the last chapter "Making Bubbledraw a Multitouch Android App" seems to be an awesome accomplishment for a beginner programmer.
Thank you for the kind words - "Learn Java the Easy Way" is aimed at middle school to adult learners.
I've been using it with middle-schoolers as a second language (after they've learned Python), as early as 7th grade, and I think middle school is the best bet if you want to teach Java as a first language, as well. The object-oriented nature of Java requires more abstract thinking (teachers call this Piaget's "formal operational" stage, age 12 and up), but the apps we build in the book are meant to engage coders young and old once they're past 6th grade or so. I do a lot of interactive, visual apps in my college courses, as well, and I hear back from students 10+ years later who still remember building a colorful drawing app from their freshman class with me .
Plus, one of the great things about Java is that we can write code and deploy it at the command line, add to it as a GUI desktop app, and use much of the same code in an Android mobile app, with just a little forethought and a few modifications. Multitouch events turn out not to be much harder than a single mouse click (we just use a for loop to process a series of touch events at once instead of a single click event), but for about one extra line of code, you can draw with all five (or 10) fingers on your Android tablet or phone screen at the same time.
By focusing on just a few apps, building them first as a command-line app, then as a GUI desktop app, then as an Android mobile app, making it one step better each iteration (just like we do in real iterative development), my goal is to teach the basics through fun games and apps that coders young and old will enjoy.
I'd love to hear what you think if you get a chance to try the book out - thanks again for posting, and happy coding!