Essa página tem como objetivo criar tutoriais em português para o pacote exams. O pacote permite a geração automática de exames baseado em questões no formato Markdown ou LaTeX, possibilitando incluir código R para geração dinâmica de elementos de questões.
Após a criação das questões, o examinador escolhe quais questões quer utilizar para formar o exame. Os formatos de saída dos exames podem ser em PDF, HTML, Docx, entre outros. As provas podem ser aplicadas de forma escrita ou online.
install.packages("exams", dependencies = TRUE)
library("exams") # ativar pacote
exames
.setwd("/camiho/para/diretorio/exames")
exams_skeleton(markup = "markdown", encoding = "UTF-8",
writer = c("exams2html", "exams2pdf", "exams2moodle"))
dir() # verificar o que há no diretório
exams2html("exercises/swisscapital.Rmd") # gera questão em HTML
exams2pdf("exercises/swisscapital.Rmd") # gera questão em PDF
exam.tex
, com problema, solução e folha de resposta
não preenchidaplain.tex
, apenas problema e soluçãosolution.tex
, com problema, solução e folha de resposta
preenchida
exams2pdf("swisscapital.Rmd",
template = "templates/exam.tex")
exams2pdf("swisscapital.Rmd",
template = "templates/plain.tex")
exams2pdf("swisscapital.Rmd",
template = "templates/solution.tex")
swisscapital.Rmd
para ver como foi
editado. Lembre-se que está salvo dentro da pasta
exercises
.
Se você acabou de ver a aba Primeiros Passos, apenas dê continuidade. Caso não tenha visto os Primeiros Passos, confira os passos de 1 a 5 antes de dar início a esse tutorial.
Neste tutorial será utilizado questões já prontas do pacote. Para aprender como montar as questões, confira a aba XXX.
<- list(
exame "tstat2.Rnw",
"ttest.Rnw",
"relfreq.Rnw",
"anova.Rnw",
c("boxplots.Rnw", "scatterplot.Rnw"), # qual a diferença?
"cholesky.Rnw"
)
exame
anteriormente)n
)points
)dir
)name
)date
)showpoints
)
set.seed(403) # semente aleatória da demonstração
<- exams2nops(exame, n = 2,
ex1 dir = "nops_pdf", name = "demo", date = "2015-07-29",
points = c(1, 1, 1, 2, 2, 3), showpoints = TRUE)
Alguns detalhes:
nops_pdf
que
contém 3 arquivos:
demo1
e demo2
demo.rds
onde contém informações sobre os
exames criadosdemo1
e demo2
, já contém:
duplex = FALSE
exams2nops()
para
personalizar:
institution
: nome da instituiçãotitle
: título do examelanguage
: trocar idioma, language = "pt"
para portuguêsÉ recomendado imprimir com o clipe do lado esquerdo no topo, e NÃO escolher a opção “Ajustar a área imprimível”.
.csv
, e
pode ser gerado num editor de planilhas. O código abaixo representa uma
demonstração de planilha criada dentro do Rwrite.table(data.frame(
registration = c("1501090", "9901071"),
name = c("Jane Doe", "Ambi Dexter"),
id = c("jane_doe", "ambi_dexter")
file = "Exam-2015-07-29.csv", sep = ";", quote = FALSE, row.names = FALSE) ),
registration
: registro de cada examinado contendo 7
númerosname
: nome de cada examinadoid
: identificação de cada examinadofile
: nome do arquivo .csv
que será
criado.csv
(obrigatório)Campo obrigatório: ocorrerá erro na leitura dos exames se não for preenchido ou se for preenchido de forma incorreta
Campo não obrigatório: não interfere na eficácia da leitura dos exames
Cada aluno deverá ter um número de registro diferente dos demais
Os examinados devem destacar a folha resposta e entregar ao examinador. O examinador, por sua vez, deve escanear a folha. A imagem escaneada deve ser no formato PNG ou PDF. Caso esteja em outro formato pode ser transformada com outro pacote:
install.packages("magick") # instalar pacote Magick
library(magick) # carregar pacote
<- image_read("/diretorio/com/imagens/escaneadas") # carregar imagem dentro do software
exame1 image_write(exame1, path = "exame1.png", format = "png") # trocar formato e salvar
Por motivos de demonstração, utilizamos 2 folhas já impressas, preenchidas e escaneadas disponíveis no pacote e que nos servirão de exemplo:
<- dir(system.file("nops", package = "exams"), pattern = "nops_scan",
img full.names = TRUE) # localizar imagens já processadas
dir.create("nops_scan") # criar pasta nops_scan
file.copy(img, to = "nops_scan") # inserir imagens dentro da pasta
nops_scan
foi criadanops_scan
nops_scan(dir = "nops_scan") # leitura das imagens dentro da pasta nops_scan
Daten.txt
contendo:
Se houve problema na hora de criar o arquivo ZIP (error status 127), há uma possibilidade de solução a ser testada:
C:\Rtools
C:\Rtools\bin
no caminho do sistema em
Variáveis do ambiente. Caso não saiba onde encontrar isso, é
facilmente encontrado no google.;C:\Rtools\bin
Daten.txt
) com as respostas corretas geradas
pelo examinador durante a criação das questões (demo.rds
),
através da função nops_eval()
<- nops_eval(
ev1 register = "Exam-2015-07-29.csv",
solutions = "nops_pdf/demo.rds",
scans = Sys.glob("nops_scan/nops_scan_*.zip"),
eval = exams_eval(partial = FALSE, negative = FALSE),
interactive = FALSE
)dir() # perceba que foram adicionados 2 arquivos
register
: nome da planilha criada no passo 5
(character do argumento file
)solutions
: caminho onde está salvo o arquivo RDS quando
foi criado os exames passo 3nops_eval.csv
e
nops_eval.zip
contendo página HTML com:
Mostrar quais são os campos fundamentais para criar uma questão (o que é necessário), por exemplo:
E o que é necessário em cada um.
Fazer dois exemplos bem simples (pode ser aqueles de teste de
hipótese por exemplo), um schoice
e um
mchoice
.