TestR - an exam generating app

TestR - an exam generating app

Authors: Zvonimir Boban

Abstract: A multiple choice test generating app born out of synergy of Shiny and R Markdown.

Full Description:

I have first heard of Shiny a couple of years ago. It looked like a fun and useful framework, but initially I just toyed with it for a day and then forgot about it until two years ago when my current boss asked me to calculate a series of solution volumes for an experiment we were conducting. After calculating it by hand a couple of times, I got bored and started thinking about automating the task. I wrote a script in R, but then wanted a solution that could easily be used by non-R users as well. This led me to creating my first real Shiny app.
Successful usage of that app gave me an additional incentive to continue learning about Shiny, so when my boss complained about not being able to find a certain option in an exam generating software our department used, I immediately offered to try and develop our own custom software using Shiny and R Markdown.
After learning a lot more about Shiny and overcoming a plethora of bugs and errors, I am glad to say that we have successfully tested and used the app to generate multiple choice exams at our Department.
Although many commercial software still offer more options, approaches such as this one have an advantage of being free and easily customizable. Consequentially, they can be used by a far greater audience and tailored to their specific needs.
Overall, I am very happy with the current state of the app, but already have more ideas for additional functions. I hope you enjoy it and find it useful as well!

Short features description:

TestR combines the power of R and R Markdown with the interactivity of Shiny to deliver a multiple choice exam generating app. It allows the user to select questions based on the chapter and difficulty level. These choices are then used to randomly pick the selected number of questions from the question base. If the user is not satisfied with certain selected questions, they can be swapped with other questions from the same chapter-difficulty subgroup.
The app also allows the user to select different question bases or create new ones. The app opens up to a demo question base, but the user can also choose a built-in question base filled with multiple choice questions on various topics. If the user selects an empty folder, a new empty question base will be created.
The user can add, remove or change questions as well. Mathematical expressions are supported through Latex. The default format for generated exams and question bases is HTML, but you can easily convert it to pdf by opening the document on Chrome based browsers and choosing the ‘Save as pdf’ option from the print window.
The initial app tab offers a graphical overview of question base stats and a dark mode switch for long hours spent inputting the questions. There is also a dropdown Help tab if you forget how to use a certain option.

Keywords: exam-generator, education, rmarkdown
Shiny app: TestR
Repo: GitHub - Ringomed/TestR
RStudio Cloud: RStudio Cloud


Full image: