Anki (暗記) is the Japanese word for memorization.

Anki is a spaced repetition flashcard program which makes remembering things easy.
The cards are presented using HTML and may include text, images, sounds, videos.
Cards are generated from information stored as "notes". Notes are analogous to database entries and can have an arbitrary number of fields. For example, with respect to learning a language, a note may have the following fields and example entries:

  • Expression in target language 
  • Pronunciation 
  • Meaning of expression in familiar language

This software is an open source and cross-platform software. Apart from Windows, it is also available for Linux, Mac, Android, IOS and other operating system.
You can also use it to learn Spanish, German, Italian, Japanese, French, Chinese and other languages.

Because it's a lot more efficient than traditional study methods, you can either greatly decrease your time spent studying, or greatly increase the amount you learn.

http://ankisrs.net/

 

Language software packages can only supplement a course in a language school. A software package can help to memorize new words and practice familiar grammar. If you want English words and grammar rules to develop into a coherent speech, it is preferable to study in a reliable language school with professional native teachers.