Skip to content

justineuro/mcQuiz

Repository files navigation

mcQuiz LogomcQuiz

mcQuiz is a multiple-choice question-and-answer web app. It comes with a number of versions depending on how mathematical expressions are rendered (TeXZilla or MathJax) and whether the question-and-answer data is encrypted (with or without Advanced Encryption Standard (AES) encryption done using CryptoJS). TeXZilla rendering of math expressions works only on Mozilla browsers (e.g., Firefox and Seamonkey).

A demo can be found at https://justineuro.github.io/mcQuiz.

Using as a Template

One can easily modify the available datasets by editing the question-and-answer data file, e.g., setDat-mc-tz-noaes.js and setDat-mc-tz-aes.js, that are found inside the js folder under the main directory:

  1. Modify the 2nd and 3rd lines of the question-and-answer data file to add more topics. Simply add entries to the data labels array (datList) and the topics array (topicsList).
  2. Modify, as needed, the 4th line to set the aes indicator (0 for no encryption, 1 for AES-encrypted).
  3. Modify the 5th line, as needed, to indicate how math rendering will be done (texzilla for TeXZilla or mathjax for MathJax).
  4. Add the additional datasets at the bottom of question-and-answer data set file (setDat-mc-tz-aes.js) as arrays.
  5. One may opt to randomize the questions by using the sort() and compare function. See the examples given at the end of each data array already in setDat-mc-tz-aes.js.

Acknowledgements

Special thanks to W3Schools for their tutorials on html, javascript, css, and bootstrap; Bootstrap, Inc. and Bootstrap Live Customizer for the green cerulean-derived style sheet themes; JS Foundation et al. for the jQuery 3.3.1 Javascript Library; Jeff Mott for CryptoJS v.3.2.1; Fred Wang for TeXZilla; Dave Gandy for the Font Awesome 4.7.0 icons; OpenSSLWiki and OpenSSL Command-Line HOWTO by Paul Heinlein for infomation on AES-encryption using openssl enc; StackOverflow user:nico for the smoothScroll.js script; user:ovidb, user:wenceslaus, user:tomas-kirda, and user:miro for their answers to javascript-string-encryption-and-decryption; user:paul-fournel and user:mtyson for their answers to how-do-i-make-javascript-beep from which coinBump.js is based; user:kornel, user:basil-bourque, and user:456584 for their answers to sound-effects-in-javascript-html5; Simple sounds for the coin.ogg and bump.ogg answer audio; The Document Foundation for LibreOffice, Poppler Developers for pdftoppm and Dmitry Groshev, Mark Tyler, Xiaolin Wu et. al. for mtPaint, ImageMagick convert---these softwares were employed for generating the mcQuiz icon; Colomban Wendling, Nick Teleaven et al. for Geany 1.28 IDE. Much thanks, too, to the Debian Project for the Debian 8 (Jessie) GNU/Linux OS, and GitHub for its generosity in providing space for this project.

License

Creative Commons License
mcQuiz by Justine Leon A. Uro is licensed under a Creative Commons Attribution 4.0 International License.
Based on a work at https://github.com/justineuro/mcQuiz