Learning Java

Free Resources

Lynda.com

This requires  a public library card.

codecademy.com

This has some free sections but requires a membership to access all parts of the course.

Learn Java Pro

This an iPhone app. There are similar apps for other smartphones and possibly windows.

Java Programming for Kids, Parents, and Grandparents

This is good for people with no programming experience. Chapters 5 through 7, 9, and 11 can be skipped, as they cover things that aren’t necessary for robot programming.

Introduction to Computer Science Using Java

This is also good for people without computer science experience. It’s roughly equivalent to an AP Computer Science course, so it’s more in-depth than is really necessary. However, it does cover pretty much anything that could possibly come up.

The Java Tutorials

These are Oracle’s official Java tutorials. As such, they aren’t as suited for beginning programmers, but they’re a good reference for people with some Java experience.

Learn X in Y minutes (where X = java)

If you already know at least one other programming language, this will cover everything you need about Java syntax.

Commercial Resources

Note that I haven’t tried any of these

Learn to Program in Java