/
Simple Problem Editor - Idealised Concept

Simple Problem Editor - Idealised Concept

While extensive pedagogic and user research can and should probably be done into what the perfect problem editor is and has, from the above research and experience using the tools, the perfect problem editor has the following capabilities and features. Note that this is specifically defining a “problem editor” as a user interface where authors can construct problems through clickable UI elements and text, rather than a code or markup editor.

Problem Types

The ideal simple editor should support the following answer inputs for custom problem construction:

  • Multiple Choice

    • Additional features:

      • Option order randomisation & position fixing

      • Image options

      • Partial credit

  • Checkboxes

    • Additional features:

      • Option order randomisation & position fixing

      • Scoring mode: All-or-nothing vs Partial credit

      • Correctness display mode: Total (show overall correctness a single result) or Transparent (show which answers are correct or incorrect)

      • Image options

  • Dropdown

    • Additional features:

      • Item ordering control (alphabetical, random, fixed)

      • Partial credit

  • Numerical input

    • Additional features:

      • Basic variable setup, insertion and evaluation

        • For example: “A rectangle has a length of {a} and a width of {b}. What is its area?” with a numerical input answer of “{a}*{b}”

      • Tolerance

      • Precision (exact, significant digits, decimal places)

  • Short text input

    • Additional features:

      • Case sensitivity (default insensitive)

      • Fuzzy-matching/regexp for acceptable answers

  • Long text input - Not currently supported

    • The free text response XBlock provides a basic model for this. Mark correct if the text contains these key phrases, mark partially correct if it includes these key phrases.

    • Non-graded mode for basic self-reflection questions

  • Gap-Fill - Not currently supported

    • Allows the construction of cloze-style questions where the input is in-line with text, using other input types (dropdown, short-text and numerical inputs). This will be the most complex problem type to configure and design, but is extremely valuable pedagogically.

Non-Problem Elements

Additional content is often necessary to frame, contextualise, and explain problems, and for that reason the problem editor should also have the following:

  • WYSIWYG formatting options

    • Including insertion of elements such as images, icons, quotes, code blocks, and HTML snippets

    • Answer Recall

      • A way of pulling in an answer from a previously answered question by ID (Problem Builder XBlock has this, and it’s extremely useful, and prior answers-as-variables was a request from educator working group).

      • Listed as a subfeature of the WYSIWYG editor as it’d need to be insertable inline with other content to be usable.

  • Hints

    • Optionally available to learners on demand, with a gate on when learners can request hints available in settings.

  • Feedback

    • Adaptive to which options were selected by the learner on a per-input set basis.

    • Custom feedback labels.

  • Explanation

    • An overall explanation of why the answer is what it is.

  • Cross-problem Variables

    • Variables that can be used by all problems in a unit, for example a randomly generated variable that is used on multiple problems

Generic Settings

Problems should have the following configurable settings regardless of problem type. Defaults in bold. Where a default should be configurable in a separate interface at the course level, these are labelled Default.

  • Problem title/display name

    • Text input

    • Displayed/Hidden

  • Problem Auto-Numbering

    • Enabled/Disabled

    • Based on the order in which the problem appears on the page.

  • Maximum Attempts

    • Dropdown? Value, Unlimited, Automatic, Default (Unlimited)

    • Automatic value could be based on number of inputs -1, but is more of a nice-to-have than anything.

    • Making unlimited an explicit option is far clearer than current 0/null for unlimited

  • Penalty Factor

    • Enabled/Disabled/Default (Disabled)

    • Number input (%)/Default (10%)

    • Deduct from the available points for each incorrect submission

  • Reset Button

    • Enabled/Disabled/Default (Disabled)

  • Show Answer

    • Always, Attempted, Finished, Never, Default (Finished)

    • Suspect the other values of this are seldom used or useful (data required), so the list should essentially be refined down to those that are most intuitive and useful to avoid overwhelming users.

  • Show Hints

    • Always, Attempted, Never, Default

  • Show Associated Content

    • Always, Attempted, Never, Default

  • Associated Content

    • A unit-selector for linking content back to the unit in which the subject-matter was taught. Useful for both staff to ensure content has been taught, and learners for revision of low-stakes quizzes (see rough mockups below)

Usability and Configuration

It should remain possible to mix-and-match input types in a single editor problem, as this is a valuable differentiator for Open edx, while making it significantly simpler to insert inputs and configure their settings. In addition, the following configuration options would be conceptually useful:

  • Input set block insertion

    • Similar to unit components (a concept authors are already familiar with), problem inputs are inserted as blocks/objects, rather than as individual inputs defined by syntax or a single problem being restricted to a single input of a single type.

  • Per-input set configuration options

    • For example, option randomization associated with a specific multiple-choice input set rather than the problem as a whole, as well as per-input weighting as a percentage of the problem’s total weight.

  • General Settings

    • The only settings that should exist in general settings should be settings that can be applied to every problem type, regardless of inputs.

    • There should be no integration settings (such as Mathlab API keys) in individual problem settings of the problem editor. These should be kept in an overall course-level problem configuration area along with things like default setting values.

  • Convert to OLX

    • Provide access to the advanced XML/OLX editor from the Simple Editor

    • Allows problems to be started in the problem editor, then moved to the OLX editor.

    • Should not be labelled “advanced” or similar, but named appropriately as the OLX or XML editor - it is more than feasible to construct basic problems in OLX, and complex problems in the normal problem editor provided it’s fully-featured, and as such it makes no sense to name them simple vs advanced.

    • By explicitly labelling this feature “convert” it makes it much clearer that this is a conversion, not simply opening it in a different view.

    • Bi-directional conversion is not practical due to the flexibility of OLX, so while this would be nice, it’s not feasible.

  • Content library/Problem bank integration

    • It should be possible to easily push/pull questions from a bank of prebuilt problems specific to the institution to enable content reuse, standardised templates, and general problem consistency.

Rough Mockups

For illustrative purposes only, proper wireframe designs should be created and tested by a skilled UX designer. These are representative of conceptual functionality, not necessarily of a good user experience.

Above: Problem editor should support insertion and arrangement of different problem input sets/blocks within its editor, as well as non-question elements.
Above: Each option and problem input set/block should have UI-configurable settings.

 

Related content

Brief Review of New 2U Problem Editor
Brief Review of New 2U Problem Editor
More like this
Randomized Content
Randomized Content
Read with this
Problem Editor - Current State, Gaps, and Opportunities
Problem Editor - Current State, Gaps, and Opportunities
More like this
Zooming Image Tool
Zooming Image Tool
Read with this
Simple Problem Editor (Olive)
Simple Problem Editor (Olive)
More like this
Core Product Feature Research & Analysis
Core Product Feature Research & Analysis
Read with this