PremierLangage / Yggdrasil

A PL subproject where we are tackling the design of new types of exercises
4 stars 2 forks source link

API Etape d'un exercice #107

Open ddoyen opened 2 years ago

ddoyen commented 2 years ago

@nborie @nimdanor

Dans le même esprit que #106 et en attendant que les activités fonctionnent, voici une API pour les "étapes" d'un exercice. Pour faciliter la création d'exercices composées : quiz, exercices à étapes, etc.

Exemple de quiz : https://pl.u-pem.fr/filebrowser/demo/55601/ Exemple d'exercice à étapes : https://pl.u-pem.fr/filebrowser/demo/55600/

Une objet de type Step contient un ou plusieurs champs de réponse. Dans la plupart des cas, il contient un seul champ de réponse mais on peut imaginer le cas à plusieurs champs de réponse.

Un objet de type Step contient:

Avec ce genre d'API, on peut facilement écrire des scripts evaluator génériques qui travaillent sur des listes de Step. Il suffit ensuite de créer cette liste de Step dans le script before.

Exemple:

before ==
sequence = [StepTextInput(), StepRadio()]

sequence[0].question = "Quelle est la capitale de la France ?"
sequence[0].input.sol = "Paris"
sequence[0].solution = "Paris"

sequence[1].question = "Quelle est la superficie de la France ?"
sequence[1].set_items(["150 000 km²", "550 000 km²", "1 000 000 km²"])
sequence[1].set_sol(1)
==