Hints
=====
Hints are a very important part of exercises. Hints should never be *required* for a user to complete an exercise; they should only be provided to help students that are stuck. But it is important to carefully think through what hints to display; if a student is stuck and cannot figure out a problem, the hints should be able to provide a fundamental improvement to their understanding of the problem and how to solve it. How hints are integrated with the site will be left up to the framework; as the writer of the exercise, all you need to do is provide a bunch of individual hints.
Hints are contained within a ``
...
`` block. The markup that you use inside the block is completely at your discretion, but each child of the hints block will be rendered as a separate hint (and each separate hint will be displayed one-at-a-time when the user clicks the "Hints" button). For example, in the following code:
.. code-block:: html
Remember that d = r * t
, or written another way, t = d / r
d_V1 =
distance that Alice traveled by VEHICLE1
d_V2 =
distance that Alice traveled by VEHICLE2
Total distance: d_V1 + d_V2 = DIST
Total time: t_V1 + t_V2 = TIME
...
The first hint will be the "Remember that..." paragraph; the second hint will be the 3 inner paragraphs, and the third hint will be the "Total time: ..." paragraph.
The last hint of every problem should be the problem's answer. The hints should guide the user to this answer.
Hint Template Inheritance
*************************
(Does not work at the moment, see issue #134)
It may also be useful to display a hint, and then replace certain values or append contents to it later. In these cases, you can make use of hint template inheritance. For example, if you want to replace a value, you could do something like this:
.. code-block:: html