I went to an interesting talk once at the Boston Python meetup, where a guy figured out how to order sentences so could learn them in an order where you already knew the "other" words in the sentence. Basically, making a directed graph of vocabulary.
He was doing it to learn Latin, but you could do it for any language.
He was doing it to learn Latin, but you could do it for any language.