2

not sure if this is related to this new development, but when I use the new dev version of exams2moodle() the %100% to identify the correct option is replaced by =... For example, I now get

{1:MULTICHOICE_VS:Amostragem aleatória simples~=Amostragem aleatória estratificada~ Amostragem não aleatória por conveniência~Amostragem não aleatória por Bola de Neve}

instead of

{1:MULTICHOICE_VS:%0%Amostragem aleatória simples~%100%Amostragem aleatória estratificada~%0%Amostragem não aleatória por conveniência~%0%Amostragem não aleatória por Bola de Neve}

And indeed what I would like to get is:

{1:MULTICHOICE_VS:%-20%Amostragem aleatória simples~%100%Amostragem aleatória estratificada~%-20%Amostragem não aleatória por conveniência~%-20%Amostragem não aleatória por Bola de Neve}

(penalization for incorrect options)

Thanks!

JPMD
  • 644
  • 1
  • 7
  • 19

1 Answers1

3

Default evaluation

In schoice elements of cloze questions the default in exams2moodle() always was to have no penalization of wrong answers. This has not changed. We only simplified Moodle XML code for embedded answers.

(Note: Unfortunately, the choice of no penalization was inconsistent with standalone schoice questions for which exams2moodle() has a penalization by default. We might change the latter in future versions.)

More precisely, the default in exams2moodle("bern.Rmd") up to version 2.3-6 (current CRAN version at the time of writing) with an exercise like the one included below was to give 100% to the single correct answer and 0% to the distractors:

{1:MULTICHOICE:%0%Basel~%100%Bern~%0%Geneva~%0%Lausanne~%0%Zurich}

Version 2.4-0 (R-Forge development version at the time of writing) produces something equivalent by simply using = to indicate the correct response. All percentages are then implied as above:

{1:MULTICHOICE:Basel~=Bern~Geneva~Lausanne~Zurich}

Custom evaluation

To obtain a version with penalization, you need to set the eval strategy, e.g.,

exams2moodle("bern.Rmd",
  cloze = list(eval = list(partial = TRUE, rule = "false")))

In both versions (2.3-6 vs. 2.4-0) this produces a 25% penalization for the distractors. The only difference is wether %100% or = is used to indicate the correct response:

{1:MULTICHOICE:%-25%Basel~%100%Bern~%-25%Geneva~%-25%Lausanne~%-25%Zurich} 

vs.

{1:MULTICHOICE:%-25%Basel~=Bern~%-25%Geneva~%-25%Lausanne~%-25%Zurich}

Background

Using the simpler Moodle XML for embedded answers was necessitary for properly supporting mchoice elments of cloze questions which do not work reliably with some percent configurations, see:

Exercise

The illustration above uses the following simple static cloze question bern.Rmd with just one schoice element (adapted from swisscapital).

Question
========
What is the seat of the federal authorities in Switzerland (i.e., the de facto capital)?

Answerlist
----------
* Basel
* Bern
* Geneva
* Lausanne
* Zurich

Meta-information
================
exname: Swiss Capital
extype: cloze
exclozetype: schoice
exsolution: 01000
Achim Zeileis
  • 15,710
  • 1
  • 39
  • 49
  • 1
    thank you very much @Achim Zeilleis.... As simple as adding exams2moodle("bern.Rmd", cloze = list(eval = list(partial = TRUE, rule = "false"))).... I did all by hand (using the moodle Ato editor... what a pain).... – JPMD Jun 25 '20 at 09:25
  • 1
    I feel your pain! It's the same for me on the rare occasions where I have to configure exams by hand in our learning management system. It would be great, though, if you could officially "accept" my answer here on StackOverflow (by clicking on the checkmark on the left below the vote count). Then it appears as resolved and not an open issue anymore. (The same for your other question about the start page if you think my answer is sufficient for that.) – Achim Zeileis Jun 25 '20 at 10:30