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

Add option to give penalty of additional steps in exercises #141

Open
vkaravir opened this issue Apr 2, 2014 · 4 comments
Open

Add option to give penalty of additional steps in exercises #141

vkaravir opened this issue Apr 2, 2014 · 4 comments

Comments

@vkaravir
Copy link
Owner

vkaravir commented Apr 2, 2014

If a student has a misconception, he/she can continue solving a simulation exercise even after the correct algorithm ends. The current implementation of the "atend" grading will still give full points.

An option to set a penalty for additional steps should be added to exercise. This options, for example extraStepPenalty should be a number which defaults to 0. The final points for student should then be calculated by:

correctSteps - extraStepPenalty*extraGradedSteps

where correctSteps is the number of steps in the correct (model) solution and extraGradedSteps is the number of graded steps after the last step in the model solution.

@cashaffer
Copy link
Collaborator

I don't understand the issue being addressed here. That is, how is a student able to do extra steps after the exercise? Do you have an example? Also, I am not sure that we should be penalizing for that. Is there something wrong with doing extra steps? As opposed to doing something wrong in earlier steps.

In contrast, "undo" grading could benefit from what you are suggesting. When a student has to redo a step because they did that step wrong, it might be good to give them a penalty. That would help to deter guessing. And with the flexibility that you are proposing with a multiplier, the person who configures the book can decide whether to charge a full point for the repeated step. I would like to have this configuration option for "undo". That would make it almost as good as "fixstate" without the overhead of having to write the fixstate function.

@vkaravir
Copy link
Owner Author

vkaravir commented Apr 2, 2014

This issue rose from emails between Kasper, Archie and me and we thought there is a need for this in some cases. And the plan is to have this as an option with default penalty being zero, so no penalty. Some configurations might decide to override that default. The exercise where this need came up is the new interpolation search exercise.

The number of undone steps is already reported with the jsav-grade-change event so OpenDSA could use that to set a penalty. It could also be added as jsav option to be used when calculating the points lost.

On 2 Apr 2014, at 19:42, Cliff Shaffer [email protected] wrote:

I don't understand the issue being addressed here. That is, how does a student able to do extra steps after the exercise? Do you have an example? Also, I am not sure that we should be penalizing for that. Is there something wrong with doing extra steps? As opposed to doing something wrong in earlier steps.

In contrast, "undo" grading could benefit from what you are suggesting. When a student has to redo a step because they did a step wrong, it might be good to give them a penalty. That would help to deter guessing. And with the flexibility that you are proposing with a multiplier, the person who configures the book can decide whether to charge a full point for the repeated step. I would like to have this configuration option for "undo". That would make it almost as good as "fixstate" without the overhead of having to write the fixstate function.


Reply to this email directly or view it on GitHub.

@cashaffer
Copy link
Collaborator

Sounds then like the primary issue is consistency, and availability of the necessary information. I think that we want these two use cases (the one with undo that I described, and the one with atend that you described) to be handled in a consistent manner. The two choices for doing this appear to be:

  1. Have JSAV expose some necessary set of values, and let the layer above JSAV turn this into a score, or
  2. Have JSAV compute/report scores based on some set of options for configuring the scoring function.

The first approach strikes me as easier to implement and easier for exercise developers to understand, as well as being more flexible.

@vkaravir
Copy link
Owner Author

vkaravir commented Apr 8, 2014

Actually, the events logged already expose all the information needed. The events jsav-exercise-grade (logged when Grade button is clicked) and jsav-exercise-grade-change (logged when continuous grading is used and grade changes) both include this data:

score: {
    correct: 5
    fix: 0
    student: 6
    total: 5
    undo: 0
}

With this data, what I described in this issue could be computed. As could the undo penalty.

Still, JSAV could provide (configurable) smart default action for all the cases instead of requiring a lot of customisation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants