7.1 Exportação dos exercícios

A exportação dos exercícios consiste na utilização da função exams2moodle do pacote exams para criar um arquivo XML que contém todas as questões (e suas versões, se for o caso).

Um exemplo da utilização da função exams2moodle está mostrado abaixo:

exams::exams2moodle(file = "schoice.Rmd",
                    name = "exer")
  • file: nome do arquivo que contém o exercício, com extensão .Rmd
  • name: nome do arquivo XML/Moodle que será criado.

Download do arquivo schoice.Rmd

Download do arquivo exer.xml

Em seguida, será mostrado o código utilizado para criar o XML de todos os exemplos já vistos anteriormente.

7.1.1 Tipos básicos

ex.bas <- c("schoice.Rmd",
            "mchoice.Rmd",
            "string.Rmd",
            "num.Rmd")

exams::exams2moodle(file = ex.bas,
                    name="bas")

Para exportar vários exercícios de uma única vez, primeiro criamos um vetor com o nome de todos os arquivos. O vetor é criado com a função c e armazenado em um objeto (neste exemplo, ex.bas).

Em seguida utilizamos a função exams2moodle. Uma alternativa a carregar o pacote (library(exams)) é usar :: (duplo dois pontos) para acessar a função do pacote (exams::exams2moodle).

No argumento file indicamos o objeto contendo o nome dos arquivos e name um nome para o arquivo XML criado.

7.1.2 Aleatórias

ex.rdm <- c("schoice-rdm.Rmd",
            "mchoice-rdm.Rmd",
            "schoice-dgp.Rmd",
            "mchoice-dgp.Rmd",
            "num-dgp.Rmd",
            "string-dgp.Rmd")

exams::exams2moodle(ex.rdm,
                    n=100,
                    verbose = TRUE,
                    name="rdm")

Neste exemplo, como desejamos criar diferentes versões do mesmo exercício, utilizamos o argumento n, cujo valor representa quantas versões serão geradas. Neste exemplo, n = 100 indica que serão geradas 100 versões de cada exercício.

Outro argumento muito interessante é verbose = TRUE, que informa o progresso da geração dos exercícos no console do R.

7.1.3 Cloze

ex.cloze <- c("cloze.Rmd",
              "cloze-dgp.Rmd")

exams::exams2moodle(ex.cloze,
                    n=100,
                    verbose = TRUE,
                    name="cloze")

Código semelhante aos anteriores.

7.1.4 Avançado

library(exams)

ex.avanc <- c("image-ext.Rmd",
              "image-int.Rmd",
              "file-ext.Rmd",
              "file-int.Rmd",
              "table.Rmd")

exams::exams2moodle(ex.avanc,
                    n = 100,
                    verbose = TRUE,
                    name = "avanc")

Código semelhante aos anteriores.

7.1.5 Avaliação da questão


library(exams)

#alterar a regra da pontuação: rule = "all"
make.mchoice.all <- make_question_moodle(eval = list(rule = "all")) 

exams::exams2moodle("mchoice-rdm.Rmd",
                    n = 100,
                    mchoice = make.mchoice.all,
                    name = "avalia_all")

#alterar a regra da pontuação: rule = "false"
make.mchoice.false <- make_question_moodle(eval = list(rule = "false")) 

exams::exams2moodle("mchoice-rdm.Rmd",
                    n = 100,
                    mchoice = make.mchoice.false,
                    name = "avalia_false")


#alterar a regra da pontuação: rule = "none"
make.mchoice.none <- make_question_moodle(eval = list(rule = "none")) 

exams::exams2moodle("mchoice-rdm.Rmd",
                    n = 100,
                    mchoice = make.mchoice.none,
                    name = "avalia_none")


#alterar a regra da pontuação: rule = "true"
make.mchoice.true <- make_question_moodle(eval = list(rule = "true")) 

exams::exams2moodle("mchoice-rdm.Rmd",
                    n = 100,
                    mchoice = make.mchoice.true,
                    name = "avalia_true")
                    

Neste código acima, foi mostrado como alterar a regra para o cálculo da pontuação dos exercícios de múltipla escolha. Para isso, utilizamos a função make_question_moodle com os argumento eval e rule indicando qual das regras queremos seguir. A função make_question_moodle aramazena seu resultado em um objeto qye devemos passar para o argumento mchoice da função exams2moodle