Note
EdX offers full support for this problem type.
The chemical equation problem type allows the learner to enter text that represents a chemical equation into a text box. The system converts that text into a chemical equation below the text box. The grader evaluates the learner’s response by using a Python script that you create and embed in the problem.
Note
You can make a calculator available to your learners on every unit page. For more information, see Calculator Tool.
Chemical equation problems use MathJax to create formulas. For more information about using MathJax in Studio, see A Brief Introduction to MathJax in Studio.
To create the above chemical equation problem, follow these steps.
<problem>
<startouttext/>
<p>Some problems may ask for a particular chemical equation. Practice by writing out the following reaction in the box below.</p>
\( \text{H}_2\text{SO}_4 \longrightarrow \text { H}^+ + \text{ HSO}_4^-\)
<customresponse>
<chemicalequationinput size="50" label="Enter the chemical equation"/>
<answer type="loncapa/python">
if chemcalc.chemical_equations_equal(submission[0], 'H2SO4 -> H^+ + HSO4^-'):
correct = ['correct']
else:
correct = ['incorrect']
</answer>
</customresponse>
<p>Some tips:</p>
<ul>
<li>Use real element symbols.</li>
<li>Create subscripts by using plain text.</li>
<li>Create superscripts by using a caret (^).</li>
<li>Create the reaction arrow (\(\longrightarrow\)) by using "->".</li>
</ul>
<endouttext/>
<solution>
<div class="detailed-solution">
<p>Solution</p>
<p>To create this equation, enter the following:</p>
<p>H2SO4 -> H^+ + HSO4^-</p>
</div>
</solution>
</problem>
<problem>
<startouttext/>
<p>Problem text</p>
<customresponse>
<chemicalequationinput size="NUMBER" label="LABEL TEXT"/>
<answer type="loncapa/python">
if chemcalc.chemical_equations_equal(submission[0], 'TEXT REPRESENTING CHEMICAL EQUATION'):
correct = ['correct']
else:
correct = ['incorrect']
</answer>
</customresponse>
<endouttext/>
<solution>
<div class="detailed-solution">
<p>Solution or Explanation Header</p>
<p>Solution or explanation text</p>
</div>
</solution>
</problem>
<customresponse>
: Indicates that this problem has a custom response.<chemicalequationinput>
: Specifies that the answer to this problem is a
chemical equation.<answer type=loncapa/python>
: Contains the Python script that grades the
problem.Tag: <customresponse>
Indicates that this problem has a custom response. The <customresponse>
tags must surround the <chemicalequation>
tags.
Attributes
(none)
Children
<chemicalequationinput>
<answer>
Tag: <chemicalequationinput>
Indicates that the answer to this problem is a chemical equation and creates a response field where the learner enters an answer.
Attributes
Attribute Description size Specifies the size of the response field, in characters. label (required) Contains the text of the principal question in the problem. Children
(none)
Tag: <answer>
Contains the Python script that grades the problem.
Attributes
Attribute Description type (required) Must be “loncapa/python”. Children
(none)