Polytechnique LOG 4315, Atelier de génie logiciel
Hiver 2005
Département
Format d'impression
 
Artéfacts
Évaluation
Énoncé
Documentation

Vision


Ce document Vision du guide d'apprentissage est l'artéfact de base pour l'élabotation du projet.

Prototype


Le prototype du guide d'apprentissage est accessible en ligne. Le code de ce prototype (19 Mo) peut être téléchargé.

Liens utiles

Il existe quelques exemples plus ou moins semblable au guide envisage pour ce type d'applications. Les liens suivants peuvent être consultés :

  • Grade summit : application commerciale pour la préparation à un examen.
  • Liens : vers deux applications pour la préparation à des examens.

Exigences du projet

Ce document fournit les informations initiales pour le projet de Guide d'apprentissage.

Le projet vise à développer une version "opérationnelle" d'une application qui a en réalité un historique et une version embryonnaire. La première section de ce document fournit un bref aperçu de l'historique et du prototype développé. Il s'agit de développer une version plus complète et robuste qui répondra à des exigences relativement spécifiques, quoique comme dans tout projet de la sorte il faut s'attendre à des changements en cours de route. Cette application devrait en principe servir aux futurs étudiants de Génie informatique de l'École dès l'automne 2005!

Historique et description générale

Nous avons entrepris, il y a quelques années, un projet visant à faciliter l'apprentissage autome et avec des sources hétérogènes et distribuées d'information.  Il s'agit d'un outil qui guide l'apprenant dans un contenu d'apprentissage semi-structuré.  L'outil utilise une technique pour estimer rapidement le niveau de connaissance de l'individu et qui lui indique les objectifs d'apprentissage qu'il estime atteint et ceux qui nécessitent encore du travail.  La figure 1 illustre un des écrans du prototype mis sur pied.  La section de gauche de la fenêtre représente une hiérarchie de sujets qui doivent être maîtrisés par l'individu.  Un marqueur indique si le sujet est bien maîtrisé ou non. Chaque sujet peut comporter des sous-sujets ainsi qu'une section ``quiz'' qui, à chaque session, administre de 5 à 10 questions pour évaluer l'état de la connaissance sur le sujet.

L'apprenant est ainsi dirigé vers les sujets qui doivent être maîtrisés et qui ne le sont pas encore.  Les sujets mieux maîtrisés sont, quant à eux, annotés selon le niveau de connaissance qu'en a l'apprenant, lui permettant ainsi d'apprécier son avancement.

Un élément clé du Guide d'apprentissage est le module d'inférence de la connaissance.  Ce module utilise un réseau bayésien afin de déterminer rapidement les items bien maîtrisés.  Le module se base sur l'ordre d'apprentissage des unités de connaissance dans un domaine donné pour effectuer ses inférences.  Par exemple, on apprend généralement l'addition de nombre avant la multiplication, puis la division.  Si un individu réussit un exercice de multiplication, il est relativement certain qu'il pourra réussir une addition.  À l'inverse, s'il échoue, il est pratiquement certain qu'il échouera un exercice division. Le réseau bayésien utilise des techniques statistiques à la fois pour induire l'ordre d'apprentissage des connaissances et pour inférer les chances de succès aux différents exercices.  L'ordre d'apprentissage est induit à partir de données d'une cinquantaine de répondants à une batterie d'exercices.


Figure 1.  Le guide d'apprentissage version 1997.

La figure 2 illustre l'architecture générale du Guide.  L'utilisateur peut effectuer un quiz de quelques questions dans un fureteur Web et il sera alors informé de son niveau de maîtrise des différents sujets à apprendre. Les documents pertinents à chaque thème d'apprentissage sont accessibles du fureteur, bien que l'utilisateur puisse aussi être dirigé vers des documents papiers en l'absence de documents électroniques.


Figure 2.  Architecture du prototype.

Le Guide ne vise toutefois pas à fournir un environnement tutoriel intégré.  Il vise plutôt à orienter l'apprenant dans un corpus de matériel d'apprentissage. 

