Evaluate OLAT Tests with R-exams

Generate Teilnehmerliste

Log in to vis, Teilnehmerverwaltung. For your group click "print", select "Teilnehmerliste" and change the exported information. Select the following:

Export this list as Excel file.

Read Teilnehmerliste

In the c4031021 package there is a function read_teilnehmerliste() which reads the xlsx file. As I am not sure whether or not the header always has the same number of rows, there is an input "skip" to skip the head of the xls file (might have to be adjusted?).

Export Results

Go to OLAT - Assessment tool (Bewertungswerkzeug), select your test and click the "Export results" button at the top of the page. This exports all results as a zip file.

This zip file contains detailed information (results) about all participants. All we need to evaluate the quiz/test is the xlsx file from this zip file.

The c403 package

The c403 package is an extension of the R exams package with some custom functions used at the department of statistics. Has some interfaces to create tests (with different defaults), functions to evaluate the tests, and functions to create customized feedback for the students which can be bulk-uploaded on OLAT.

The packge can be installed by calling:

Generate Quiz/Test (exams2openolat)

Note: I'm using the c403 package and the script generate-test.R to test and create the olat tests (based on the R exams package).

Structure of the quiz questions

Create a new folder and store your quiz questions in there. The files of the individual questions must be named "[0-9]+.*\\.(md|Rmd)$" (e.g., 01_create_matrix.Rmd, 02_matrix_subsetting.Rmd, ...). The <ID> will be extracted and defines the structure of the list handed over to exams2openolat. Note: if two questions have the same <ID> they will be used for randomization (each test will only contain one of them, not all). The <ID> also defines the order of the questions, the <ID> does not have to be continuous. E.g., if we have a folder as follows:

03-quiz
  |__  01_create_matrix.Rmd
  |___ 20_functions.Rmd
  |___ 02_matrix_subsetting_1.Rmd
  |___ 02_matrix_subsetting_2.Rmd

... each test will contain a version of question 01_create_matrix.Rmd, one version of either 02_matrix_subsetting_1.Rmd or 02_matrix_subsetting_2.Rmd, and one version of 20_functions.Rmd in this order (increasing ID).

The quiz-seed file

The quiz-seed file has to contain an integer used for randomization. The file can contain comments (#) and one but only one line with a simple integer. This seed is read and used with set.seed() before calling exams2openolat.

Generate the test

On the terminal simply call:

If what is html one single plain html file will be created (one randomized quiz, html format). Furthermore, this mode (quiz = html) renders each question individually within a tryCatch() and stops if there is an error or warning! Can be used to see if the rendering works as expected (what = olat does not do that). This call will create an html file stored as <dir>/plain81.html, can be used to check the test.

If what is olat the zip/rds files will be created used for uploading the test to OLAT and for evaluation (called <dir>/openolat.zip and <dir>/openolat.rds. Keep the rds file, at least (can be re-created if you don't lose the quiz-seed).

Upload Quiz/Test to OLAT

After you created the test (see above) you can upload it to OLAT as follows:

Generate Quiz/Test Feedback

Once you have a folder whch contains the md/Rmd questions and the generated olat test (exams2openolat) stored in the rds file (olattest.rds) download the test results from OLAT and store the xlxs file used for evaluation next to the rds file. E.g., if your rds file is 04-quiz/olattest.rds store the xlsx file as 04-quiz/olattest.xlsx.

The script generate-test.R can then be used from the bash console to generate the feedback for the students by calling the script as follows:

The script then checks the rds file and tries to find the corresponding xlsx file, reads and evaluates the test results, and creates an output zip file called <name>.zip. In addition, the script prints a list with usernames. The zip file and this list of usernames can then be used to bulk-upload the personalized results on OLAT as follows (NOTE requires a 'Task/Aufgabe' element in OLAT with active 'feedback/Abgabe'):

After you have done this all participants should have a personalized html file with his/her results avialable for download.

COPY COPY

Export Results

Go to OLAT - Assessment tool (Bewertungswerkzeug), select your test and click the "Export results" button at the top of the page. This exports all results as a zip file.

This zip file contains detailed information (results) about all participants. All we need to evaluate the quiz/test is the xlsx file from this zip file.

The c403 package

The c403 package is an extension of the R exams package with some custom functions used at the department of statistics. Has some interfaces to create tests (with different defaults), functions to evaluate the tests, and functions to create customized feedback for the students which can be bulk-uploaded on OLAT.

The packge can be installed by calling:

Generate Quiz/Test (exams2openolat)

Note: I'm using the c403 package and the script generate-test.R to test and create the olat tests (based on the R exams package).

Structure of the quiz questions

Create a new folder and store your quiz questions in there. The files of the individual questions must be named "[0-9]+.*\\.(md|Rmd)$" (e.g., 01_create_matrix.Rmd, 02_matrix_subsetting.Rmd, ...). The <ID> will be extracted and defines the structure of the list handed over to exams2openolat. Note: if two questions have the same <ID> they will be used for randomization (each test will only contain one of them, not all). The <ID> also defines the order of the questions, the <ID> does not have to be continuous. E.g., if we have a folder as follows:

03-quiz
  |__  01_create_matrix.Rmd
  |___ 20_functions.Rmd
  |___ 02_matrix_subsetting_1.Rmd
  |___ 02_matrix_subsetting_2.Rmd

... each test will contain a version of question 01_create_matrix.Rmd, one version of either 02_matrix_subsetting_1.Rmd or 02_matrix_subsetting_2.Rmd, and one version of 20_functions.Rmd in this order (increasing ID).

The quiz-seed file

The quiz-seed file has to contain an integer used for randomization. The file can contain comments (#) and one but only one line with a simple integer. This seed is read and used with set.seed() before calling exams2openolat.

Generate the test

On the terminal simply call:

If what is html one single plain html file will be created (one randomized quiz, html format). Furthermore, this mode (quiz = html) renders each question individually within a tryCatch() and stops if there is an error or warning! Can be used to see if the rendering works as expected (what = olat does not do that). This call will create an html file stored as <dir>/plain81.html, can be used to check the test.

If what is olat the zip/rds files will be created used for uploading the test to OLAT and for evaluation (called <dir>/openolat.zip and <dir>/openolat.rds. Keep the rds file, at least (can be re-created if you don't lose the quiz-seed).

Upload Quiz/Test to OLAT

After you created the test (see above) you can upload it to OLAT as follows:

Generate Quiz/Test Feedback

Once you have a folder whch contains the md/Rmd questions and the generated olat test (exams2openolat) stored in the rds file (olattest.rds) download the test results from OLAT and store the xlxs file used for evaluation next to the rds file. E.g., if your rds file is 04-quiz/olattest.rds store the xlsx file as 04-quiz/olattest.xlsx.

The script generate-test.R can then be used from the bash console to generate the feedback for the students by calling the script as follows:

The script then checks the rds file and tries to find the corresponding xlsx file, reads and evaluates the test results, and creates an output zip file called <name>.zip. In addition, the script prints a list with usernames. The zip file and this list of usernames can then be used to bulk-upload the personalized results on OLAT as follows (NOTE requires a 'Task/Aufgabe' element in OLAT with active 'feedback/Abgabe'):

After you have done this all participants should have a personalized html file with his/her results avialable for download.



Try the c403 package in your browser

Any scripts or data that you put into this service are public.

c403 documentation built on Oct. 20, 2023, 3:01 p.m.