DanThrane / tekvideo.sdu.dk

http://tekvideo.sdu.dk
1 stars 3 forks source link

Show exercise statistics on each subject #92

Closed henrikmidtiby closed 7 years ago

henrikmidtiby commented 8 years ago

Eg. for a topic like "Complex numbers", show statistics for all exercise types within that topic / course.

The statistics should be displayed as a "matrix" with exercise types as columns and students as rows.

DanThrane commented 8 years ago

I've been working on this issue for a little while now, and would like some feedback before I continue with it. So far I've developed a component, with a working front- and back-end, which should be flexible enough for anything we would like.

demo

The component is designed to take statistics from a given "node", and display statistics for the direct children of this node.

It is possible to turn off individual children using the checkboxes shown, it is also possible to sort the tables by individual columns.

The selected node, may be any node from the contents tree, an example of such tree could be:

├── course
│   ├── subject
│   └── subject
│       ├── video
│       ├── video
│       └── video
│           └── videosubject
│               ├── videoquestion
│                   ├── videofield
│                   ├── videofield
│                   └── videofield
│               └── videoquestion
│                   ├── videofield
│                   ├── videofield
│                   └── videofield

For example we might look at a course, then the columns would be the subjects of that course. Or we could look at a single video question, then the columns would correspond to the fields in that question.

For the individual cells, however, it isn't always perfectly clear what should be displayed. When we look at an individual video question, then a boolean value works fine. While a boolean value on a subject doesn't provide a whole lot of insight.

Thus I have a few questions for you:

  1. What should be shown in the table cells at the individual levels. For example:
    • 5/10 videoquesitons were answered correctly in this videosubject.
    • The video should be considered passed if 80% videoquestions pass
  2. Should these be configurable (e.g. a video should be consider passed if X% of questions pass)? This might be useful for when we do Perseus integration.
  3. Should any changes be made to the component as a whole?
henrikmidtiby commented 8 years ago

Here are my comments on the component.

What should be shown in the table cells at the individual levels.

For the videos with embedded questions, I don't think that it makes sense to mark them as passed or not based on the number of correct answers. I would suggest the following scheme:

  1. A unwatched video is marked with gray/white
  2. A watched video with unanswered questions is marked with yellow
  3. A watched video with all questions answered is marked with green

When considering perseus exercises types the following scheme is suggested. By passing an exercise I refer to have completed xx consecutive exercises of that type with no errors, where xx is configurable for each exercise type.

  1. A unattempted exercise type is marked with gray/white
  2. A an attempted but not passed exercise is marked with yellow
  3. A passed exercise is marked with green

Should these be configurable?

That was answered above.

Should any changes be made to the component as a whole?

I think it looks quite nice overall. Maybe an option to filter / sort the students based on their name / id / course enrollment status.