Actuellement, le Guide utilise les spécifications IMS-QTI pour décrire le contenu de test en XML. Conformément à la pratique courante avec un contenu XML, le contenu est affiché dans un fureteur par un générateur de pages HTML basé sur un engin XSL/XSLT.

Exigences générales

Les exigences générales du projet sont décrites dans cette section.  Il ne s'agit pas de spécifications précises.  Ce travail doit être fait en cours du projet.  De plus, les exigences peuvent évoluer au long du projet selon les échanges avec le "client" et la validation qu'il en fera.

Contexte d'utilisation

Il existe trois contextes d'utilisation envisagés pour l'application, à savoir :

  • La préparation à un examen
  • Une étude personnelle pour se préparer à un cours
  • Une évaluation initiale par le professeur du niveau de son groupe

Ces trois contextes sont décrits ici sous la forme de scénarios.  Idéalement, la même application devrait être en mesure de servir pour les trois contextes d'utilisation de base.  Cependant, il est possible que, pour des raisons d'exigences, de charge de travail et d'échéancier, l'équipe décide de se concentrer sur un scénario plus spécifique pour la version actuelle.  Ceci devra se décider en accord avec le client.

Préparation à un examen

Le professeur a identifié les sujets de son examen du cours de base en programmation (qui est basé sur le C++) : les structures de contrôle, les fonctions et les modes de transmissions de paramètres, les pointeurs.  Il spécifie ces sujets avec l'interface d'administration du Guide pour créer un module de préparation au Guide spécifique à l'examen qu'il a préparé. 

Notre étudiant, Jacques est avisé que le module de préparation à l'examen est maintenant disponible. Il se précipite sur le site pour effectuer un quiz et vérifier comment il se situe par rapport aux résultats moyens de l'année précédente.  Ce premier quiz est plutôt moche.  Il se débrouille assez bien pour ce qui est des structures de contrôle, mais il est bien en deça pour les deux autres sujets de préparation.

Jacques consulte les liens et chapitres recommandés par le Guide pour ces deux sujets et se met à la tâche.  Trois heures plus tard, il fait un nouvel essai avec le module de quiz. Le progrès est notable car il se situe maintenant au delà de la moyenne pour les deux premiers sujets, mais il ne l'a pas encore dépassée pour le sujet "pointeurs".  La nuit est déjà avancée, il reprendra l'étude demain.

Le lendemain, après avoir consulté tout le matériel du cours comme celui disponible sur le site, Jacques tente maintenant sa chance pour un test final.  Celui-ci est plus complet et comporte une limite de temps qu'un quiz n'a pas, mais il ne peut faire qu'un seul test par préparation d'examen.  Après le test, le verdict est donné, il aurait eu un B+ selon les résultats comparatifs du test basé sur les deux dernières années.

Études préalables à un cours (propédeutique)

Le cours de conception et analyse d'interface nécessite une maîtrise minimale du langage Java car les TP doivent utiliser Java et Swing pour la réalisation d'une interface.  Notre étudiant, Jacques, a bien eu un cours d'algorithmes avec Java il y a deux ans, mais il n'a pas utilisé ce langage par la suite.  Il voudrait prendre le cours mais comme il a une grande charge de travail au trimestre prochain il ne voudrait pas s'imposer un apprentissage supplémentaire trop important.

Jacques utilise donc le Guide pour vérifier où il se situe par rapport aux étudiants qui se sont inscrits au cours l'an passé.  Le quiz dure une vingtaine de minutes.  Le Guide lui indique que sa maîtrise de Java se situe dans le dernier quartile du groupe de l'année dernière au moment du début du cours.  Par contre, il possède déjà une très bonne maîtrise du volet ergonomique et conception centrée-utilisateur puisque son résultat indique qu'il aurait eu un score dans la moyenne à l'examen final.

Jacques décide donc de s'inscrire mais il utilisera le Guide pour mettre sa connaissance de Java à niveau.  Les pointeurs vers le matériel pédagogique pertinent lui servira de guide d'étude et les quiz lui indiqueront comment il se compare par rapport à sa maîtrise de Java.

Évaluation initiale du niveau d'un groupe

