Note:

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

Question Engine 2:Numerical questions

From MoodleDocs

The Question Engine 2 structure allows implementation of new features for numerical question types ( numerical and calculated).

The new question engine define a new rationale for classifying questions and there are possible conflicts between the new models and the numerical question type that is inherited from preceeding moodle versions mainly 2,0 and 1,9.

See also http://tracker.moodle.org/browse/MDL-27418 and

See also http://tracker.moodle.org/browse/MDL-28118 where the work will be continued.

See also Question Engine 2:Numerical formats

This page should be seen more or less as a blackboard that Tim Hunt and Pierre Pichet will use to discuss and set proposals for numerical questions.

We will set a forum issue when it will be appropriate to set it.

Raw numerical question

The simplest version of a numerical question is a question where

  1. The answer is defined as a numercial quantity that is written be the teacher following PHP valid syntax
  1. A response which is a numerical quanttity that is written be the student following PHP valid syntax

The grading is done allowing for a numerical tolerance that is set by the teacher following PHP valid syntatx.

The actual moodle numerical questions (1,9 , 2,0 , 2,1 ) differ from this simple model.

Such a raw numerical question is not user frendly as it necessicates that the student should know PHP numerical syntax.

Basic numerical question : universal number to numerical PHP value converter

A user frendly interface is necessary either at the question editing process and more important at the student response.

Use of numercial question in cloze question type or imported in various format as GIFT also necessitate such an interface.

Although PHP uses . as decimal separator, it does not allow thousands separators.

This is why a function has been developped to eliminate space as thousands separator and , if there is already a . in the number type by the user.

The last version (2,1) improve the number syntax recognition but it would benefit from a more complete analysis like the relative positon of the , and . decimal separator.

However there will always remain an ambiguity if the number written is 1,234 or 1.234 
.

Is the , or . are decimal or thousand separator ?

This could be resolved if we use the locale user decsep 
or if we use an help info that specify to always put the decimal separator 
if the thousand separator is , or.  as was used in 2,0 interface.

We could also plan to add fraction has valid input i.e. 1 2/3  
wich is often asked by users and is quite pertinent to such repetitive fraction 

A numerical question which such an universal number to numerical value translator can be considered as the main basic numerical question type

Numerical - unit question type