Introduction
Teachers need to create many quizzes. An automated way to generate quizzes
would make life simpler.
Quiz Database
Some type of database is needed to hold the questions and answers
used to generate quizzes. It could be a CSV file, MySQL,
MongoDB, SQLite, JSON, ...
Project #0
Create a question and answer database to be used by project #1.
Project #1
Create and print quizzes and answer sheets.
Create a program that...
- asks a teacher
- which database to use
- how many questions in the quiz
- how many quizzes to print (optional)
- select random questions from the database
- output the quiz and an answer sheet
(text file, pdf file, web pages, wiki pages, ...)
(A text file is the easiest to start with.)
Things to Think About (in no particular order)
This are interesting things to think about, but
keep your first program simple. These might be things for future versions of your program.
- Questions could be multiple choice, fill in the blank, or ...
- If a question multiple choice, randomize the order of the choices?
- If a question requires some calculation,
the question (quiz) may need space for the calculation.
- If a question is a "fill in the blank",
the question (quiz) may need space for the answer.
- Assuming you have a large number of questions (200+?),
you can give the students the questions/answers.
If they memorize them so much the better.
- The database could contain the same question framed differently.
Perhaps quizzes should not include both questions.
- The teacher should be able to "include" special questions
in a quiz. The other questions would be selected randomly.
- Individual quizzes could be created for each student.
- The database could contain "flags" to indicate questions
related to different sections of the text book.
- Essay question could be in the database
but would require the teacher to grade them.
The answer sheet could contain points required in the
quiz's answer.
- A simple markdown language could be used
for the questions and answers.
- Mark sense sheets could be used.
(Sheets scanned and scores automatically recorded?)
- Statistics could be kept on each question to ...
- locate bad questions.
- Detect what information is not being covered sufficiently.
- Foreign languages.
- The teacher may want to specify the order of
the questions on the quiz.
(The answer of one question may be required by another.)
Project #2
Create a program that teachers can use to view, add, delete, modify
entries in a quiz database.