Use the R console as an interactive learning environment

The package polyglot helps you learn foreign language vocabulary or any flashcards using R as an interactive learning environment. The package implements a simplified version of the SuperMemo-2 learning algorithm which optimizes intervals between repetitions, minimizes the time you spend on learning, and helps you achieve your learning goals in a more effective way.

Installation

# Install the released version from CRAN
install.packages("polyglot")

To get a bug fix, or use a feature from the development version, you can install polyglot from GitHub.

# install from Github
devtools::install_github("lgnbhl/polyglot")

Create a spreadsheet to study

This package works with spreadsheets. You can create any spreadsheet to study in a CSV format with a question column, an answer column and an hint/example column (optional).

For example, you could make a spreadsheet of 30 basic expressions in French you want to study.

To try this spreadsheet, just type the following:

polyglot::get_examples()

This function copies CSV spreadsheets in your folder of reference, where you should add all the spreadsheets you want to study with polyglot.

To open this folder, simply run learn_dir().

polyglot::learn_dir()

To launch the learning environment, run the learn() function. Then choose in the interactive menu the file you want to study.

polyglot::learn() # to launch the interactive learning environment

The GIF below shows the learning of the CSV spreadsheet file French_30_Basic_Expressions.csv.

Learn with images

You can add images by putting the Web URL or the full path of your images into the spreadsheet rows.

For example, you can study the locations, flags and capitals of all the sovereign states around the world. Note that the images into the 3rd column Hint are displayed into your Web browser.

You could also memorize the recipes of the 74 official cocktails of the International Bartenders Association (IBA).

The CSV spreadsheet files given as examples are here.

Happy learning!