openmcq slides
Post on 09-Aug-2015
22 Views
Preview:
TRANSCRIPT
Création et correction automatisées de QCM
Christophe Outteryckchristophe.outteryck@gmail.com
Laurent Delpratlaurentdelprat@gmail.com
Suiveur :M. Hubert Wassner
hubert.wassner@esiea.fr
Projet Pluri Disciplinaire ESIEAAvril 2005
Qu'est-ce qu'OpenMCQ ?
Que permet-il de faire ?1. création du sujet ;2. création des feuilles de réponses ;3. correction des copies ;4. statistiques sur l'ensemble des candidats.
Pourquoi ce nom ?
Organisation de l'exposé
1. Présentation du projet
2. Fonctionnement du logiciel
3. Cheminement du projet
1. Présentation du projet1.1 Cahier des charges1.2 Choix effectués
Présentation du projet
1. Présentation du projet1.1 Cahier des charges1.2 Choix effectués
Cahier des charges
Objectifs détaillés :- gagner du temps pour la correction ;- éviter la triche ;- automatiser la lecture des noms et prénoms ;- avoir des statistiques complètes ;- laisser le maximum de liberté à l'enseignant ;- pouvoir lire des chiffres/lettres en plus des cases.
Délai : 90h (45h/étudiant)
Contraintes techniques : ordinateur & scanner « classiques »
1. Présentation du projet1.1 Cahier des charges1.2 Choix effectués
Choix effectués (1/2)ToolKit Graphique Qt 3.3 :
- très répandu (C/C++, Open Source) ;- orienté objet ;- plus « simple » que GTK ;- fiable (KDE) & a de l'avenir (la version 4 arrive) ;- portable (Win32, Linux, Mac, Unix).
Langage C/C++
Choix effectués (2/2)
1. Présentation du projet1.1 Cahier des charges1.2 Choix effectués
XML (eXtensible Markup Langage) : - langage de l'avenir ;- eXtensible & évolutif.
Open Source & Licence GPL :- indispensable à la survie du projet ;- plus grande liberté aux utilisateurs & développeurs.
2. Fonctionnement du logiciel2.1 Pré-traitement de l'image2.2 Lecture du fichier XML2.3 Correction & notation
Fonctionnement du logiciel
2. Fonctionnement du logiciel2.1 Pré-traitement de l'image2.2 Lecture du fichier XML2.3 Correction & notation
2.1 Pré-traitement de l'image2.1.1 Transformation de l'image en matrice2.1.2 Vérification des dimensions de l'image2.1.3 Détection du centre de la mire2.1.4 Calcul de l'échelle2.1.5 Calcul de l'angle de rotation
2.2 Lecture du fichier XML2.2.1 Qt et le XML2.2.2 Zones à cocher2.2.3 Exemple de fichier XML
2.3 Correction & notation2.3.1 Permutation des questions2.3.2 La case est-elle cochée ?2.3.3 Comparaison avec le corrigé
2. Fonctionnement du logiciel2.1 Pré-traitement de l'image2.2 Lecture du fichier XML2.3 Correction & notation
Pré-traitement de l'image (1/4)
Transformation de l'image en matrice
Echelle de 255 niveaux de gris.Noir = 0Blanc = 254
Vérification des dimensions de l'image :
2. Fonctionnement du logiciel2.1 Pré-traitement de l'image2.2 Lecture du fichier XML2.3 Correction & notation
Pré-traitement de l'image (2/4)
Détection du centre de la mire
Méthode pour rendre floue une zone
2. Fonctionnement du logiciel2.1 Pré-traitement de l'image2.2 Lecture du fichier XML2.3 Correction & notation
Calcul de l'échelle
1ère étape 2ème étape
Pré-traitement de l'image (3/4)
2. Fonctionnement du logiciel2.1 Pré-traitement de l'image2.2 Lecture du fichier XML2.3 Correction & notation
Pré-traitement de l'image (4/4)
angle
Calcul de l'angle de rotation Rotation
Attention à l'origine du repère ! (géométrie affine)
2. Fonctionnement du logiciel2.1 Pré-traitement de l'image2.2 Lecture du fichier XML2.3 Correction & notation
Lecture du fichier XML (1/3)
Qt et le XML : 2 méthodes (DOM et SAX)
On utilise DOM avec la classe QdomDocument
Le parcours se fait principalement à l'aide de la classe QDomNode.
Intérêt du XML ? Concevoir un QCM entièrement personnalisé
2. Fonctionnement du logiciel2.1 Pré-traitement de l'image2.2 Lecture du fichier XML2.3 Correction & notation
Lecture du fichier XML (2/3)
Zones à cocher
<body><box number="1">
<mark><true>+1</true><false>0</false><null>0</null>
</mark><answer letter="A">
<x>-167</x><y>104</y>
</answer><answer letter="B">
<x>-160</x><y>104</y>
</answer><answer letter="C">
<x>-154</x><y>104</y>
</answer></box><box number="2">
[ ... ]</box>
<body>
Distances en mm par rapport au centre de la mire
Lecture du fichier XML (3/3) <box number="4" nbanswers="2"> <answer letter="A"> <x>-175</x><y>149</y> </answer> <answer letter="B"> <x>-137</x><y>149</y> </answer> </box><box number="4" nbanswers="2"> <answer letter="A"> <x>-175</x><y>149</y> </answer> <answer letter="B"> <x>-137</x><y>149</y> </answer> </box> <box number="5" nbanswers="2"> <answer letter="A"> <x>-175</x><y>176</y> </answer> <answer letter="B"> <x>-137</x><y>176</y> </answer> </box> <box number="6" nbanswers="5"> <answer letter="A"> <x>-175</x><y>199</y> </answer> <answer letter="B"> <x>-137</x><y>199</y> </answer> <answer letter="C"> <x>-99</x><y>199</y> </answer> <answer letter="D"> <x>-60</x><y>199</y> </answer> <answer letter="E"> <x>-23</x><y>199</y> </answer> </box>
<mcq><properties> <nbquestions>7</nbquestions></properties>
<head> <title>Sondage OpenMCQ</title></head>
<body> <box number="1" nbanswers="5"> <answer letter="A"> <x>-175</x><y>79</y> </answer> <answer letter="B"> <x>-137</x><y>79</y> </answer> <answer letter="C"> <x>-99</x><y>79</y> </answer> <answer letter="D"> <x>-60</x><y>79</y> </answer> <answer letter="E"> <x>-23</x><y>79</y> </answer> </box>
<box number="2" nbanswers="5"> <answer letter="A"> <x>-175</x><y>102</y> </answer> <answer letter="B"> <x>-137</x><y>102</y> </answer> <answer letter="C"> <x>-99</x><y>102</y> </answer> <answer letter="D"> <x>-60</x><y>102</y> </answer> <answer letter="E"> <x>-23</x><y>102</y> </answer> </box> <box number="3" nbanswers="5"> <answer letter="A"> <x>-175</x><y>126</y> </answer> <answer letter="B"> <x>-137</x><y>126</y> </answer> <answer letter="C"> <x>-99</x><y>126</y> </answer> <answer letter="D"> <x>-60</x><y>126</y> </answer> <answer letter="E"> <x>-23</x><y>126</y> </answer> </box>
<box number="7" nbanswers="9"> <answer letter="A"> <x>-175</x><y>227</y> </answer> <answer letter="B"> <x>-137</x><y>227</y> </answer> <answer letter="C"> <x>-99</x><y>227</y> </answer> <answer letter="D"> <x>-60</x><y>227</y> </answer> <answer letter="E"> <x>-23</x><y>227</y> </answer> <answer letter="F"> <x>-137</x><y>236</y> </answer> <answer letter="G"> <x>-99</x><y>236</y> </answer> <answer letter="H"> <x>-60</x><y>236</y> </answer> <answer letter="I"> <x>-23</x><y>236</y> </answer> </box></body></mcq>
Correction & notation (1/3)
2. Fonctionnement du logiciel2.1 Pré-traitement de l'image2.2 Lecture du fichier XML2.3 Correction & notation
Permutation de l'ordre des questions : le rouleau Spartiate
Transposition
Modulo 5
« Applatissement »
Correction & notation (2/3)
2. Fonctionnement du logiciel2.1 Pré-traitement de l'image2.2 Lecture du fichier XML2.3 Correction & notation
Transposition
Modulo 20/5=4
« Applatissement »
Correction & notation (3/3)
2. Fonctionnement du logiciel2.1 Pré-traitement de l'image2.2 Lecture du fichier XML2.3 Correction & notation
La case est-elle cochée ?Si moyenne des couleurs < 130 alors oui
Comparaison avec le corrigé Simple comparaison cochée/non cochéePuis attribution des points avec données contenues dans les balises <mark> de chaque question.
3. Cheminement du projet3.1 Pourquoi ce projet ?3.2 Etapes du développement3.3 Enrichissement
Cheminement du projet
Pourquoi ce projet ?
3. Cheminement du projet3.1 Pourquoi ce projet ?3.2 Etapes du développement3.3 Enrichissement
Plusieurs raisons :- ambitieux- permettait aborder d'autres sujets que ceux vus en cours (Qt, C++, bases du traitement d'images...)- il peut servir à l'Ecole
Etapes du développement (1/2)
3. Cheminement du projet3.1 Pourquoi ce projet ?3.2 Etapes du développement3.3 Enrichissement
Pré-traitement de l'image- partie la plus longue et la plus difficile- beaucoup d'imprécisions qui ont du être rectifiées par la suite- partie indispensable pour la suite du projet !
Correction du QCM- plus rapide que la précédente
Etapes du développement (2/2)
3. Cheminement du projet3.1 Pourquoi ce projet ?3.2 Etapes du développement3.3 Enrichissement
Découverte de Qt- difficile (C++ nouveau langage)- spécificités du ToolKit
Conception de l'interface graphique- certains points à approfondir
Phase de test- essai en classe
Enrichissement
3. Cheminement du projet3.1 Pourquoi ce projet ?3.2 Etapes du développement3.3 Enrichissement
Autonomie - C++- Qt- XML- recherche documentaire autre
Gestion d'un gros projet - plusieurs fichiers sources- MakeFile
Mais il en reste encoreChanger l'ordre des réponses, éditer ses QCM dans un traitement de textes, statistiques, ...OpenMCQ ... OpenReader ?
Beaucoup de choses ont été faitesLes bases sont posées. Les choix techniques ont été faits (et justifiés !).
Ouvrages / SitesProgrammer avec Qt de Matthias Kalle Dalheimer (O'Reilly)Débuter avec Qt 3 de Jean-Luc Biordprog.qt.free.fr
Remerciements
Nous tenons à remercier ...
M. Hubert Wassner pour son aide et ses idées détonantes ! Les élèves de 2A et 3A qui ont bien voulu répondre correctement à la série de test (Couraud Benjamin, Lecat Thibault, Eckersley Hadiren, Hillaire Stephane, Mathieu Kevin, Maffon Alida, Sorolla Aurelien, Mauras Jonathan, Guiraud Bastien, Grandry Jean-Noel, Gobin-GAllon Killian, Renevey Hugo, Vallee Igor, Garreau Vincent, Robert Teddy, Ait Ouali Linda, Lim Lara, Noirot Thibaut, Colindre Alexandre, Azzopard Adrien, Spaniol Bastien, Le Prado Geoffroy, Bouffard Fabien, Titiaux Florent, Nogmoyi Serge, Feyssaguet Marc, Younan Stephane, Garrancher Benoit, Lony Eva, Naveau Cecile, Tetard Laurent, Harivel Anthony, Set Sotha, Le Bourgeois Guillaume, Travaillou Cyril, Sordoni Alessandro, Menegoz Alexis, Lespagnol Florian, Talon Vincent, Viaris Geoffroy, De Pardieu Vianney, Vuillaume Bendit, Camaret Arthur et Berhault Ceidric)..
Sébastien Delprat pour avoir prêter son matériel informatique.
En quelques mots...
OpenMCQ est :
- Open Source et Libre ;- ouvert ;- évolutif ;- utile ;- original ;- à finir ...
Merci de votre attention.
top related