Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
22 avril 2021 4 22 /04 /avril /2021 21:33

   Avant de passer une matinée à améliorer ce qui avait déjà été fait (2 modules seulement) et à programmer et déboguer le reste, puis tester, et bien avant tout cela, et après une 50 cl de bière Heineken hollandaise d'Amsterdam, je me suis dit «et si j'enregistrais une minute de silence?» principalement pour tous les dégâts causés par le CoViD-19 sur les démocraties mais aussi les morts dans le monde entier.

   Enregistrer une minute de silence c'est pas si simple qu'il n'y paraît mais pour s'acharner là-dessus faut être un peu con. Mais comme disais Serge Gainsbourg: «la connerie est la décontraction de l'intelligence»; et personnellement j'ajouterai que malheureusement «pour les cons, l'intelligence est une torture»...

   Mais bon. Voici donc la minute de pur silence:

   Alors, du plus sérieux maintenant: parlons programmation en langage Python d'un gestionnaire de QCM (Questionnaire à Choix Multiples) d'évaluation (donc à notation, cotation, points). Grosso-modo je ne vais pas m'étendre sur les explications de la logique des codes-sources des différents modules; je vais juste tenter de présenter un mode d'emploi.

   En premier l'enseignant devra écrire via un éditeur de texte simple mais permettant d'enregistrer au format UTF-8 (ainsi Bloc-Notes sous Windows, MousePad sous Linux ou tout autres, il y en a aussi pour le Mac OS) le QCM à proposer à l'étudiant.

   Là il faut expliquer la logique de l'écriture car il y a un peu de choses du type "hypertexte" à ajouter. On prendra en exemple celui qui m'a servi de test:

   Donc on remarque d'abord des entrées à la ligne manuelles. Très important ça. Aussi des paragraphes, dont celui d'introduction, terminés par une ligne ne comprenant que deux étoiles "**". Ces ** indiquent aux logiciels qu'il s'agit d'un paragraphe de remarque n'appelant aucune réponse autre que la touche [Entrée]. Ce sont des formes de remarques-pauses dans le déroulement du QCM.

   Lorsque des choix arrivent, numérotés à partir de 1, à la fin de ces choix on remarque deux lignes: une premières de double-moins "--" indiquant aux programmes qu'un choix est posé et une suivante avec un numéro qui correspond au nombre de choix laissés.

   Juste après ça reprend. La dernière ligne ne peut être un **, mais doit être laissée vide.

   À noter qu'il n'y a qu'un choix possible. Que le choix zéro (0) est proposé par les programmes et correspondent à «Je ne sais pas / aucune réponse satisfaisante»; ce qui est important car cela signifie que le choix 0 peut très bien valoir des points.

   Après avoir enregistré, dans le même répertoire que le répertoire où se trouvent les modules Python, le fichier texte QCM (pour moi ça a été "cg1A01.txt"), l'enseignant devra exécuter configQCM.py afin de sauvegarder les notes attribuées à chaque réponse de chaque question dans un fichier binaire "points..." (ici "pointscg1A01.txt").

   L'exécution de verifQCM.py sert à générer un fichier pur texte UTF-8 mais dont le format d'entrée de lignes dépendra de l'OS sur lequel on l'aura exécuté (Windows, Linux, Mac OS) qui synthétise l'ensemble des notes attribuées dans le fichier "correct...".

   L'étudiant, lui, ne doit disposer que de trois choses: un numéro ou "matricule" d'étudiant, le logiciel remplirQCM.py, et le fichier de QCM dont je parlais en premier. Il en retire un fichier "r"+"numéro d'étudiant"+"nom du fichier QCM" (tel "r001cg1A01.txt").

   C'est ce fichier "r" qui doit être renvoyé au professeur qui alors exécutera corrigerQCM.py pour chaque matricule d'étudiant et qui génère un autre fichier pur texte "t..." ou "temp..." si je me souviens bien.

   Le résultat, les notes, sont indiqués en points et en pourcentage à une décimale après la virgule près et peut (doit) être intégrée dans un tableur reprenant les notes générales de tous les étudiants.

   Bref voici ces logiciels Libre et Open Source et Gratuits:

Partager cet article
Repost0

commentaires

Présentation

  • : Town Ground anc. Igor Gorovitch
  • : Créations électroniques d'un dissident du numérique bien intégré. Musique style 90's et (un peu) programmation style années 1980 (80's). Les eighties et nineties au cœur.
  • Contact

Recherche

Pages