I have nearly 2000 math questions in a Moodle 1.6.3 question database
. The questions are divided into 23 categories (and subcategories) such as "geometry/ lines and angles" and "algebra/special trinomials". The questions are used by tutors to create highly-targeted practice quizzes for specific students based on the student's specific strengths and weaknesses. For example, if a student is weak in "geometry/lines and angles", the tutor will create a quiz consisting of easy problems from this category. If another student is strong in algebra, the tutor will create a quiz consisting of more challenging algebra problems, etc.
In this pattern, which I call Tutoring Center
, searching by content is useless. The tutor needs to be able to make a quick visual scan of the problems in a chosen category and select the ones having the desired level of difficulty. For this, Joseph Rezeau's category preview enhancement (MDL- 4793) is absolutely indispensable
The ability to tag questions with user-defined attributes (i.e., metadata) would enable me to classify problems according to their level of difficulty. Currently, I determine difficulty by visual inspection.
As the screenshot shows, I added a cross-reference list to the category preview so that each question lists the quizzes in which it has been used within this course. This helps me avoid repeating the same question on different quizzes.
There is another requirement of any enterprise quiz database that is often overlooked. Question creation, update, deletion, and (re-)categorization should only be possible for users having the role of Question Database
Administrator (QDBA). For other users, the questions should be read-only and export should be disabled. We don't want copies of questions to proliferate! We want to share questions in the true sense of sharing (copying is not sharing). We're trying to get away from the stovepipe model of teaching where every tutor has his own private question database! Errors in questions are fixed once and are instantaneously fixed everywhere the question is used. Category changes (a very common occurrence) are made in one place and everyone sees them. With these requirements met, we can begin to develop policies and procedures that will allow us to grow an enterprise question database to 100,000 questions. For example, we use a special forum for reporting question bugs to the QDBA team.
Here's how I implemented the Tutoring Center
pattern (pre 1.7, without roles):
- The question database lives in course 1
- The QDBA's are teachers in course 1
- all categories are published
- images used in questions are site files
I want to reimplement Tutoring Center
in 1.7 using roles, but I would definitely like to want to hear suggestions on how to do it.