library("exams")
Porté par l’université des Sciences de Vienne (WU Wien) et l’université de Innsbruck.
Régulièrement mis à jour. Dernière mise à jour le 11 mai 2018. Version 2.3-1.
Un site web dédié:
Chaque fichier exercice contient un unique exercice.
Le formatage des exercices est en
et contient jusqu’à 4 éléments
Il existe 4 types d’exercices.
schoice: Single-Choice
Task: Select the only correct item out of a list of alternatives.
Knowledge quiz: Arbitrary number of shuffled distractors (e.g., swisscapital).
Numeric exercises: Distractors are random numbers (from a set/interval) and/or typical arithmetic mistakes (e.g., deriv2, tstat2).
Shuffling (or subsampling) can be turned on or off.
mchoice: Multiple-Choice
Task: Select all correct items out of a list of alternatives.
Knowledge quiz: Arbitrary number of shuffled true or false statements (e.g., switzerland).
Interpretations: Numeric statements that are approximately correct or clearly wrong (e.g., boxplots, scatterplot, ttest).
num: Numeric
Task: Compute a single numeric value (within a tolerance interval).
Numeric exercise: Solving typical arithmetic problems often based on some random numbers (e.g., deriv, tstat).
string: Character String
Task: Enter the answer (exactly) as a character string.
Knowledge quiz: Sample a word/phrase from a given vocabulary or list of question/answer pairs (e.g., function, countrycodes).
cloze: Combinations of the Above
En RMarkDown
Question
========
Quelle est la couleur du cheval blanc d'Henri IV?
Answerlist
----------
* Noir
* Gris
* Blanc
* Vous me prenez pour un imbécile
* Ravaillac
Solution
========
La réponse est 'blanc' et 'vous me prenez pour un imbécile'
Answerlist
----------
* False.
* False.
* True.
* True.
* False.
Meta-information
================
exname: henriIV
extype: mchoice
exsolution: 00110
exshuffle: 4
exshuffle: 4 : mélange 4 des 5 réponses (avec au moins une réponse vraie).
En Sweave
<<echo=FALSE, results=hide>>=
## parameters
a <- sample(1:9, 1)
b <- sample(2:4, 1)
c <- sample(1:5, 1)
## solution
res <- a*b*(c^(b-1))
@
\begin{question}
Quelle est la dérivée de $f(x) = \Sexpr{a} x^{\Sexpr{b}}$,
en $x = \Sexpr{c}$?
\end{question}
\begin{solution}
On calcule la dérivée
\begin{eqnarray*}
f ' (x) & = & $f(x) = \Sexpr{a}\Sexpr{b} x^{\Sexpr{b} - 1}$
\end{eqnarray*}
puis on l'évalue en $x = \Sexpr{c}$.
\end{solution}
\extype{num}
\exsolution{\Sexpr{fmt(res)}}
\exname{derivative}
\extol{0.01}
La tolérance sur la réponse numérique est de 0.01.
On utilise la fonction ‘exams2pdf’ pour générer un pdf avec les exercices et leur correction.
library("exams")
myexam <- list(
"tstat2.Rnw",
"ttest.Rnw",
"relfreq.Rnw",
"anova.Rnw",
c("boxplots.Rnw", "scatterplot.Rnw"),
"cholesky.Rnw"
)
x <- exams2pdf(myexam)
exams_metainfo(x)
On peut ensuite générer des examens avec le code suivant
ex1 <- exams2nops(myexam, n = 2,
dir = "nops_pdf", name = "demo", date = "2015-07-29",
points = c(1, 1, 1, 2, 2, 3), showpoints = TRUE,
replacement = TRUE, duplex = FALSE)
replacement = TRUE : on ajoute une feuille de réponse en plus duplex = FALSE : impression en mode verso.
Vous avez 10 min pour répondre aux 10 questions du test qui vous a été distribué !
myexam <- list("exo/exo_1.Rmd","exo/exo_2.Rmd","exo/exo_3.Rmd","exo/exo_4.Rmd","exo/exo_5.Rmd","exo/exo_6.Rmd","exo/exo_7.Rmd","exo/exo_8.Rmd","exo/exo_9.Rmd","exo/exo_10.Rmd")
exams2pdf(myexam)
exams2nops(myexam, n = 10,
institution = "StateOfTheR. AgroParisTech",
name = "Quizz", logo = file.path(getwd(), "StateOfTheR.png"),
title = "Quizz de Noël", language = "fr", blank = 0,
replacement = FALSE, duplex = FALSE, encoding = "UTF-8",
dir = "nops_pdf"
)
nops_scan(dir = "nops_scan")
ev1 <- nops_eval(
register = "StateOfTheR.csv",
solutions = "nops_pdf/Quizz.rds",
scans = Sys.glob("nops_scan/nops_scan_*.zip"),
eval = exams_eval(partial = FALSE, negative = FALSE),
interactive = FALSE
)
La lecture des images scannées se fait avec la commande ‘noms_scan’ puis l’évaluation par ‘nops_eval’.
https://eeecon.uibk.ac.at/~zeileis/papers/eRum-2018.pdf
https://cran.r-project.org/web/packages/exams/vignettes/exams.pdf