I've had luck with Pauker, a Java program where you type in the vocabulary and definitions, then it tracks your progress, repeating terms you've missed...
What is the best way to study a long list of terms?