Programming By Doing – Start with this website first! This website will start you from the very beginning with installation, programming puzzles, graphics, and more.
Begin with Java – if you don’t like the first site, this website provides some basics but it will not provide you as much as the first resource listed above.
Follow-On Java Activities:
You can try these activities after you’ve become comfortable with some Java programming.
Android programming for mobile apps – these are a series of YouTube videos for android programming.
Robocode – Robocode is a programming game, where the goal is to develop a robot battle tank to battle against other tanks in Java or .NET. The robot battles are running in real-time and on-screen.