heigvd-teaching-tools / online-test-platform

EVAL is an educational platform for managing training exercises and exams, featuring specialized question types for software engineering education and training.
Apache License 2.0
5 stars 0 forks source link

Hide question name? #221

Open yves-chevallier opened 5 months ago

yves-chevallier commented 5 months ago

The question name is very useful for the teacher in his question pool. For example, he can have a question named: Usage of zip. In the question, we can ask the student to merge two lists in a Pythonic way. One test case can slurp the script.py and search for zip usage.

If the student can see the question name, it gives him a strong hint of what is expected. However, renaming the question without the name zip will not help the teacher when building collections for an evaluation.

The proposed solution is to add a checkbox to hide the question title. When checked, the question title is replaced with the question number.

Ovich commented 5 months ago

@yves-chevallier

This topic was previously diuscussed and the idea was to render all of the question fields "public" in a sens that the student would see them. Otherwise we would need to be clear on what is visible by the student and what is not in the question managing page. This applies only for first level attributes of the question and not to the type specific ones where its quite obvious what is intended for the student and whats not.

For the described use case i would rather use tags.

The checkbox is intresting idea but we previously made a decision to distinguish the question from its context of use. The idea is to only manage properties that are closely related to the question and its type specifics (code, multichoice,web...).

In this case that checkbox was more of the attribute of the relation between the questions and its context of use which would be evaluation.

We should keep in mind that later we will have additional tools in which we might use questions in a completly different way.

That checkbox could eventually become the setting on the side of the evaluation rather than on the question itself.

@bchapuis what do you think?

OlivierLmr commented 5 months ago

I have to plus-one this request.

Many of my questions tend to take the form "guess the algorithm " with additional tags identifying the algorithm to guess ; while technically usable, this is quite impractical and inelegant.

One suggestion I could make is to be able to override the question name when adding it to a collection. For example, by making the question name an interactible field in the left-pane of the collection-creation view, or by adding a button somewhere. I believe this would solve the problem nicely without changing the way questions are designed currently.

However, I think I understand the vision you have about what questions are, and I believe making question names private would not go against it, and might even make more sense. You say questions should only manage "properties that are closely related to the question and its specifics", and a teacher-only description of the question would make a lot of sense with that goal in mind, since it would be a way to precisely describe what the question asks from students. I would even go as far as saying that the student-facing title is a lot more context-dependent than a teacher-only one, and should thus not be provided until the question is put in a specific context, e.g. a collection.

yves-chevallier commented 5 months ago

I just realized that since the question is stored in Markdown, it would be very natural that the Question title would be the first title in the Markdown. This may let the user choose whether she wants a title, no title, and what title she wants.

The current title field would only serve the purpose of organizing questions in a group.

Since groups of questions are meant to be used by different teachers, they should need something to summarize and identify the question: so by their title in a list of questions.

Using tags is a good idea, but it would serve IMHO different purposes. For the guess of algorithms, if we imagine a question entitled : Guess Heap Sort, the core question would have its title set to "Quel Algorithme ?", and the tags would be: sorting-algorithms, code-analysis, C++, heap-sort

Retrofitting the system isn't that difficult, one could take actual titles, add them in the beginning of the MD question as # title then by default hide the question title. No need for any checkbox or custom option.

bchapuis commented 5 months ago

@yves-chevallier We will soon get some propositions from @jfavlam to revise the UX. In particular, he will try to merge the collection and evaluation sections which, in their current state, are a bit counter intuitive. I think there may be an opportunity to enable the professor to change the title of the question during the creation of the evaluation. As the title is used in tooltips and question grid, we must find a reliable way to always have a title. It would be nice if we could discuss this point once we have the figma mockups.