The reading, speaking, and listening courses at Jiao Tong all have their own textbooks. The word total for all three is over 2400, but the set intersection is just 1163. I compiled the word lists using CC-CEDICT and loaded them into jMemorize to run flashcards every morning and night for half an hour. I’m in the (otherwise) segregated “Asian” class at Jiao Tong, and this is helping me keep up with the Japanese and Korean students who already know how to read and write fluently.
I study using the English definition as my prompt. I write out the pīnyīn and hànzì, then check what I’ve written against the result. This way I test character recognition, pronunciation, tones and meaning in a single run. A thirty minutes session is way more tiring than going to the gym.
I ended up using jMemorize for three reasons: importing my own word lists is relatively easy, I like the progress feedback you get when you promote or fail a word, and I like the built-in keyboard shortcuts for cycling through the cards.
Other useful flashcard systems I looked at include the Anki and ZDT. I also tried Flash My Brain, but the import function deletes all the UTF-8 Chinese characters in my word lists, so it was useless for me.
While I was looking around, I found Skritter, a new site with a very cool interface to help test that you actually know how to write the words you are reviewing. It even pronounces the words for you after you get them right. The only problem for me is that it tests from pīnyīn rather than from English, and that it doesn’t have the word sets for my books (yet).