Comme à chaque année, Jean-Marc donne le cours de simulation aux études graduées.  Comme à chaque année, il s'attend à avoir un groupe hétérogène.  Il existe de grande disparités dans la maîtrise individuelle de chacun des préalables et des notions clés pour ce cours, notamment la maîtrise des notions de programmation, de statistiques et probabilité, et des notions de méthodes expérimentales.  Il utilise donc le Guide pour établir un portrait de son groupe dès le premier cours.  Ce portrait lui permet d'identifier les individus qui se démarquent par des lacunes importantes et ainsi de leur recommander un plan d'étude personnel, ou encore des lacunes partagées par une partie importante du groupe et qu'il devra aborder dans le plan de cours.

Liste des exigences

Cette liste d'exigences est inspirée et adaptée d'une application existante qui est parmi les plus avancées pour le domaine : Exam Web.

Conformément à la pratique, il faudra que chaque équipe priorise les exigences et établisse un plan de réalisation.  Toutes les exigences ne doivent pas nécessairement être réalisées.  La liste et le plan des exigences à réaliser doit se négocier avec le client.

L'expérience étudiante

1. Mode test
Le mode test permet une évaluation relativement fiable d'un cours ou d'un examen global. Bien qu'on puisse envisager pouvoir avoir plusieurs tests pour un même contenu, la version actuelle ne permettra qu'un seul test par cours ou examen.  Une évaluation est fournie après le test et les résultats sont stockés au dossier de l'étudiant et du cours. L'évaluation doit comporter un volet global est par sujet.
2. Mode quiz
Le quiz est plus court que le test et traite d'un sujet spécifique, ou d'un ensemble de sujets.  L'étudiant peut choisir les sujets pour lesquels il veut un quiz et la longueur du quiz peut dépendre du nombre de sujets. L'étudiant peut aussi définir lui-même un nombre de questions désiré par sujet (dans des limites prédéfinies).  Une note est fournie pour le quiz et décomposée par sujet.
3. Questions ratées
Le système garde la trace des questions ratées par l'étudiant et un quiz peut ne porter que sur les questions ratées.
4. Regroupement par sujets
L'affichage des tests comme des quiz peut être groupés par sujets.
5. Niveaux de difficulté
L'utilisateur peut choisir le niveau de difficulté des questions par sujet.
6. Explications
En mode de quiz, l'utilisateur peut avoir accès à l'explication de la réponse à une question (une fois y avoir répondu).
7. Questions en suspens
Tout comme lors d'un examen, l'étudiant peut annoter une question pour la mettre en suspens et y revenir plus tard.
8. Chronomètre
Un chronomètre doit indiquer à l'étudiant le temps passé par question et depuis le début d'un test ou d'un quiz.
9. Notes et babillard
Les étudiants peuvent adresser une question en privé à l'instructeur ou qui sera disponible aux autres étudiants.
10. Test adaptatif
Un test adaptatif implique que chaque question est adaptée au niveau d'habileté estimé de l'étudiant au long d'un test et entre les test ou les quiz.  Il en résulte que les questions trop faciles ou trop difficiles ne sont pas présentées à l'étudiant et que l'évaluation de son habileté est estimé rapidement et avec une mince marge d'erreur.
11. Comparaison
La possibilité de comparer son score à différents groupes et pour différents sujets est très importante.  Il peut s'agir du groupe dans lequel l'étudiant est inscrit, ou d'un autre groupe comme les débutants au dernier trimestre ou les finissants, etc.  La comparaison peut se faire sur la base des moyennes du percentile.
12. Compte utilisateur
Évidemment, chaque étudiant doit avoir son propre compte protégé par un mot de passe.
13. Inscription à plusieurs modules
L'étudiant doit avoir accès à tous ses cours/modules à partir d'un seul compte.
14. Compte demonstrateur
Pour les fins de démonstration et de publicité, un compte démo doit pouvoir être accessible en tout temps.
15. Types de questions
Les questions peuvent être à choix multiple, à choix non exclusif, ou des réponses semi-structurées qu'un automate peut reconnaître (ex. nombre, mots-clés)
16. Liens au matériel de référence
Chaque question doit avoir un lien vers du matériel pédagogique pertinent.  De même, un sujet regroupant plusieurs questions doit offrir ces liens.  Les liens peuvent toutefois ne pas être électronique mais simplement référer à une section de livre.
17. Délais
L'accès à certain quiz/tests peut être restreint par des plages de temps, aussi bien pour déterminer un délai minimal pour le rendre accessible qu'un temps maximal.
18. Sauvegarde des résultats
Les résultats doivent être automatiquement sauvegardés après chaque réponse pour éviter que l'étudiant perde ses données advenant une panne, par exemple. 
19. Regroupement de questions autour d'un préambule
Certaines questions réfèrent à un même texte ou à un contexte commun.  Les questions qui se rattachent à un contexte commun doivent être administrées ensemble séquentiellement.

