Practice Problems and Other Resources
Sites with other practice problems:
Codingbat: a lot of simple problems and some hard ones. The String-3 and Array-3 problems are difficult. Lots of simple recursion practice problems at Recursion-1 and some backtracking problems at Recursion-2.
Old tests from CS307. Lots of data structure problems.
Project Euler: Lots of problems.
Code Chef: Lost of problems. Requires account. Automatic grading
UVa Online Judge: Thousands of problems from ACM programming contests with automatic judging.
The Sphere Online: Judge: a wide variety of problems.
USACO: Lots of problems from a high school programming contest.
TopCoder: Online competition. Old problems available in the practice rooms. The algorithm and high school contests are the most useful for CS314.
See this post at Stack Overflow for more sites
Games that involve coding:
Light Bot 1.0 - webpage flash version (note, there are ads)
Light Bot 2.0 flash version (ads present)
Cargobot (iPhone and iPad game)
Coding Game - Complete the required code for video games
Hacked (Android game)
Other resources:
The Java tutorial: The "Trails Covering the Basics" is the best place to start if you are new to Java or looking for explanations of the basic language features. The learning paths page is well organized. New to Java and Building on the Foundation sections are relevant to CS314.
Java API documentation: The standard class library.
Java Coding Conventions: How to format your code. Another good set of standards can be found here.
Getting started with Eclipse: a series of videos