Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Talk:Overview of the Moodle question engine

From MoodleDocs

Tim -

Two areas that I keep in the back of mind are outcomes and tags. Can we tag certain questions as being related to a particular objective? Generally speaking, an activity provides a way for teacher to grade whether a student has demonstrated a particular outcome. I think it might be nice if the question engine could do some of outcome assessment automatically. For example, student able to multiple single digit numbers.

I am curious if you think that the question engine should connect specific questions to a particular outcome. I am thinking of how a student's correctly answering a particular quiz question could be used to demonstrate an outcome.

To the contrary, a good argument can be made about putting too much wait on a particular question. Instead of the question determining the outcome, it would be a series of questions whereby the student's performance on a quiz of questions determines the outcome score thus maintaining the current correlation between outcomes and a particular activity.

In any case, as I looked at the proposal for the new question engine outcomes and tags were a couple of areas where I might anticipate some questions. The question of tagging (courses, activities, questions, resources, etc.) is really a separate issue that I think best dealt with on its own. The more I think about outcomes, I think there is good justification for not trying to associate them with individual questions.

Peace - Anthony

Metadata about questions, for example tagging them or linking them to outcomes, is the responsibility of the question bank. In Moodle 2.0, we added tagging of questions to the question bank, but at the moment no activity makes any use of that. The new question engine does not change the question bank at all. Really, it is up to individual activities or teacher to assign 'meaning' to the tags on questions. The question bank stores the metadata, but does not do anything with it itself.
In the question engine (old and new) individual questions get a grade that is a single number between 0 and 1. Again, it is up to the individual activities to decide how to combine the individual question scores to get an overall activity score, or scores. At the moment, the only real example we have is the quiz, and that simply multiplies each question score by a weight and adds them. A module is welcome to do something more complex than that, and I am sure that in time the quiz will support reporting scores against different grade items for one quiz.
Actually, for the convenience of the quiz, the question engine will store a weight for each question. Look at the question_attempts table, you will see that there is a maxmark column. It aslo implements the sum_usage_marks_subquery https://github.com/timhunt/Moodle-Question-Engine-2/blob/new_qe/question/engine/datalib.php#L756 to do the kind of sum that the quiz wants. Once a module actually wants to support reporting grades against different totals, I would probably be in favour of expanding the database table to have an extra 'markaxis' or 'markcategory' column that the activity can set, and change the query so that it does a group-by markcategory. But that is an easy addition to make later when someone acutally needs it.
The biggest problem with implementing a single quiz having different scores for different mark categories, is working out how to include all the necessary extra configuration settings on the quiz form, without make it even more complex than it already is. UI mockups welcome ;-)--Tim Hunt 09:31, 26 November 2010 (UTC)