Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The special value %100% that shows the hint when the student answers the question correctly is not working #112

Closed
jaguarfi opened this issue Dec 15, 2020 · 6 comments
Labels
area: questionnaire Related to the questionnaire directive effort: hours The issue seems to be small and should be doable in hours or few days. experience: moderate required knowledge estimate priority: medium status: requires usecase Requires well defined usecase, until the issue can be fixed or ignored type: feature New feature or change to a feature

Comments

@jaguarfi
Copy link
Contributor

I am not sure what is the use case for the %100% character, but I could not find anything related to this in the code source.

@jaguarfi jaguarfi added type: feature New feature or change to a feature priority: medium effort: hours The issue seems to be small and should be doable in hours or few days. status: requires usecase Requires well defined usecase, until the issue can be fixed or ignored area: questionnaire Related to the questionnaire directive experience: moderate required knowledge estimate labels Dec 15, 2020
@markkuriekkinen
Copy link
Contributor

The code that uses the option is in the MOOC-Grader questionnaire grading code: https://github.com/apluslms/mooc-grader/blob/42f1a810c0c19b07ebefe73cce73ef182a99cf47/access/types/forms.py#L606

@jaguarfi
Copy link
Contributor Author

jaguarfi commented Dec 15, 2020

Yes, but I assume that the a-plus-rst-tools must verify that the %100% character is in use, or at least define a default value for the feedback value.

for i,line in slicer(paragraph):

@jaguarfi
Copy link
Contributor Author

I also assume that the ! and the %100% characters are somehow bounded. I was expecting to prepend the ! character to the hint in for giving feedback when the right answer was not selected, and then, use the %100% character to give feedback when the correct answer was selected. Is that the use case we want. or how the %100% symbol is supposed to work?

...
!b § option **b** must be selected
%100%b § option **b** is correct

@markkuriekkinen
Copy link
Contributor

Yes, but I assume that the a-plus-rst-tools must verify that the %100% character is in use, or at least define a default value for the feedback value.

for i,line in slicer(paragraph):

I don't understand what kind of default value you expect to see. A-plus-rst-tools saves the %100% key in the config.yaml and the MOOC-Grader uses it to show the hint if the question is answered correctly. In a checkbox question, the correct answer may require selecting several checkboxes. %100% shows the hint when the question is answered correctly.

You can't combine other characters to the %100% value. Your example of appending b like %100%b will not work. You only use %100% on the left side of § in the RST.

I see you misunderstood the %100% first, but now it should be clear. I can now also see that it is not working in A+ v1.8. It worked in v1.7, but the changes to hints in v1.8 have broken this special value. This bug should be fixed.

You can test this question in A+ v1.7 and v1.8:

.. questionnaire:: questionnaire_demo 10
  :title: A simple multiple-choice questionnaire

  .. pick-any:: 10
    :required:

    Subdirective ``pick-any`` defines a multiple-choice question.

    When :math:`(x + 1)^2 = 16`, what is :math:`x`?

    a. 4
    *b. an integer
    *c. 3
    d. an irrational number
    ?e. -3
    *f. -5

    %100% § You got full points and this hint.

@jaguarfi
Copy link
Contributor Author

Now, with your explanation, it makes more sense. Maybe we need to edit the README.md file. I attach some screenshots on what the user should expect.

Another test case

.. questionnaire:: required-answers-and-show-model 30
  :title: Questionnaire with 100% feedback, answers required and show-model setting enabled.
  :submissions: 5
  :show-model: true

  This questionnaire required the students to answer the questions. The questionnaire also shows the model
  answer to the students after the exercise deadline has passed. If the students answer the single-choice and
  the multiple-choices question correctly, they will see a hint indicating that the answer is 100% correct.

  .. pick-one:: 10
    :required:

    **Modifiers used in this question:** ``required``.

    When :math:`(x + 1)^3 = 27`, what is :math:`x`?

    a. 9
    *b. 2
    c. 3

    %100% § The answer is 100% correct
    a § Not quite. Remember the cube root.
    b § Correct!
    c § Rather close. Remember that you can add or subtract the same number to both sides of the equation.

  .. pick-any:: 10
    :required:

    **Modifiers used in this question:** ``required``.

    When :math:`(x + 1)^2 = 16`, what is :math:`x`?

    a. 4
    *b. an integer
    *c. 3
    d. an irrational number
    e. -3
    *f. -5

    %100% § The answers are 100% correct

  .. freetext:: 10
    :required:

    **Modifiers used in this question:** ``required``.

    Type the word ``mandatory`` in the following text box.

    mandatory

Hint %100% was working in v1.7
questionnaire_feedback_working

Hint %100% is not working in v1.8
questionnaire-feedback-stopworking

@markkuriekkinen
Copy link
Contributor

A-plus and mooc-grader v1.10 have mostly fixed the %100% feedback. It does not yet work in checkbox questions that have enabled the new checkbox_feedback setting. There is a new issue for that:
apluslms/mooc-grader#119

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: questionnaire Related to the questionnaire directive effort: hours The issue seems to be small and should be doable in hours or few days. experience: moderate required knowledge estimate priority: medium status: requires usecase Requires well defined usecase, until the issue can be fixed or ignored type: feature New feature or change to a feature
Projects
None yet
Development

No branches or pull requests

2 participants