I will try to call this a flashcard game instead of a program. So you will see I am using terms like player and coach instead of student and teacher. The player and coach will be probably be the same person in most cases.
Here are some pros (”+”) and cons (”-”) of various question types in flashcard programs:
short answer
Player types in the answer.
+ If the player gets a short answer question right several times in a row, the player is more likely to have mastered the material.
+ It is easy for the coach to create a lot of useful short answer questions in a short amount of time.
+ These can be grouped together into multiple choice questions if desired and if the questions are similar enough.
multiple choice
Player must select one answer.
- If the player gets a multiple choice question right several times in a row, the player may have merely memorized the question.
- The coach has to spend time thinking of multiple bogus answers.
choose all that apply
Player must select one or more answers.
- If the player gets a choose-all-that-apply question right several times in a row, the player may have merely memorized the question, although it is somewhat less likely than with multiple choice.
+/- This type of question appears often on technology certification tests, and they are loved and hated for their lack of tolerance for partially correct answers. A well-crafted choose-all-that-apply question can pack a lot of knowledge requirements in a single question. The problem this poses for Leitner systems is that although the student gets a lot of exposure to the hard material, he is also repeating the parts of the question he already knows. There is a difference between a question intended to evaluate mastery of material and a question useful in a system that assists in mastering the material.
manual score
Player asserts “I know the answer” but does not enter it.
- It is easy for the player to cheat, or at least think he knows the answer when he really doesn’t.
+ May be useful in cases where the answer may not be easy to type, such as, “What does a cumulus cloud look like?”
+/- Technically any question can be made into a manually scored question.
I am going to revamp the DTD I gave earlier, but I am not ready yet. Here are a few thoughts, using notation somewhat similar to DTD style. The “+” indicates one or more, the “?” indicates zero or one, and the “|” indicates alternatives.
short answer
question, question-image?, (answer-string | answer-regex)+
multiple choice
question, question-image?, (answer-string | answer-image), bogus-answer+
choose all that apply
question, question-image?, (answer-string | answer-image)+, bogus-answer+
manual score
question, question-image?, (answer-string | answer-image)+
Note that from a schema standpoint, the only difference between multiple choice and choose-all-that-apply is that the former has one required correct answer and the latter has one or more required correct answers. Also short answers can potentially have a lot of correct answers (although only one answer is required), so using regular expressions (regexes) to convey those multiple answers can be useful.