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 pacoteexames.setwd("/camiho/para/diretorio/exames")exams_skeleton(markup = "markdown", encoding = "UTF-8",
writer = c("exams2html", "exams2pdf", "exams2moodle"))dir() # verificar o que há no diretórioexams2html("exercises/swisscapital.Rmd") # gera questão em HTML
exams2pdf("exercises/swisscapital.Rmd") # gera questão em PDFexam.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.
exame <- list(
"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
ex1 <- exams2nops(exame, n = 2,
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 demo2demo.rds onde contém informações sobre os
exames criadosdemo1 e demo2, já contém:
duplex = FALSEexams2nops() 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
exame1 <- image_read("/diretorio/com/imagens/escaneadas") # carregar imagem dentro do software
image_write(exame1, path = "exame1.png", format = "png") # trocar formato e salvarPor motivos de demonstração, utilizamos 2 folhas já impressas, preenchidas e escaneadas disponíveis no pacote e que nos servirão de exemplo:
img <- dir(system.file("nops", package = "exams"), pattern = "nops_scan",
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 pastanops_scan foi criadanops_scannops_scan(dir = "nops_scan") # leitura das imagens dentro da pasta nops_scanDaten.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:\RtoolsC:\Rtools\bin no caminho do sistema em
Variáveis do ambiente. Caso não saiba onde encontrar isso, é
facilmente encontrado no google.;C:\Rtools\binDaten.txt) com as respostas corretas geradas
pelo examinador durante a criação das questões (demo.rds),
através da função nops_eval()ev1 <- nops_eval(
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 arquivosregister: 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.