L'expérience professorale

20. Assignation de TP
On peut assigner un quiz ou un test comme TP à un groupe d'étudiants.  Ce travail peut avoir une date de disponibilité et de tombé déterminé.
21. Comparaison de classe/étudiant
On doit pouvoir comparer deux groupes ou afficher la distribution des étudiants d'un groupe. 
22. Affichage des forces et faiblesses d'un étudiant
Il doit aussi pouvoir afficher les résultats individuels de façon à voir les forces et faiblesses en fonction des sujets à étudier.
23. Affichage d'un examen individuel
On doit pouvoir affichier les réponses individuelles à un examen ou à un quiz et facilement juger des erreurs et bonnes réponses.
24. Archivage
Un test ou un quiz doit pouvoir être archivé dans une base de tests globale.  Les tests doivent aussi pouvoir être associés à des sujets et à des cours.  On doit pouvoir archiver tous les tests et résultats d'un cours globalement.
25. Affichage d'un cours
Le professeur doit pouvoir avoir une perspective étudiant et visionner et répondre à des tests/quiz comme le ferait un étudiant, sans toutefois corrompre les données avec ses propres réponses.
26. Exportation de scores
Les résultats aux tests/quiz de même que le texte des questions doit pouvoir être exporté en un format donné (le format exact sera à déterminer).

Administration

27. Rapports
Un ensemble de rapports de base doit être fournis.  On peut notamment penser aux résultats globaux par cours, par test/quiz, par groupe, etc.  Ces résultats devraient normalement être sous forme relationnelle afin de pouvoir facilement faire les recoupements désirés avec des tableurs.
28. Dossiers étudiants
On doit pouvoir créer facilement un ensemble de comptes étudiants, y compris les mots de passe, à partir d'un fichier de données et, inversement, exporter de telles données pour les échanger.
29. Niveaux de permissions
Au minimum, trois niveaux de permissions doivent être créés : étudiant, professeur et administrateur.  On doit pouvoir ajuster les permissions de ces groupes par un fichier de configuration et ajouter ou retrancher individuellement des permissions par compte et par répertoire.  Une organisation hiérarchique de l'information devrait faciliter la gestion des permissions.  L'organisation logique de ces rôles et permissions n'est pas encore défini et une proposition doit être faite au client.
30. Création et édition de tests
Les tests seront fournis en format XML conforme à une norme donnée (ex. IMS). La création et l'édition se fera par un logiciel externe, mais le système doit faciliter la création et la mise à jour de ces données.  La structure de stockage devra permettre d'utiliser un système de gestion des configurations comme CVS. 
31. Statistiques de questions
Des statistiques sur les questions doivent être stockées automatiquement et récupérées en format relationnel. 
32. Statistiques courantes en tests et évaluation
Des statistiques comme la fréquence, la moyenne, la distribution des succès selon le temps et les répondants, la discrimination, devront être calculées et disponibles. 

Divers

33. Suivi du progrès
Les résultats aux quiz doivent pouvoir être comparé d'une fois à l'autre afin de juger de la progression. 
34. Solution pour chaque question
Une solution doit être disponible après que chaque question soit répondue. 

Dernière mise à jour: 18 January 2005, 16h27