There is a kind of software that is very appropriate to learning languages. What these softwares have in common is the following: you put the information you want to learn into the software's memory. And, by using it every day (for 15 minutes, maybe), to recall the knowledge, the internal workings of the program pick up on how well you remember the knowledge. Then it brings up the previously learned knowledge when it's about to be forgotten, so it is brought back to being fresh in the memory. It's a good way not to forget large amounts of information, such as a new language vocabulary.
There are several programs that do this. But here is a more lucid description than the one I gave and that links to several of these programs: