Go to site main page, resources page,
Return to quizzes main page.

File last modified: 150716

"Think Again" Multiple-Choice Quiz Page Maker

Format Rules, Limitations


This form allows you to submit a text file and have my CGI script turn it into a functional, interactive, multiple-choice, practice quiz. The quiz is configured so that a student answers the questions and then hits a "process" button that immediately reports how many of them are correct but does not indicate which are right and which wrong.

The pedagogical logic underlying this is that it is beneficial for a student to go back and re-evaluate the answers given, assess his or her degree of certainty about the various options, and learn from correct guesses. There is deliberately no provision for reporting any information about the student's efforts back to the instructor.

To reduce mechanical, "process-of-elimination" responses without reference to content, the output quiz refuses to show a score if fewer than half of the questions have been attempted. For the same reason, an "awesomeness score" can be shown which ranges from 0 to 100. Getting all the answers right on the first try produces a score of 100. Pressing the process button for repeated guessing reduces the score. (This feature can be included or excluded when you make the quiz.)

When all items have been correctly completed, the note beside the "process" button congratulates the student and the screen changes color. The program defaults to a bright yellow background, changing to pink. If you prefer, you can use a "dark background" color scheme, green chanting to blue or vice versa.


  1. Try out the program. A sample data set appears when you hit the button below marked "Show Sample Data," so you can inspect the question format and then submit the sample to see the product.
  2. Prepare your quiz material. The format is pretty obvious from the sample, but a detailed description is given below. (It is advisable to save your questions in a separate text file in case you decide to revise the quiz in the future.)
  3. Type or paste into the box and hit "Submit Quiz," and (Lord willing) it will be turned into a fully functional HTML page.
  4. Inspect the quiz. You may wish to modify it before adding it to your web site. (For example, if your multiple-choice answers are quite short you may prefer the "rs" to the "radio" format to put them on a single line rather than in a vertical list.) The program will usually print an error message if you fail to tell it the format or correct answer to an entry. It is easy to back up to the entry form, modify your input, and then resubmit the form.
  5. Caution: Taking the quiz may reset some variables in it. Either save it before trying it out, or back up and generate a new copy to save.
  6. Save the finished quiz onto your own computer and put it into your own web site. When saving, be sure to change the name to something ending in ".htm" or ".html" and save it as "HTML only," not "complete." (Saving the file as "complete" destroys the Javascript code in some browsers.)
  7. Double-check the downloaded version to make sure it works perfectly.

My program does not keep a copy of your input or of the quiz it creates, so if you do not save it, it is gone.

Form to Submit Data:

Caution: Do not submit an empty form.

Quiz Title

Optional Additional Line Printed After Instructions

Quiz Items

Light Background (changes to pink on completion)
Dark Blue Background (changes to green on completion)
Dark Green Background (changes to blue on completion)

Include Awesomeness Scores?*

Caution: Do not submit an empty form.

*-The "awesomeness score" is a number from 0 to 100 that reflects the number of times the student has clicked the "Process Questions" button. It is 100 if all answers are right at the first button-press and 0 if the button-presses exceed the number of questions. The intention is to provoke students' competitive gaming instincts to encourage thinking about the questions rather than mechanically pumping through them to find the answers.

Question Format Rules:

The text file must be configured as follows:
  1. Each quiz must include at least two questions. (There is no upper limit.)
  2. Each question must with a %%. (This is optional on the last one.)
  3. Each question must begin with "type" name followed by the pipe character (|) to show the type of HTML formatting it requires. (If your keyboard lacks the pipe character, you can instead use three exclamation points: !!!) Allowable type names at this time are:
  4. The order of elements is:
    type | question | answer | answer | … | answer %%
    Spaces adjacent to the pipe character or to %% are optional and irrelevant.
  5. The correct answer should have a single % immediately before the first letter.
Examples of Text File Input and Resultant Output
Radio (ra) Format:radio | Louey loves | Lola | %Lulu | Lily %%
Louey loves
No Answer 
Radio Short (rs) Format: rs | Louey loves | Lola | %Lulu | Lily %%
Louey loves Lola  Lulu  Lily  No Answer 
Droplist (dr) Format:droplist | Louey loves | Lola | %Lulu | Lily %%
Louey loves
Checkbox (ch) Format:  checkbox | Louey loves | Lola |%Lulu | Lily %%
Louey loves
Checkbox Short (cs) Format:  cs | Louey loves | Lola | %Lulu | Lily %%
Louey loves Lola  Lulu  Lily
  1. Blank lines, with or without blank spaces in them, are irrelevant, except that the first line must not be blank.
  2. Single and double quotes are fine in the questions. Accent marks and other special symbols are subject to usual HTML constraints (which more and more means very little constraint). HTML formatting commands like <i> or <b> also work fine in questions and answers.
  3. Questions and answers may be of any length and there is no practical limit to the number of questions you can include. Questions need not all be in the same format or have the same number of responses.
  4. The default answer for radio and drop-list questions is "No Answer" and is added by the program.
  5. The program reports "bad format" as the quiz entry when it cannot understand formatting instructions. Typically this is because the format type ("radio" or whatever) has not been indicated at the beginning of the entry. It also adds a note if you fail to indicate which answer(s) should be understood as correct. (Experiment! It's free!)


  1. Because this format deliberately does not report which items are correct, it is useful only for relatively small blocks of questions. In my experience anything over about 10 questions or a dozen points becomes more discouraging than pedagogical. Sometimes I have used the same questions in the same order to create a longer "hero" version and two or three shorter "wimp" versions. Students seem to enjoy starting with the wimp versions and building to the hero version.
  2. If the first line is blank, you will get a "bad format" report for the first question. (So don't leave it blank, already!)
  3. If you forget to put the %% at the end of each question, the result will come back as a single long question or in a non-web-page format. A missing %% on one question will mix it up with the next one.
  4. The code of the finished quiz can easily be inspected using the "view page source" capacity of the examinee's web browser and is formatted and annotated for maximum clarity. This allows you to modify instructions, add pictures, insert JavaScript routines, or make other adjustments. Unfortunately it also potentially allows students to seek answers in the code rather than doing the quiz. If this becomes a problem, you may wish to consider using a freeware or inexpensive encryption program (like WebCrypt Pro) to conceal the source code of the page.
  5. Because three successive exclamation points (!!!) are used as an alternative to the pipe, questions containing them for some other reason will not format correctly. (If you are that emphatic, leave spaces between them and edit the spaces out after the quiz has been created.)
  6. The quiz creation date at the top of the generated page is based on USA Pacific Time. You can edit it if that bothers you.
  7. Accidentally submitting a blank form creates a server 500 error that I have not been able to replace with a more focused explanation. If you get a server error, that is probably the reason.
  8. I take no responsibility if this program screws up your life in some unforeseen way. I was just trying to be helpful.

Return to top.