Numerical Input & Formula Input Problems - Current State, Gaps, and Improvements

Numerical Input & Formula Input Problems - Current State, Gaps, and Improvements

Currently Open edX numerical input questions support both numbers and extremely simple mathematical expressions. A tolerance for the correct answer can be expressed as a percentage or a +- margin of error, and a range can be expressed through some moderately confusing markup in the simple editor. For example, an answer of (5, 8] would mean that the answer can be 6, 7, or 8, but not 5, as the square bracket indicates that the number is included in the range, while the parenthesis indicates that the number is not included in the range, but still defines the range.

Answers can be evaluated by a formula, but doing so requires the use of a Python script, which must be entered into the Advanced editor as what is commonly referred to as a “write-your-own-grader” problem.

Defining variables in problems also requires a custom python script, and this functionality is not available in the simple editor.

Open edX primarily supports using MathJax for entering mathematical notation into problems, but markup is only translated into mathematical notation and equations in problems displayed in the LMS. Learners answering questions can immediately see the results of their input, but staff cannot.

In addition to regular numerical input questions, there is also the Math Expression Input Problem. The Math Expression input problem adds support for much more complex equations, and must be authored in OLX.

Current Gaps & Potential Improvements

  • You cannot provide feedback for an incorrect answer in a numerical input problem, which is a valuable feature to have.

  • Variables cannot typically be shared and carried across problems easily.

  • General improvements are needed for the simple editor, as discussed at length elsewhere.

  • Better support is needed for formulae in general, and displaying possible correct solutions similar to Canvas would have significant value to course authors creating and spot-checking complex problems.

  • Where possible, it should not require OLX to access any of the functionality available to any problem type, including Math Expression Input.

  • There is no quick way to see mathematical notation without going to the LMS. It is not displayed in the editor or Studio, as MathJax is not loaded outside of the LMS. If practical, loading MathJax on demand in future Studio MFEs might be a feasible way to do this without loading MathJax on every single page that does not need it if there isn’t a better way to handle rendering mathematical notation.

  • Open edX does not include any helper functions due to its lack of formal support for formulae in general. If formula support is added, then helper functions similar to those in Moodle and Canvas would likely be desirable.