knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "README-" ) options(tibble.print_min = 5, tibble.print_max = 5) library(writer) library(genexam)
genexam is a package I designed to help teachers perform four distinct sets of tasks:
Each tasks is handled by a specific shiny gadget I will desribe hereafter.
To use the package, several complementary pieces of (free) software must be installed on your computer. Here are the links towards the installation files:
library(dplyr) library(htmlTable) data.frame( Software = c( "R", "Rtools", "RStudio", "Latex", "Pdf", "Images", "perl" ), Windows = c( '<a href="https://cran.r-project.org/bin/windows/base/" target="_blank">R for Windows</a>', '<a href="https://cran.r-project.org/bin/windows/Rtools/" target="_blank">RTools</a>', '<a href="https://www.rstudio.com/products/rstudio/download/" target="_blank">RStudio</a>', '<a href="https://miktex.org/download" target="_blank">Miktex</a>', '<a href="https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/" target="_blank">pdftk</a>', '<a href="https://www.imagemagick.org/script/index.php" target="_blank">imagemagik</a>', '<a href="http://strawberryperl.com/" target="_blank">perl</a>' ), 'Mac OS X' = c( '<a href="https://cran.r-project.org/bin/macosx/" target="_blank">R for mac OS X</a>', '-', '<a href="https://www.rstudio.com/products/rstudio/download/">RStudio</a>', '<a href="https://www.tug.org/texlive/" target="_blank">Texlive</a>', '<a href="https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/" target="_blank">pdftk</a>', '<a href="https://legacy.imagemagick.org/script/binary-releases.php" target="_blank">imagemagik</a>', '-' ) ) %>% htmlTable( rnames = F, header = names(.), align = c("l","c","c") )
In addition, you also need to have a package containing the templates of questions to be used for the exams. I created the package manacc for a management accounting course. You can install this package by typing the following lines of code in the R console:
install.packages("devtools") devtools::install_github("NicolasJBM/manacc")
The package genexam is only available under its development version. You can install it from Github by typing in the R console the following lines of code:
# install.packages("devtools") devtools::install_github("NicolasJBM/genexam")
Once the package installed, you can start using the functions.
There are four main functions in genexam:
genexam()
is a shiny gadget to select questions, assign points, and generate the exam;gradexam()
is a shiny gadget to gather information about questions, solutions, and students, scan the answers, and build a complete database;checkexam()
is a shiny gadget to analyse the results of exams stored in the database created by gradexam()
;sendexam()
is a shiny gadget to create individual reports based on the results and send them to the students.In addition, there are also a few supporting functions:
int()
, dbl()
, and pct()
format numbers respectively as integers, doubles, or percentages;genexam_param_quest()
is a function embedded in question templates to retrieve information necessary for their generation;genexam_make_scan_A4()
is on exam2nops()
from the exams package and create answer sheets;genexam_simulate()
simulate answers to test the package.Finally, a template of exam helps structuring the use of the package:
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.