tp

User Guide

Introduction

QuizHUB is a local desktop app designed to help NUS students easily record examinable questions and generate quizzes from their very own question bank to test their understanding via a Command Line Interface (CLI). Easily launch-able on the go, QuizHUB is a versatile tool that aims to streamline and optimize the revision experience for NUS students from all fields of study.

Table of Contents

  1. List of All Features
  2. Frequently Asked Questions
  3. Summary of CLI Command Format

Quick Start

  1. Ensure that you have Java 11 or above installed.
  2. Down the latest version of QuizHub from here.
  3. Familiarize yourself with the command structure used here

Command Usage

  1. All the commands are listed in the Features section, alternatively, the summary is available at Command Summary section
  2. Some commands are single-word commands that do not accept parameters, such as the Help command. In this case, any arguments you may have entered would be ignored
    • Entering help abc would perform the same function as help
  3. The [] in the commands denote a placeholder in the command which you should replace with corresponding values.
    • [question] would indicate that you should replace the placeholder with a question
    • Specific requirements of the values would be found in the details in Features section

Features

  1. Helper command
  2. Add Short Answer question with modules and difficulty
  3. Add MCQ question with modules and difficulty
  4. Store or Edit the question/answer in local storage
  5. Delete question/answer
  6. Find question/answer via question’s description or via module name
  7. Edit question/answer
  8. Mark question difficulty
  9. Start a quiz session, specifying category of questions and in random/normal mode
  10. Permanently shuffle questions order for added challenge!

Getting help on using the app: help

Back to Table of Contents

Assists new users in familiarising with the application. Provides a list of commands for the user to get started with the essentials.

Format: help

Example of usage:

Notes:

Adding short-answer questions and their answers: short

Back to Table of Contents

Adds a new short question and its answer to the question and answer bank along with the assigned module and difficulty level.

Format: short [question]/[answer]/[module]/[difficulty]

Example of usage:

Notes:

Adding multiple-choice questions and their answers: mcq

Back to Table of Contents

Adds a new mcq question and its answer to the question and answer bank along with the assigned module and difficulty level.

Format: mcq [question]/[option 1]/[option 2]/[option 3]/[option 4]/[answer index]/[module]/[difficulty]

List Questions list

Back to Table of Contents

List all the questions from the question and answer bank in the storage.

Format: list

Examples of usage:

Delete Questions delete

Back to Table of Contents

Deletes the question with the specified question number from the question and answer bank.

Format: delete [question number]

Example of usage:

Notes:

Find question/module find

Back to Table of Contents

Finds and displays all questions in the poll that match the criteria, either in the question field (with the /description keyword), or the module field (with the /module keyword) but not both. You may use partial matches.

Format:

  1. find /description [question description] Find a question by its question
  2. find /module [question module] Find a question by its module
  3. The “/” character is not allowed should be replaced “\slash” keyword instead.

Examples of usage:

Notes:

Edit question/answer/option edit

Back to Table of Contents

Edits the description or answer of an existing question in the question and answer bank by referencing the number of the question in the existing question list in the question and answer bank.

Format:

  1. Use edit [question number] /description [newDescription] to edit description
  2. Use edit [question number] /answer [newAnswer] to edit answers
  3. Use edit [question number] /option[1...4] [newAnswer] to edit a choice of MCQ question
  4. The “/” character should be replaced “\slash” keyword instead
  5. The “pipe” character is not allowed and will be removed if present in any fields

Examples of usage:

Notes:

Start quiz start

Back to Table of Contents

Starts a quiz which fetches the specified category from the question bank in normal / random order to be tested. The app will display the fetched questions one at a time on CLI and the user is required to enter answer through CLI. Upon every user answer entry, the app feedbacks if the user answered correctly, loads the next question and updates the score. When all questions are answered, the quiz terminates automatically and the final user quiz score is displayed.

Format: start /[quiz mode] [start details] /[qn mode] /[qn type]

Examples of usage:

Taking the quiz:

Notes:

Shuffling Questions shuffle

Back to Table of Contents

Shuffle questions within question list to a random order,

Format: shuffle

Output:

    Questions are now shuffled!
    1: [S][ ] What is 0.5 in fraction? / 1/2 | fraction | EASY
    2: [M][ ] is 5 / 3 rational? / yes / no / maybe / all of the above / 1 | fraction | EASY
    3: [S][ ] What is the value of Pi to 2 decimal places? / 3.14 | math | EASY
    4: [M][ ] what is the value of pi? / 2.71 / 9.81 / 3.14 / 0 / 3 | math | EASY

Notes

Mark difficulty of questions markdiff

Back to Table of Contents

Changes the difficulty level of an existing question in the question and answer bank by referencing the number of the question in the existing question list in the question and answer bank.

Format: markdiff [question number] /[question difficulty]

Examples of usage:

Exit Program bye

Back to Table of Contents

Exits the program
Format: bye

Store and Edit Question Pool Using The Question File

Back to Table of Contents

Storage:

Editing:

Format:

Example of storage file:

Latest Questions
S | undone | Is Java Fully OOP? / yes | CS2113 | NORMAL
S | undone | How many different STs are there in a complete graph with 9 vertices? / 4782969 | CS2040C | HARD
S | undone | Does one-time-pad satisfy perfect secrecy / Yes | CS3235 | EASY
M | undone | derivative of x^2 / x^2 / 2x / x / x^3 / 2 | MA1521 | EASY
M | undone | Should we use arrowhead code / yes / no / maybe / unsure / 2 | CS2113 | EASY
M | undone | Name of Java mascot / duke / duck / dick / drew / 1 | CS2113 | EASY

FAQ

Back to Table of Contents

Q: How do I transfer my data to another computer?

A: Transfer the questionlist.txt generated to the same local directory as the .jar file of the program in another computer. The .jar file should be in its own directory.

Q: Why does my questionlist.txt look slightly different from when I run list?

A: The questionlist.txt generated is not originally designed to be seen by the user. The different format is used in order to parse questions without error.

Q: What’s the difference between shuffle and /random mode in start?

A: During user testing, it was found that users sometimes will revise by looking at all the questions with list, as such functionality to shuffle the questions permanently was added.

Command Summary

Back to Table of Contents

  1. help - shows the list of commands you can use
  2. short [question]/[answer]/[module]/[difficulty] - adds a short answer question and its answer to the list
  3. mcq [question]/[option 1]/[option 2]/[option 3]/[option 4]/[answer index]/[module]/[difficulty] - adds a multiple-choice question and its answer to the list
  4. list - shows the list of questions and answers
  5. delete [question number] - deletes the question and answer at the specified number
  6. find /description [description] - displays all questions containing the specified description
  7. find /module [module] - displays all questions that belong to the specified module
  8. edit [question number] /description [description] - edits the description of the question with the specified number
  9. edit [question number] /answer [answer] - edits the answer to the question with the specified number
  10. edit [question number] /option[number] [new value] - edits the option of the question with the specified number ( MCQ only)
  11. start /[quiz mode] [start details] /[qn mode] /[qn type] - starts the quiz with option for /module or /all and /random or /normal mode, with MCQ, short answer or mixed question types
  12. shuffle - shuffle quiz questions to a random order
  13. markdiff [question number] /[question difficulty] - sets the difficulty of question with the specified number
  14. bye - exits the program