Vocabulary learning program

For learning on the computer, you need a program. There are many. For example, there are fun shooting games with text in a foreign language. You can learn a lot with these but to learn most efficiently you need a teaching program that tests you on vocabulary in a structured way (such as Wozzol). What is very important here is that the program can choose for you which words to learn at what time. If it can’t do that then you have to choose which list to learn yourself and you won’t learn optimally.