65
1 REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE Université Larbi Ben M’hidi d’Oum El Bouaghi Faculté des sciences exactes et des sciences de la nature et de la vie Département Informatique &Mathématique MÉMOIRE Pour l’obtention du diplôme de Master en Informatique OPTION : SYSTÈMES DISTRIBUÉS Réalisé par : Chaoua Zakaria Sous la direction de : Dr.Mokhati Farid Boussaha Karima

Un outil d'auto-évaluation de l'apprenant de la

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Un outil d'auto-évaluation de l'apprenant de la

1

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE

MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA

RECHERCHE SCIENTIFIQUE

Université Larbi Ben M’hidi d’Oum El Bouaghi

Faculté des sciences exactes et des sciences de la nature et de la vie Département Informatique &Mathématique

MÉMOIRE Pour l’obtention du diplôme de Master en Informatique

OPTION : SYSTÈMES DISTRIBUÉS

Réalisé par : Chaoua Zakaria

Sous la direction de : Dr.Mokhati Farid

Boussaha Karima

Page 2: Un outil d'auto-évaluation de l'apprenant de la

2

Résumé

Notre travail se place dans le cadre des recherches menées sur les Environnements

Informatiques pour l’Apprentissage Humain (EIAH) et plus spécialement dans le TéléTPs. Il

s’agit de développer un outil permettant d’auto-évaluer les apprenant de la programmation

orientée objet tout en se basant sur la notation UML.

L’outil développé implémente une nouvelle technique d’auto-évaluation de

l’apprenant dans l’activité d’apprentissage des TéléTPs basée sur les algorithmes

d’appariement. Le but du travail étant l’identification des similarités et des différences entre

les diagrammes produits par l’apprenant et ceux de référence décrivant une interprétation

correcte du programme de l’expert. Cet outil permet de générer, dans un premier temps, des

diagrammes de classes et de communication à partir de programme C++ (apprenant et/ou

expert). Dans un second temps, l’outil permet de comparer les productions de l’apprenant et

celles l’expert en utilisant des algorithmes d’appariement.

Mots clé : Auto évaluation ,appariement ,UML ,programmation c++,type évaluations

Table des matières 1 Introduction : ................................................................................................................................... 8

1.1 Cadre et motivations ............................................................................................................... 8

1.2 Organisation de mémoire : ...................................................................................................... 9

2 Chapitre I : la modélisation orientée Objets avec UML ................................................................ 10

2.1 Introduction : ......................................................................................................................... 10

2.2 Définition et Historique d’UML : ........................................................................................... 10

2.3 Présentation générale des diagrammes d’UML : .................................................................. 11

2.3.1 Vues statiques (structurelles) :(1) ................................................................................. 12

2.3.2 Vues dynamiques : ........................................................................................................ 12

2.4 Le diagramme des classes : ................................................................................................... 13

2.4.1 Les Classes : ................................................................................................................... 13

2.4.2 Les relations : ................................................................................................................. 15

2.5 Le diagramme de communication : ....................................................................................... 15

Page 3: Un outil d'auto-évaluation de l'apprenant de la

3

2.6 Implémentation d’un modèle objet en C++ : ........................................................................ 16

2.6.1 Diagramme de class : ..................................................................................................... 17

2.6.2 Diagramme de collaboration : ....................................................................................... 18

2.7 Conclusion : ........................................................................................................................... 19

3 Chapitre II : Appariement des graphes .......................................................................................... 20

3.1 Introduction : ......................................................................................................................... 20

3.2 Généralités sur les graphes ................................................................................................... 20

3.2.1 Définition des graphes : ................................................................................................ 20

3.2.2 Graphe orienté : ............................................................................................................ 21

3.2.3 Graphes orienté étiqueté : ............................................................................................ 21

3.3 Le problème d’appariement des graphes : ........................................................................... 23

3.3.1 Définition de l’appariement : ........................................................................................ 23

3.3.2 Types d’appariements : ................................................................................................. 23

3.3.3 Appariement des graphes: ............................................................................................ 23

3.3.4 L’appariement des graphes Etiqueté: ........................................................................... 24

3.3.5 Classification des appariements des graphes : .............................................................. 25

3.4 Mesure de similarité entre les graphes : ............................................................................. 26

3.4.1 Pour quoi mesurer la similarité de deux graphes : ........................................................ 26

3.4.2 Mesurer la similarité des graphes étiquetés : .............................................................. 26

3.5 Conclusion : ........................................................................................................................... 32

4 Chapitre III : L’Évaluation dans le processus d’apprentissage en ligne ......................................... 34

4.1 Introduction : ......................................................................................................................... 34

4.2 Historique : ............................................................................................................................ 34

4.3 Définition : ............................................................................................................................. 35

4.3.1 Pourquoi faire une évaluation ? .................................................................................... 35

4.3.2 Différence entre Examen, Contrôle et évaluation : ...................................................... 35

4.4 Les différents types d’évaluation : ........................................................................................ 35

4.4.1 L’évaluation pronostique : ............................................................................................. 36

4.4.2 L’évaluation formative :................................................................................................. 36

4.4.3 L’évaluation sommative : .............................................................................................. 37

4.4.4 L’évaluation diagnostique : ........................................................................................... 37

4.5 Les critères d’évaluations : .................................................................................................... 37

4.5.1 Critères quantitatifs : ..................................................................................................... 38

4.5.2 Critères qualitatifs : ....................................................................................................... 38

Page 4: Un outil d'auto-évaluation de l'apprenant de la

4

4.6 Les différentes méthodes d’évaluation : ............................................................................... 39

4.6.1 Evaluation critériée ........................................................................................................ 39

4.6.2 Evaluation normative..................................................................................................... 39

4.7 Les outils de l’évaluation : .................................................................................................... 39

4.7.1 Questions fermées ........................................................................................................ 39

4.7.2 Questions ouvertes......................................................................................................... 40

4.8 L’évaluation des apprenants dans les Environnements Informatique pour l’apprentissage

humain (EIAH) : .................................................................................................................................. 40

4.8.1 Définition de l’EIAH : ..................................................................................................... 40

4.8.2 Rôle et portée de l’évaluation en EIAH : ....................................................................... 41

4.8.3 Quelles sont ces évaluations ? ....................................................................................... 41

4.8.4 Les travaux pratiques à distance (TéléTPs) :................................................................. 43

4.9 Conclusion : ........................................................................................................................... 44

5 ChapitreVI ...................................................................................................................................... 45

5.1 Introduction ........................................................................................................................... 45

5.2 La plateforme développée .................................................................................................... 45

5.2.1 Pour l'apprenant ............................................................................................................ 46

5.2.2 Pour l’enseignant concepteur de travaux pratiques à distance ................................... 47

5.2.3 Pour les tuteurs ............................................................................................................. 47

5.3 L’approche d’évaluation proposée ....................................................................................... 47

5.3.1 Processus de l’évaluation .............................................................................................. 47

5.3.2 Les apparieurs hybrides et composites ......................................................................... 48

5.4 Présentation de l’outil développé ......................................................................................... 49

5.4.1 Principe de fonctionnement de l’outil ........................................................................... 50

5.5 Conclusion ............................................................................................................................. 60

6 Conclusion : ................................................................................................................................... 61

7 Bibliographie .................................................................................................................................. 62

Page 5: Un outil d'auto-évaluation de l'apprenant de la

5

Page 6: Un outil d'auto-évaluation de l'apprenant de la

6

Table des figures Figure ‎2.1 : Historique d'UML. [1] ......................................................................................................... 11

Figure ‎2.2 : Les diagrammes d’UML ...................................................................................................... 12

Figure ‎2.3 : exemple d’une class ........................................................................................................... 14

Figure ‎2.4 : exemple des relations entre les classes ............................................................................. 15

Figure ‎2.5 : Exemple de diagramme de collaboration .......................................................................... 16

Figure ‎2.6 : implémenter une classe en C++ ......................................................................................... 17

Figure ‎2.7 : Implémentation de l'héritage en C++ ................................................................................. 17

Figure ‎2.8 : Implémentation de l’agrégation en C++ ............................................................................. 17

Figure ‎2.9 : Implémentation de la composition en C++ ........................................................................ 18

Figure ‎2.10 : implémenter un diagramme de collaboration en c++ ...................................................... 18

Figure ‎3.1 :‎Exemple‎d’un‎Graphe ................................................................................................... 21

Figure ‎3.2 : Exemple d’un graphe orienté ............................................................................................. 21

Figure ‎3.3 : représentation d'un objet par un graphe étiqueté ............................................................ 22

Figure ‎3.4:Exemple de deux graphes apparie ....................................................................................... 25

Figure ‎3.5 :algorithme glouton [7] ........................................................................................................ 32

Figure ‎5.1:Architecture de la plateforme E-TéLéTP@AALP[36] ............................................................ 46

Figure ‎5.2 : Méthodologie de l’approche proposée *37+ ...................................................................... 49

Figure ‎5.3 : Le générateur de diagramme UML développé ................................................................... 50

Figure ‎5.4: Diagramme de class de l'apprennant .................................................................................. 51

Figure ‎5.5:Diagramme de class de l'expert ........................................................................................... 51

Figure ‎5.6 : diagramme de communication de l'expert et de l'apprenant ........................................... 52

Figure ‎5.7:l’ensemble des sommets et des arcs étiquetés de diagramme de classes apprenant ....... 54

Figure ‎5.8 :l’ensemble des sommets et des arcs étiquetés de diagramme de classes expert ............. 54

Figure ‎5.9:l’appariement m .................................................................................................................. 54

Figure ‎5.10 :l’ensemble des caractéristiques communes de diagrammes de classes ......................... 55

Figure ‎5.11:l’ensemble de toutes les caractéristiques de diagramme de classes ................................ 55

Figure ‎5.12:similarité par rapport l’appariement m entre diagrammes de classes (apprenant, expert)

............................................................................................................................................................... 56

Figure ‎5.13:similarité par rapport aux contraintes entre ...................................................................... 56

Figure ‎5.14:similarité globale par rapport un appariement m et par rapport aux contraintes entre

diagrammes de classes .......................................................................................................................... 57

Figure ‎5.15:l’ensemble des sommets et des arcs étiquetés de diagramme de communication

apprenant .............................................................................................................................................. 57

Figure ‎5.16:l’ensemble des sommets et des arcs étiquetés de diagramme de communication expert

............................................................................................................................................................... 57

Figure ‎5.17:l’appariement m’ ................................................................................................................ 57

Figure ‎5.18:l’ensemble des caractéristiques communes de diagrammes de communication. ........... 58

Figure ‎5.19:L’ensemble de toutes les caractéristiques de diagrammes de communication ................ 58

Figure ‎5.20 : similarité par rapport l’appariement m’entre diagrammes de communication

(apprenant, expert) ............................................................................................................................... 59

Figure ‎5.21:Calcul de similarité globale entre diagrammes de classe et de communication

(apprenant, expert) ............................................................................................................................... 59

Page 7: Un outil d'auto-évaluation de l'apprenant de la

7

Page 8: Un outil d'auto-évaluation de l'apprenant de la

8

1 Introduction :

1.1 Cadre et motivations

A cause de développement technologique, les Technologies de l’Information et de la

Communication (TIC) ont pu intégrer différents domaines. L’éducation et la formation n’ont

pas échappé à cette avancée, avec l’émergence du nouveau secteur de

l’enseignement/formation à distance. Ce domaine profite dans une large mesure des progrès

en cours spécialement l’utilisation de l’Internet comme moyen de communication à distance.

Depuis plusieurs années, les professionnels de l’informatique et des sciences de l’éducation se

sont beaucoup intéressés à ce secteur par la création d’outils et de logiciels pour

l’apprentissage à distance.

Nous nous intéressons dans ce mémoire à l’auto-évaluation de l’apprenant de la

programmation orientée objet en C++ dans le cadre de TéLéTps. La problématique s’avère

intéressante du fait que jusqu’à date la plupart des travaux réalisés dans la littérature se sont

intéressé seulement par l’évaluation dans les TDs et cours. Néanmoins, certains chercheurs

commencent à explorer cette piste et la principale question qui se posent est : comment

modéliser la réponse de l’apprenant pour évaluer l’apprenant en l’absence de résolveur

pédagogique?

L’EIAH (Environnements Informatiques pour l’Apprentissage Humain) n’on pas

encore un niveau de maturité élevé pour la réalisation de la mise en ligne des travaux

pratiques (ou télé-TPs), qui sont caractérisés par la complexité de mise en œuvre des

expériences et d’évaluation de l’apprenant.

Avec l’avènement des méthodes utilisées en génie logiciel et du langage UML, la

modélisation orientée objet prend une place importante dans le cadre de développement

logiciel. La MOO (Modélisation Orientée Objet) est aussi enseignée dans la majorité des

secteurs universitaires en informatique. La modélisation est un processus ouvert, pour laquelle

il n’existe pas de formule générale de résolution. Elle requiert la maîtrise des concepts

orientés objet. Dans le cadre de nos travaux, nous intéressons plus spécialement à l’une des

activités essentielles intervenant dans l’enseignement de la modélisation orientée objet : la

génération à partir d’un programme OO en C++ un diagramme de classes UML pour décrire

Page 9: Un outil d'auto-évaluation de l'apprenant de la

9

les aspects statique et de diagrammes de communication pour les aspects dynamiques du

programme.

L’objectif principal de ce projet est de développer un outil d’auto-évaluation de

l’apprenant de programmation orientée objet en C++. Cet outil supporte une nouvelle

technique que nous avions proposée pour l’auto-évaluation de l’apprenant de la POO. Cette

technique est basée sur les techniques d’appariement de graphes qui permettent de comparer

les différents diagrammes générés à partir de programme de l’apprenant à ceux supposés

corrects qui sont générés à partir du programme de l’expert.

1.2 Organisation de mémoire : Ce mémoire est organisé en quatre chapitres :

Le premier chapitre présente en général, la notation UML tout en mettant l’accent sur

les digrammes de classes et de communication.

Le second chapitre présente un état de l’art sur l’appariement de graphes et une mesure

de similarité entre les graphes. Nous présentons premièrement l’introduction des graphes

orientés étiquetés et l’appariement entre les graphes de ce type.

Le troisième chapitre expose les différents types et outils pour l’évaluation de

l’apprenant. Ensuite nous présentons les environnements d’apprentissage en ligne et comment

évaluer l’apprenant dans ces environnements.

Le dernier chapitre est consacré à la présentation de la technique d’auto-évaluation que

nous proposons ainsi qu’à l’outil la supportant.

Nous concluons ce mémoire par une conclusion générale et quelques perspectives.

Page 10: Un outil d'auto-évaluation de l'apprenant de la

10

2 Chapitre I : la modélisation orientée Objets avec UML

2.1 Introduction :

L’objectif de ce chapitre est de présenter, en générale, le langage UML pour la

modélisation oriente objet et comment passer de la modélisation vers la réalisation en

langage de programmation O.O. Nous présentons, premièrement, un petit historique avec une

généralité sur le langage UML. Nous présentons ensuite une vue générale sur les 13

diagrammes d’UML puis une description détaillée pour le diagramme de classe et le

diagramme de collaboration (communication). Nous terminerons le chapitre par montrer

comment implémenter les éléments essentiels d’un diagramme de classe, et comment traduire

les messages de diagramme de communication en C++.

2.2 Définition et Historique d’UML :

UML (Unified Modeling Language) est un langage de modélisation graphique à base de

pictogrammes. Il est apparu dans le monde du génie logiciel, dans le cadre de la « conception

orientée objet » [1].

En 1994 il existait plus de 50 méthodologies orientées objet et chaque méthode possédait

sa propre notation, ses points forts et ses manques, et son orientation favorisée vers un

domaine d’application. La recherche d’un langage commun unique Utilisable par toutes les

méthodes, Adapté à toutes les phases du développement et Compatible avec toutes les

techniques de réalisation est la cause de la fusion de 3 méthode (Booch, OMT, OOSE).

Octobre 1995, Grady Booch et James Rumbaugh présentent la version 0.8 de leur

méthode unifiée (Unified Method 0.8). Ils sont rejoints la même année par Ivar Jacobson. Les

trois auteurs amélioraient la méthode unifiée et proposaient en 1996 la version 0.9 du langage

UML.

En 1997 l’OMG (Object Management Groupe) faisait une modification à la version 1.0

d’UML et proposait la version UML 1.1, qui devient un standard [2] .

Page 11: Un outil d'auto-évaluation de l'apprenant de la

11

Figure ‎2.1 : Historique d'UML. [1]

2.3 Présentation générale des diagrammes d’UML :

UML permet de construire plusieurs modèles d’un système : certains montrent le système

du point de vue des utilisateurs, d’autres montrent sa structure interne, d’autres encore en

donnent une vision globale ou détaillée [2], et chaque modèle peut être défini et visualisé à

l'aide de diagrammes.

Un diagramme UML est une représentation graphique, qui s'intéresse à un aspect précis

d’un modèle. Chaque type de diagramme UML possède une structure (les types des éléments

de modélisation qui le composent sont prédéfinis) [3].

Une caractéristique importante des diagrammes UML, est qu'ils supportent l'abstraction.

Cela permet de mieux contrôler la complexité dans l'expression et l'élaboration des solutions

objet.

Les diagrammes UML offrent une vue complète des aspects statiques et dynamiques d'un

système :

Page 12: Un outil d'auto-évaluation de l'apprenant de la

12

Figure ‎2.2 : Les diagrammes d’UML

2.3.1 Vues statiques (structurelles) :(1)

Une vue statique permet de représenter la structure du modèle sans tenir compte de

l’évolution au cours du temps :

diagramme d'objets : représente les objets et les liens entre eux.

diagramme de classes : est un ensemble d'éléments statiques qui montre la structure

d'un modèle (les classes, leur type, leur contenu et leurs relations).

diagramme de composants : montre les éléments logiciels (exécutables, librairies,

fichiers qui constituent le système) et leurs dépendances.

diagramme de déploiement : permet de représenter l’environnement d’exécution

ainsi que les ressources physiques.

Diagramme des paquetages : permet de représenter la hiérarchie des paquetages du

projet, leur organisation et leurs interdépendances, simplifie les diagrammes (donc

plus simple à comprendre) [4].

Diagramme de structures composites : permet de décrire la structure interne d'un

objet complexe lors de son exécution (c'est à dire, décrire l'exécution du programme),

dont ses points d'interaction avec le reste du système [4] .

2.3.2 Vues dynamiques :

Une vue dynamique représente au contraire les changements qui participent au cours du

temps :

Page 13: Un outil d'auto-évaluation de l'apprenant de la

13

diagramme de cas d'utilisation : représente les relations entre les acteurs et les

fonctionnalités du système. Les cas d'utilisation présentent une vue externe de la façon

d'utiliser un système.

diagrammes de communication : représente les messages échangés entre les objets.

Il insiste plus particulièrement sur la notion organisationnelle.

diagrammes de séquence : représente les messages échangés entre les objets. Il

donne une notion temporelle aux messages.

diagrammes d'états-transitions : décrit le cycle de vie des objets formalisés dans une

classe.

diagramme global d'interaction : variante du diagramme d'activité où les nœuds

sont des interactions, permet d'associer les notations du diagramme de séquence à

celle du diagramme d'activité, ce qui permet de décrire une méthode complexe [4].

diagrammes d'activités : modélise les actions effectuées sur le système.

diagramme de temps : permet la représentation des interactions où l'aspect temporel

est mis en valeur, il permet de modéliser les contraintes d'interaction entre plusieurs

objets, comme le changement d'état en réponse à un évènement extérieur [4].

Parce que notre travail est basé sur deux types de diagrammes : diagramme de classe et

diagramme de communication, nous allons dans ce qui suit se limiter à détailler seulement ces

deux diagrammes.

2.4 Le diagramme des classes : Le diagramme de classes exprime de manière générale la structure statique d’un système,

en termes de classes et de relations entre ces classes [5] .

2.4.1 Les Classes :

Une classe est une description abstraite d’un ensemble d’objets du domaine de

l’application, il est représenté en utilisant un rectangle divisé en trois sections. La section

supérieure est le nom de la classe. La section centrale définit les propriétés de la classe. La

section du bas énumère les méthodes de la classe.

Le nom de class est exprimé ce que la classe est, et non ce qu’elle fait, Il commence

par une majuscule. Quand le nom est composé, chaque mot commence par une

majuscule et les espaces blancs sont éliminés, La forme générale est :

[<NomDuPackage1> ::…:<NomDuPaquetage N>:] <NomDeLaClasse> [{[abstract],[auteur],[état],…}]

Page 14: Un outil d'auto-évaluation de l'apprenant de la

14

Les modificateurs d’accès: l’encapsulation permet de gérer les droits d'accès à une

méthode ou à une donnée membre. On utilise assez souvent (comme en C++ ou en

Java par exemple) les mots-clés public, private ou protected pour gérer ces droits

d'accès. Les membres publics sont les membres accessibles de l'extérieur d’objet,

membres protégés sont accessibles de l’extérieur seulement par les class filles, les

membres privés sont accessibles de l’extérieure seulement par les class friend, en

language UML sont notés comme suit : + dénote membre public, - pour les membres

privé, # pour les membres protégé.

Les attributs définissent les informations qu’une classe ou un objet doivent connaître.

Ils représentent les données encapsulées dans les objets de cette classe, La syntaxe de

la déclaration d’un attribut est la suivante:

<Modificateur d’accès> <NomAttribut> : <Type> [’multiplicité’] [= valeur(s) initiale(s)]

Les méthodes En programmation orientée objet, la méthode est une fonction faisant

partie de l'interface d'un objet,

o le(s) constructeur(s) appelé(s) à la création de l'objet.

o le destructeur appelé à la suppression de l’objet.

o les méthodes abstraites qui sont des méthodes sans code, leur existence dans

une classe suffit à déclarer qu'une classe est abstraite.

o Les accesseurs (Get) permettent de récupérer la valeur de données membres

privées sans y accéder directement de l'extérieur.

o les manipulateurs (Set) permettent de changer l'état de données membres en

vérifiant si la valeur que l'on veut donner à la donnée membre respecte les

normes de celle-ci [6] .

La syntaxe d’une méthode sous diagramme de class est la suivante:

<modificateur d’accès><nomDeLaMéthode ([paramètres])> : [<valeurRenvoyée>][{propriété}]

Une Class

- attribut_privé : Integer

#attribut_protégé : String

-Methodeprive () : void

+Methodepublic () : Integer

Figure 2.3 : exemple d’une class

Page 15: Un outil d'auto-évaluation de l'apprenant de la

15

2.4.2 Les relations :

Les relations entre classes expriment les liens sémantiques ou structurels. Les relations les

plus utilisées sont l’association, l’agrégation, la composition, la dépendance et l’héritage.

Dans la plupart des cas, ces relations sont binaires (elles relient deux classes uniquement) [2].

Association : une association est une relation générique entre deux classes. Elle est

modélisée par une ligne reliant les deux classes. Cette ligne peut être qualifiée avec le

type de relation, et peut également comporter des règles de multiplicité (par exemple

un à un, un à plusieurs, plusieurs à plusieurs) pour la relation.

Le nom d’association

Agrégation : est une forme particulière d’association indiquant une relation de

contenant contenu (inclusion), Elle est décrite par une relation "possède". Une relation

d'agrégation est représentée comme suit :

Composition : est une forme particulière d’agrégation indiquant qu’une classe ne peut

pas exister par elle-même, mais doit être un membre d'une autre classe.

Dépendance : Elle indique que la modification de la cible implique le changement de

la source. Quand une classe utilise une autre classe, comme membre ou comme

paramètre d'une de ces fonctions, elle "dépend" ainsi de cette classe. Relation de

dépendance est représentée par :

.

Généralisation c’est la relation d’héritage en terme d’oriente objet, il est noté par :

1

2.5 Le diagramme de communication :

Un diagramme de communication est l’un des diagrammes d’interaction UML utilisé

pour montrer les interactions entre les objets à travers la représentation chronologique

C2 C1

Figure 2.4 : exemple des relations entre les classes

Chaise Salle Porte

Page 16: Un outil d'auto-évaluation de l'apprenant de la

16

d’envois de messages. La chronologie des interactions est présentée par la numérotation de

messages pour indiquer leur ordre d’envoi.

Il y’a trois composantes principales dans le diagramme de communication:

les objets instances des classes, représentent une des entités impliquées dans les

communications. La représentation graphique pour un objet est comme suit :

Acteur (les utilisateurs, les périphériques, etc.), est présenté par le symbole Stikman.

Les Messages : Un message entre objets est représenté par une flèche indiquant le

sens de son déplacement, de l’objet émetteur à l’objet récepteur, La syntaxe complète

des messages est :

[<Numéro_séquence>] [<Expression>] : <message>

Tel que l’expression peut être : * [<clause d’itération>] (indique une répétition d’envoi

de message), ou [<Clause de condition>] représente une condition booléenne. Par exemple :

[Heure = midi] 1 : manger () indique que ce message « manger () » n'est envoyé

que s'il est midi.

*[i :=1..4] 1 : manger () indique que ce message et envoyé 4 fois.

Figure ‎2.5 : Exemple de diagramme de collaboration

2.6 Implémentation d’un modèle objet en C++ :

Class : Objet

Page 17: Un outil d'auto-évaluation de l'apprenant de la

17

2.6.1 Diagramme de class :

2.6.1.1 Class :

2.6.1.2 Héritage :

2.6.1.3 Agrégation :

1

1

0..*

1

class C { } ;

class A {

C objet1;

} ;

class C {

C*suiv;

} ;

class A {

C *objet1;

} ;

De 1 vers 1

De 1 vers n

A

C

A

C

Figure 2.8 : Implémentation de l’agrégation en C++

Class Chambre {

private :

int prix ;

protected :

int étage ;

Public :

void reserve (String nom) {} ;

Bool estvide () { } ;

} ;

Chambre

#étage : Integer -prix : Integer

+reserve (String nom): void

+estvide (): Boolean

Figure 2.6 : implémenter une classe en C++

A

A

B

C B

class B : public A {

} ;

class C : public B, public A {

} ;

Héritage simple

Héritage multiple

Figure 2.7 : Implémentation de l'héritage en C++

Page 18: Un outil d'auto-évaluation de l'apprenant de la

18

: Objet 1 : Objet 2 : Objet3

: Objet1

2.6.1.4 Composition :

2.6.2 Diagramme de collaboration :

L’exemple suivant montrer l’implémentation d’un diagramme de collaboration en C++ :

1 :message1 () 2 :message2 () 3 *[i :=1..5] :message3 ()

4 [x>1] : message 4

Figure 2.10 : implémenter un diagramme de collaboration en c++

class A {

private:

class C { };

C objet1;

} ;

A

C

Figure 2.9 : Implémentation de la composition en C++

Class A { Void message3 (){ cout>>”hallow”;} } ; Class B { A objet3; void message2 (){ for (int i=1;i<=5;i++){ objet3.message3(); } } }; Class C { B objet2; void message1 (){ objet2.message2 () ; } Void message4 (){ cout>>”good by”; } }; void main () { C objet1; Objet1 .message1 (); Int x; cin>>x; if (x>1){ objet1.message4 (); } }

Page 19: Un outil d'auto-évaluation de l'apprenant de la

19

2.7 Conclusion : Dans ce chapitre, nous avons présenté un aperçu sur le langage UML tout en mettant

l’accent sur les deux diagrammes : de classe et de communication, et comment passer de la

modélisation vers la réalisation. Nous avons utilisé le Language C++ pour traduire les

différentes notations dans le diagramme de class et de collaboration. Le choix de diagrammes

de classes et de communication ainsi que le C++ comme langage d’implémentation est justifié

par leur utilisation dans le cadre d’un projet d’évaluation de l’apprenant de la programmation

orientée objet.

Page 20: Un outil d'auto-évaluation de l'apprenant de la

20

3 Chapitre II : Appariement des graphes

3.1 Introduction : Les graphes sont largement utilisés pour représenter des objets structurés tels que les

images, les réseaux...etc. De nombreuses applications nécessitent de comparer des graphes

afin de déterminer si leurs structures sont identiques. L’objectif de ce chapitre est de présenter

l’appariement des graphes étiqueté. Nous commencerons par quelques définitions sur les

graphes, les graphes orientés et les graphes orientés étiqueté. Ensuite Nous présenterons la

mesure de similarité entre les graphes qui est proposées par Sébastien Sorlin et Christine

Solnon [7], nous expliquons finalement l’algorithme glouton pour la recherche d’appariement

maximal.

3.2 Généralités sur les graphes

3.2.1 Définition des graphes :

Le mot «graphe» est introduit par l'Anglais J.J.Sylvester en 1822, et en 1936 D. Knig

écrira le premier livre sur la théorie des graphes.

Un graphe est un dessin géométrique défini par la donnée d'un ensemble de points

(appelés sommets), reliés entre eux par un ensemble de lignes ou de flèches (Appelées arcs).

Chaque arête a pour extrémités deux points, éventuellement confondus [8].

Les graphes peuvent aider à dessiner un grand nombre de situations comme :

Les liens routiers.

Les réseaux de communication.

Les circuits électriques.

Les images.

Les classes et les relations entre les classes ...Etc.

Exemple :

La figure suivante représente un graphe tel que les points (A, B, C, D) sont appelés

sommets, et les liens entre les points sont les arcs.

Page 21: Un outil d'auto-évaluation de l'apprenant de la

21

3.2.2 Graphe orienté :

Un graphe orienté est un graphe formé d’un ensemble fini de sommets { }

et d’un ensemble fini d’arcs reliant dans un ordre bien défini ces sommets { }.

Mathématiquement, un graphe orienté est représenté par le couple G= (V, E), tel que :

V est l’ensemble des sommets.

E est l’ensemble des arcs.

Chaque arc du graphe G relie respectivement deux sommets, le sommet de départ qui

représente l’extrémité initiale de l’arc et le sommet d’arrivée qui représente l’extrémité

terminale [8].

Exemple :

Le graphe dans la figure suivante est orienté:

3.2.3 Graphes orienté étiqueté :

Un graphe orienté étiqueté est un graphe orienté dont les sommets et les arcs sont

associés à un ensemble non fini des étiquettes décrivant leurs propriétés.

C

A

B D

Figure 3.1 : Exemple‎d’un‎Graphe

C

A

B D

Figure 3.2 : Exemple d’un graphe orienté

Page 22: Un outil d'auto-évaluation de l'apprenant de la

22

Étant donné un ensemble fini d'étiquettes de sommets et un ensemble fini d'étiquettes

d'arcs, un graphe étiqueté est défini par un triplé (7), tel que :

V est l’ensemble fini des sommets.

est l’ensemble des couples (( ) le sommet et l l’étiquette associée à ce

sommet.

est l’ensemble des triplets ( ): l’arc ( ) est étiqueté par l, et on peut définir

l’ensemble des arcs par : {( )| ( ) +.

Exemple : l’exemple suivant montre la représentation d’un objet en graphe étiqueté :

Le graphe dans la figure précédente est représenté par l’objet dans la même figure, les

sommets représentent les composants de l’objet et les arcs représentent les relations des

positions entre les composants et, l’ensemble d’étiquettes des sommets.

* +, l’ensemble des étiquettes des arcs * +.

Le graphe précédent est défini par tel que :

V= {a, b, c, d, e}.

*( ) ( ) ( ) ( ) ( ) ( )+.

*( ) ( ) ( ) ( ) ( ) ( )

( )+

Figure 3.3 : représentation d'un objet par un graphe étiqueté

Page 23: Un outil d'auto-évaluation de l'apprenant de la

23

3.3 Le problème d’appariement des graphes :

3.3.1 Définition de l’appariement :

L'appariement, dans le sens commun, est le fait de trier par paire des choses [9]. La

terminologie correspondante au problème d’appariement diffère entre les différents domaines

et même au sein d’un même domaine.

3.3.2 Types d’appariements :

.Appariement d’ontologies

Dans le domaine des ontologies, l’appariement est le processus de découverte des

relations (ou correspondances) entre les entités de différentes ontologies [10].

Appariement de schémas

L’appariement de schémas consiste à trouver les correspondances sémantiques entre deux

schémas [11]. L’appariement peut être considéré comme une opération ou un opérateur qui

prend deux schémas en entrée et produit un mapping entre les éléments des deux schémas

correspondants sémantiquement les uns aux autres [12].

Appariement de graphe

En théorie des graphes, un appariement d'un graphe est un ensemble d'arêtes de ce

graphe qui n'ont pas de sommets en commun : c'est ce qu'on appelle traditionnellement un

couplage d'un graphe [9]. Le problème d’appariement des graphes consiste à mettre en

correspondance les sommets de deux graphes, l’objectif étant généralement de comparer les

objets modélisés par les graphes.

Quelles que soient la nature des modèles à étudier (ontologies, schémas, graphes) et

leurs représentations, la plupart des modèles en entrée peuvent être représentés sous forme de

graphes. Le but général du processus d’appariement est le même pour tous les types de

modèles : l’identification et la qualification de correspondances entre les éléments.

3.3.3 Appariement des graphes:

3.3.3.1 Appariements exactes

3.3.3.1.1 Isomorphisme de graphes

Le problème de l’isomorphisme de graphes consiste à prouver que deux graphes

donnés ont la même structure [13].

Page 24: Un outil d'auto-évaluation de l'apprenant de la

24

Dans le cas général, la complexité théorique du GIP (Graph Isomorph problem) n'est pas

exactement connue : ce problème est NP mais on ne sait pas s’il est dans P ou s’il est NP-

complet. Cependant, avec certaines topologies particulières de graphes (graphes planaires, des

arbres ou graphes de valence bornée), ce problème peut être résolu dans un temps polynomial

[13].

3.3.3.2 Appariements inexactes

3.3.3.2.1 Le plus grand sous graphe commun :

Donnée : deux graphes G = (V, E) et G' = (V’, E’), le problème de plus grand sous graphe

commun est le problème de trouver la taille (généralement en terme de nombre de sommets)

du plus grand graphe G'' tel que G'' soit un sous-graphe de G et de G' .Ce problème est NP-

difficile.

3.3.3.2.2 La distance d’édition de graphe :

La distance d'édition est une mesure de similarité pour comparer des graphes qui

représente la séquence d'opérations élémentaires de coût minimum pour transformer un

graphe en un autre graphe par les opérations élémentaires de l'insertion, de la suppression et

de la substitution de sommets ou d'arcs. La distance d'édition entre graphes est une métrique.

3.3.4 L’appariement des graphes Etiqueté:

L’appariement de deux graphes étiquetés est une mise en correspondance entre leurs

sommets. Il contient des paires de sommets couplés chaque sommet appartient à un graphe.

Plus formellement, un appariement entre deux graphes étiquetés et

tel que est une relation (2) (7). Donc on a

*( ) + contenant tous les couples ( ) tel que est apparié

au sommet . Chaque sommet dans l’appariement m peut associe a 0 ou 1 ou plusieurs

sommet de l’autre graphe, la fonction ( ) représente l'ensemble des sommets associés au

sommet dans l'appariement donc on a :

( ) * ( ) + Et

( ) * ( ) +

Exemple :

Page 25: Un outil d'auto-évaluation de l'apprenant de la

25

On peut définir plusieurs appariements à partir des deux graphes dans la figure 5, par

exemple on a l’appariement *( ) ( ) ( ) ( ) ( ) ( )+ , dans cet

appariement ( ) * + en contre, l’appariement *( ) ( ) ( ) ( ) ( )+

, ( ) * + ( ) .

3.3.5 Classification des appariements des graphes :

Appariement bijectif : Chaque sommet d’un graphe est apparie à un seul sommet de

l’autre graphe, ils n’existent pas deux sommets associent à un même sommet de

l’autre graphe. Donc la cardinalité de ce type =(1,1)

| ( )|

| ( )|

Appariement injectif : Chaque sommet d’un graphe est apparié à un aux maximum

de l’autre graphe, ils n’existent pas deux sommets associés à un même sommet de

l’autre graphe. Donc la cardinalité de ce type = (1,0..1)

| ( )|

Appariement univoque: Chaque sommet d’un graphe est apparié aux maximum à un

sommet de l’autre graphe, pour chaque sommet il y’a deux possibilités, soit n’est pas

apparié soit apparie à un sommet de l’autre graphe. Donc la cardinalité de ce type =

(0..1,0..1). | ( )|

| ( )|

Figure 3.4:Exemple de deux graphes apparie

Page 26: Un outil d'auto-évaluation de l'apprenant de la

26

Appariement multivoque : Chaque sommet d’un graphe est apparié à un ensemble

pouvant être soit vide soit contient tous les sommets de l’autre graphe. Chaque

sommet peut être apparié aux plusieurs sommets de l’autre graphe en même temps.

Donc la cardinalité de ce type = (0..|V1|,0..|V2|).

| ( )| | |

| ( )| | |

3.4 Mesure de similarité entre les graphes :

3.4.1 Pour quoi mesurer la similarité de deux graphes :

Plusieurs raisons peuvent mener à mesurer la similarité entre graphes nous pouvons citer

entre autres [14]:

Reconnaissance de formes et vision par ordinateur : reconnaître des images 2D ou3D,

des séquences vidéo, des caractères, des symboles, des graphiques, ...etc.

Recherche d’information : trouvé des documents similaires à une requête,…etc.

Classification et « machine Learning » : regrouper des objets similaires.

Raisonnement à partir de cas : trouver un problème déjà résolu similaire au problème à

résoudre.

Conception logicielle : retrouver des occurrences d’un code à l’intérieur d’un autre

code.

Plusieurs applications de classification utilisant la mesure de similarité existent, nous

pouvons citer pour la classification des empreintes digitales, la reconnaissance des formes, la

reconnaissance des symboles, la classification des images.

3.4.2 Mesurer la similarité des graphes étiquetés :

Cette section montre la mesure de similarité proposée par Sébastien Sorlin, Pierre-

Antoine Champin et Christine Solnon [7]. Ils proposent une fonction de similarité qui utilise

l’appariement entre deux graphes. Cette fonction est directement proportionnelle aux nombres

de caractéristiques communes aux deux graphes par rapport au nombre total de

caractéristiques. Premièrement, nous présentons les caractéristiques communes entre deux

graphes, ensuite nous donnons la mesure de similarité de graphes.

Page 27: Un outil d'auto-évaluation de l'apprenant de la

27

3.4.2.1 Caractéristiques communes entre deux graphes :

Un graphe étiqueté est caractérisé par ses sommets et ses arcs et les étiquettes

attachées aux cette composants Donc chaque couple (sommet, étiquette) ou (arête, étiquette)

est considéré comme une caractéristique du graphe étiqueté.

Supposons un graphe étiqueté ( ) , nous utilisons la notation fonctionnelle

descr(G) pour noter l’ensemble de tous les caractéristiques d’un graphe tel que :

( ) / : L’ensemble des caractéristiques des sommets. :

L’ensemble des caractéristiques des arcs.

Deux caractéristiques de sommets (ou d’arcs) appartenant à deux graphes sont

similaires s’ils sont associés à une même étiquette [15]. Supposons deux graphes G1, G2 et

un appariement m entre les deux, les caractéristiques communes aux deux graphes sont les

caractéristiques des sommets (ou des arcs) appariés par m à au moins un sommet (ou un arc)

de l’autre graphe ayant la même étiquette. C’est-à-dire les caractéristiques communes est

l’ensemble contenant toutes les caractéristiques des éléments de G1 (ou G2) retrouvées au

moins une fois dans G2 (ou G1) via l'appariement m est exprimé par

( ) ( ) tel que:

( ) ( ) =*( ) | ( )( ( )

*( ) | ( ) ( ) +

*( ) | ( ) ( ) +

*( ) | ( ) ( ) +

|descr(G1) descr(G2)| : la taille de l’ensemble des caractéristiques communes entre deux

graphes

Exemple :

Utilisons l’exemple précédent dans la figure 3.4 nous présentons l’extraction des

caractéristiques communes entre les deux graphes.

Premièrement, la description de deux graphes :

( ) *( ) ( ) ( ) ( ) ( ) ( ),

( ) ( ) ( ) ( ) ( ) ( ) ( )+

Page 28: Un outil d'auto-évaluation de l'apprenant de la

28

( ) *( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( ) ( ) ( )+

Ensuite, la collection des caractéristiques communes à partir de l’appariement

*( ) ( ) ( ) ( ) ( ) ( )+ :

*( )

( ) ( ) {(a, poutre), (b, poutre),

*( ) ( ) +

( ) ( ) *( ) ( ) ( ) ( )

( ) ( )

Page 29: Un outil d'auto-évaluation de l'apprenant de la

29

On répète la même étape jusqu’à terminer tous les couples de l’appariement m.

*( ) ( ) ( ) ( ) ( ) ( )+

( ) ( ) *( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

Page 30: Un outil d'auto-évaluation de l'apprenant de la

30

( ) ( ) ( ) ( ) ( ) ( )+.

3.4.2.2 Sommets éclatés :

Deux graphes ne sont pas parfaitement appariés si les sommets éclatés ne sont pas pris

en compte, les sommets éclatés sont les sommets qui associés à plus d’un sommet dans l’autre

graphe. L’appariement *( ) ( ) ( ) ( ) ( ) ( )+ apparie le sommet 5

avec les deux sommets e et f, ce qui diminue la similarité de deux graphes. Pour cela, nous

avons besoin d’utiliser une fonction noté splits qui tient compte de l'ensemble des sommets

éclatés :

( ) *( )| ( ) | ( )| +. [7]

3.4.2.3 Similarité des graphes par rapport à un appariement :

La similarité entre deux graphes par rapport à un appariement m est fonction

proportionnelle aux nombres de caractéristiques communes aux deux graphes par rapport au

nombre total de caractéristiques

En 1977 Tversky définira une formule de similarité de deux objets basés sur

l’ensemble des caractéristiques :

( ) ( )

( )

Tel que a et b deux objet, décrits respectivement par les deux ensembles A et B de

leurs caractéristiques. À base de cette formule Sébastien Sorlin, Pierre-Antoine Champin et

Christine Solnon [7], ont proposé une fonction de similarité entre deux graphes étiquetés G1

et G2 par rapport à un appariement m tel que:

( ) ( ( ) ( )) ( ( ))

( ( ) ( ))

( ) ( ) : Les caractéristiques de graphe G1 et G2.

( ) ( ) : Les caractéristiques communes entre les deux graphes.

( ) ( ): Toutes les caractéristiques de G1 et G2.

Page 31: Un outil d'auto-évaluation de l'apprenant de la

31

Deux fonctions positives croissantes et monotones par rapport à l'inclusion, sont

dépendantes de l’application considérée.

Si en suppose que f et g sont deux fonctions de cardinalité, la formule de similarité

est la suivante :

( ) | ( ) ( )| |( ( ))|

| ( ) ( )|

La similarité maximum de deux graphes est définie comme la plus grande similarité

possible obtenue par le meilleur appariement. Donc, pour chercher la meilleure évaluation il

faut cherche le meilleur appariement.

3.4.2.4 Algorithme glouton pour la recherche à l’appariement maximum :

L’algorithme glouton est un algorithme simple pour construire rapidement un bon

appariement m.

L’algorithme démarre avec un appariement vide, à chaque itération on ajoute un

couple parmi l’ensemble cand tel que cand est l’ensemble des couples qui maximisent la

fonction score. La fonction score est définie :

( ) ( ( ) ( )) ( ( )).

On calcule look_ahead, l'ensemble des propriétés d'arcs (départs ou arrivées d'arcs)

partagées par les deux sommets du couple candidat et n'appartenant pas

à ( ) ( ), et on choisit aléatoirement le prochain sommet à insérer parmi

ceux qui maximisent f (look_ahead) [7].

Cet algorithme glouton s'arrête lorsque plus aucun couple n'améliore directement la

fonction score ni n'a de caractéristique potentielle dans l'ensemble look_ahead.

Page 32: Un outil d'auto-évaluation de l'apprenant de la

32

Figure ‎3.5 :algorithme glouton [7]

Exemple :

Si on prend l’exemple dans la figure 3.4, et supposant que les deux fonctions f, g sont

des fonctions de cardinalité on a :

Itération 1 : m est vide, l’ensemble * + * + * + * +,

parmi ces candidats, f (look_ahead (b, 2))= f (look_ahead (b, 2))= f (look_ahead (b, 2))=

f (look_ahead (b, 2))=6, les autre candidats partage des caractéristiques inférieures, donc,

*( )( ) ( ) ( )+ Et en fin d’itération on choisit une couple aléatoire

frome .

3.5 Conclusion :

Dans ce chapitre nous avons présenté le problème d’appariement de modèles, un

problème très complexe et peut être abordé selon de nombreuses dimensions, techniques

individuelles et divers algorithmes (glouton, recherche taboue …). L’utilisation d’une seule

Page 33: Un outil d'auto-évaluation de l'apprenant de la

33

technique n’est pas satisfaisante pour répondre au problème d’appariement de modèles car le

résultat produit est généralement faible.

Nous avons présenté également, la similarité entre les graphes et que Les entrées

principales des systèmes d’appariement de modèles qui sont les modèles qui peuvent être un

graphe ou ontologie ou schéma…etc. La représentation des modèles retenue dans la plus part

d’approches se fait sous forme de graphes acycliques orientés et peuvent être étiquetés.

Il ressort que le meilleur appariement est celui qui maximise la similarité de graphes et

que le problème d’appariement est difficile à traiter complètement de manière automatique.

Le résultat produit est traité ensuite par un expert du domaine concerné pour en vérifier sa

pertinence.

Page 34: Un outil d'auto-évaluation de l'apprenant de la

34

4 Chapitre III : L’Évaluation dans le processus d’apprentissage en

ligne

4.1 Introduction : Il est maintenant bien établi que l'évaluation de l’apprenant dans les Environnements

Informatiques pour l'Apprentissage Humain est essentielle. Mais quelle méthode d'évaluation

choisir ? Que doit-on évaluer ? L'objectif de ce chapitre est de présenter les différentes

méthodes d'évaluation adaptées aux EIAH correspondant à L'évaluation de l’apprentissage.

Premièrement nous allons expliquer en général l’évaluation dans l’apprentissage humain

et les différents types et méthodes de cette activité, puis nous allons présenter l’évaluation

des apprenants dans les environnements informatiques pour apprentissage humain EIAH.

Ensuite, nous parlerons sur l’évaluation des apprenants dans les environnements

informatiques pour apprentissage humain EIAH dédiés à l’apprentissage des travaux

pratiques(TéléTPs).

4.2 Historique : L’emploi de terme " Evaluation " dans le sens propre du terme a commencé seulement

vers la fin du 16 ième siècle [16]. Avant cette date, dans les ouvrages spécialisés, on utilisait

le terme "Docimologie" pour désigner la science des examens. En 1922, Henri Piéron

introduit le terme de docimologie, il le définira en 1951 par « l’étude systématique des

examens (modes de notation, variabilité interindividuelle et intra-individuelle des

examinateurs, facteurs subjectifs, etc.) » [17].

Le paradigme " mesure - évaluation - décision " proposé par G. SCALLON attribue à

l’action d’évaluation de nouveaux objectifs et lui ouvre une nouvelle dimension. Autrement

dit, comme l’avance E. ABOUBAKER :" La définition qu’on donne actuellement à l’action

d’évaluation assigne à celle-ci une nouvelle dimension : alors qu’elle visait initialement et

principalement la sélection et l’orientation des élèves, à partir des années 1970, l’acte

d’évaluation considère que les résultats des élèves ne sont qu’un moyen permettant un

jugement et de prendre une décision au niveau de l’organisation de l’acte d’enseignement /

apprentissage " [16] .

Page 35: Un outil d'auto-évaluation de l'apprenant de la

35

4.3 Définition : Selon Hadji [18] "évaluer, c’est mettre en relation des éléments issus d’un observable

appelé référé et un référent pour produire de l’information éclairante sur le référé afin de

prendre des décisions". Tel que le référent est les critères selon lesquels un objet sera

examiné, et les compétences qu’il aura fallu mettre en œuvre pour parvenir à la construction

de cet objet, et le référé est ce qui sera effectivement observé dans la production évaluée.

L'évaluation de l'apprentissage correspond aux méthodes qui sont créées pour confirmer

ce que les élèves connaissent, pour montrer s'ils ont ou non atteint les résultats d'apprentissage

ou les objectifs de leurs programmes individuels, ou pour tester leurs compétences et

décider des programmes ou des affectations qu'ils peuvent envisager pour la suite. Elle est

censée fournir des preuves de la performance des élèves aux parents, à d'autres éducateurs,

aux élèves eux-mêmes et, parfois, à des personnes de l'extérieur (e.g., employeurs, autres

établissements d'enseignement).

4.3.1 Pourquoi faire une évaluation ?

L’évaluation est une activité de « communication » qui met généralement en relation

trois grands acteurs : l’enseignant, l’apprenant et l’institution.

En fait, une évaluation a pour quatre buts essentiels :

améliorer les décisions relatives à l’apprentissage de chacun des élèves.

informer l’élève et ses parents sur sa progression.

décerner les certificats nécessaires.

améliorer l’enseignement en général.

4.3.2 Différence entre Examen, Contrôle et évaluation :

Examen : apprécier ou sélectionner pour conférer un titre.

Contrôle : objectif, modèle préexistant, mesure de l’écart, acheminement de l’action.

Evaluation : apprécier pour prendre les meilleures décisions relatives à la

planification du cheminement ultérieur de l’action didactique.

4.4 Les différents types d’évaluation : Un enseignant peut évaluer avant, pendant et après un processus d’apprentissage. Ces

différentes évaluations auront donc des objectifs différents suivant le moment de leur

Page 36: Un outil d'auto-évaluation de l'apprenant de la

36

déroulement. Pour mener les nécessaires évaluations liées à ses enseignements, l’enseignant

dispose de plusieurs types d’évaluations [19].

Les types suivants d’évaluation se distinguent au niveau de l’objectif, du moment du

déroulement et de l’effet à l’intérieur du système éducatif.

4.4.1 L’évaluation pronostique :

L’évaluation pronostique permet d’évaluer la capacité d’un apprenant à commencer un

apprentissage, un cycle d’étude ou à exercer une profession. C’est une évaluation en amont

d’une réalisation ou d’un apprentissage.

Le but de ce type d’évaluation est de vérifier si l’apprenant a les connaissances

nécessaires pour poursuivre une formation donnée. Pour cela, l’évaluation pronostique est

généralement effectuée au début ou en fin de formation pour des formations ultérieures [18].

Elle permet de prendre des décisions de sélection ou d’orientation en fonction de l’aptitude

présumée à suivre un nouveau cursus, par exemple, telle filière du secondaire ; elle se situe en

amont d’un cursus et sous-tend un choix [20] .

4.4.2 L’évaluation formative :

Le terme d’évaluation formative a été proposé par M. Scriven [21]. C’est une

évaluation qui se produit à n’importe quel moment au cours d’un processus d’apprentissage.

Elle aboutit à la certification d’un module, d’une unité de valeur ou à l’obtention d’un

certificat à l’issue d’une période de formation [18]. Cette évaluation ayant pour objectif

d’informer l’élève et maître du degré de maîtrise atteint et, éventuellement, de découvrir où et

en quoi un élève éprouve des difficultés d’apprentissage. L’évaluation formative permet aussi

de déterminer si un élève possède les prérequis nécessaires pour aborder la activité suivante

dans un ensemble séquentiel.

En général, elle se situe à la fin d’une période de formation et son but est de montrer si

l’apprenant a été capable d’atteindre les objectifs visés par la formation. Et son but est de

guider et de réguler l’apprenant dans son apprentissage, ainsi que de positionner les

connaissances acquises (ou performances accomplies) par l’apprenant par rapport à un

objectif d’apprentissage donné [18].

L’intérêt de ce type d’évaluation est le diagnostic des difficultés qui peuvent survenir

à l’apprenant durant son processus d’apprentissage. Ce qui permet à l’enseignant d’analyser et

d’interpréter les résultats afin de trouver les causes probables de ces difficultés, et d’adapter

Page 37: Un outil d'auto-évaluation de l'apprenant de la

37

ou réguler le parcours de l’apprenant en conséquence, en insistant sur les parties qui

permettront de surmonter les difficultés rencontrées.

4.4.3 L’évaluation sommative :

Qui a pour rôles le classement, la certification et l’attestation des progrès réalisés par

les étudiants. Elle intervient en fin de séquence ou de programme, une fois que

l’enseignement et les apprentissages ont eu lieu [21].

L’évaluation sommative met donc l’accent sur les performances, elle contrôle les

connaissances. Elle est en opposition avec l’évaluation formative, elle ne régule pas

l’apprentissage, elle le contrôle. Cette évaluation est réalisée lorsqu’un enseignant a besoin

d’attribuer des notes aux apprenants afin de certifier qu’ils ont atteint un certain niveau de

formation [22].

Elle conduit à l’obtention d’une note qui sanctionne une activité d’apprentissage afin

d’établir un classement, sélectionner les apprenants ou certifier leurs niveaux. En mettant

l’accent sur les performances, l’évaluation sommative s’intéresse essentiellement aux

productions réalisées par les apprenants [23].

4.4.4 L’évaluation diagnostique :

L’évaluation diagnostique intervient également pendant le déroulement même des

activités d’enseignement et d’apprentissage pour déterminer les causes des difficultés

d’apprentissage persistantes chez certains étudiants, et œuvrer en vue de leur permettre de

surmonter ces difficultés, avant la fin du cours [21].

Elle permet d’évaluer un niveau de compétence bien souvent juste avant une nouvelle

phase d’apprentissage dont le rôle, d’après S. SCALLON, " ne se limite pas au dépistage des

élèves en difficultés. Le diagnostic doit permettre de découvrir les forces et les faiblesses ainsi

que le degré de préparation des élèves avant que ceux-ci n’entreprennent une séquence

importante d’apprentissage, un cours ou un programme d’études ".

4.5 Les critères d’évaluations : Afin de construire une grille d’évaluation, il est nécessaire d’établir auparavant un

référentiel de ce qu’on attend de l’apprenant « l’évaluation exige la construction de ce qui a

été désigné comme son référent, à savoir un ensemble de critères spécifiant un système

d’attentes. Chaque critère définit ce qu’on estime être légitimement en droit d’attendre de

l’objet évalué » [18].

Page 38: Un outil d'auto-évaluation de l'apprenant de la

38

L’évaluation ne concerne pas uniquement la vérification de l’acquisition d’un savoir,

elle peut servir aussi à observer les comportements, la qualité d’une méthode de travail [24].

Pour cela, il y a plusieurs critères qui pourront faire partie d’une grille d’évaluation. Le

résultat qui découle de la grille d’évaluation servira à indiquer si l’apprenant a atteint

l’objectif d’apprentissage.

L’établissement d’une grille d’évaluation est difficile et délicat car elle dépend de

plusieurs facteurs. Les critères doivent être fixés par les maîtres à partir de réalisations

observables et en fonction des objectifs d’apprentissage visés. Peretti [24] distingue les types

de critères suivants : les critères quantitatifs et les critères qualitatifs.

4.5.1 Critères quantitatifs :

Ces critères peuvent être attachés à des valeurs mesurables, par exemple :

Le temps de réponse mis pour répondre à chaque question.

Le temps global pour répondre à l’ensemble des questions, en ajoutant les temps de

réflexion intermédiaires.

Évaluation terminée dans les délais.

Les réponses à des questions fermées.

Les réponses à des questions semi-ouvertes.

4.5.2 Critères qualitatifs :

Les critères qualitatifs correspondent à des éléments simples et opérationnels de bonne

pratique. Leur mesure permet d’évaluer la qualité de la prise en charge d’un patient et

d’améliorer les pratiques, notamment par la mise en œuvre et le suivi d’actions visant à faire

converger. Ces critères sont plutôt liés à des valeurs observables, difficilement mesurables,

comme par exemple :

Temps de résolution limité.

Employer des sources d’informations.

Évaluation individuelle ou en groupe.

La démarche stratégique de résolution utilisée.

Comportement face à une situation imprévue.

Page 39: Un outil d'auto-évaluation de l'apprenant de la

39

4.6 Les différentes méthodes d’évaluation : Un enseignant peut donc évaluer avant, pendant et après un processus d’apprentissage.

Ces différentes évaluations posséderont donc des objectifs différents suivant le moment de

leur développement.

L’atteinte des objectifs des différents types d’évaluation se fait par l’adoption de

stratégies de travail différentes.

4.6.1 Evaluation critériée

Evaluation qui apprécie un comportement en le situant par rapport à une cible (le

critère qui correspond à l’objectif à atteindre) ». L’évaluation critériée n’attribue pas de note à

l’apprenant, elle se base sur une grille d’évaluation pour savoir si l’apprenant a atteint les

objectifs pour une situation d’apprentissage donnée. Pour cela, il faut définir au préalable les

différents critères qui feront partie de la grille d’évaluation.

4.6.2 Evaluation normative

Une évaluation qui situe les individus les uns par rapport aux autres, en fonction des

scores obtenus par les membres d’un groupe de référence. Dans l’évaluation scolaire

courante, la norme de référence est bien souvent constituée par les performances moyennes du

groupe classe. L’évaluation normative consiste à évaluer un apprenant au sein d’un groupe

(comparer les résultats des apprenants). Les apprenants sont ensuite classés les uns par rapport

aux autres suivant une norme établie au départ.

L’évaluation est donc entièrement basée sur la performance d’un apprenant par rapport

à une collectivité d’apprenants intervenant sur le même sujet.

4.7 Les outils de l’évaluation :

Il y a un grand choix de types de questions pouvant être utilisées dans les évaluations.

Nous distinguons les « questions ouvertes » où l’apprenant répond avec ses propres mots et

les « questions fermées » où les réponses se trouvent parmi une liste de choix proposée à

l’apprenant.

4.7.1 Questions fermées

Une question fermée est une question d’un questionnaire pour laquelle la personne

interrogée se voit proposée un choix parmi des réponses préétablies. La question fermée peut

être à choix unique ou à choix multiple.

Page 40: Un outil d'auto-évaluation de l'apprenant de la

40

Les questions fermées facilitent le traitement des réponses, mais nécessitent une

connaissance préalable permettant de proposer les réponses adéquates, sous peine de retrouver

un grand nombre de réponses sous le choix "autres".

L’inconvénient de ce type de questions est qu’elles ne permettent à l’apprenant, ni de

s’exprimer ni de rédiger avec son propre texte. Exemple : Les QCM (Question à Choix

Multiples).

4.7.2 Questions ouvertes

Une question ouverte est une interrogation qui n'induit pas de réponses préétablies et

qui laisse donc à son interlocuteur la possibilité de s'exprimer avec ses propres mots. Une

question ouverte est une question pour laquelle il n’y a pas de réponses préétablies proposées

au répondant, celui-ci est donc entièrement libre dans sa réponse.

Les questions ouvertes rendent le traitement plus difficile, sauf s’il s’agit d’une question

ouverte numérique.

4.8 L’évaluation des apprenants dans les Environnements

Informatique pour l’apprentissage humain (EIAH) :

4.8.1 Définition de l’EIAH :

Les environnements informatiques pour l'apprentissage humain (EIAH) sont des

environnements informatiques qui ont pour objectif de favoriser ou susciter des

apprentissages, de les accompagner et de les valider. La recherche sur les EIAH est

fondamentalement pluridisciplinaire, en appelant à la coopération de différents secteurs de

l'informatique (génie logiciel, réseau, modélisation des connaissances et des interactions,

etc.), et des sciences humaines (psychologie, didactique, ergonomie, sciences du langage,

sciences de la communication, etc.) [25].

Le terme EIAH est né dans les années 90, avec le souhait de souligner l'interaction entre le

projet technologique et le projet scientifique, c’est-à-dire entre :

l'informatique, avec la modélisation computationnelle qu'elle exige et son inscription

matérielle.

l'apprentissage humain, pour lequel on ne dispose encore que de modèles très partiels.

Page 41: Un outil d'auto-évaluation de l'apprenant de la

41

4.8.1.1 L’évaluation dans les EIAH

En EIAH (Environnements Informatiques pour l’Apprentissage Humain), l’évaluation

des systèmes tient une place de plus en plus importante et fait désormais souvent partie

intégrante de leur cycle de conception. Cette évaluation, nécessairement pluridisciplinaire

(sciences de l’éducation, didactique, psychologie cognitive, informatique, ergonomie). En

EIAH, l’utilisateur est généralement l'apprenant, le client est l’enseignant ou le système

éducatif et les objectifs de haut niveau concernent l’apprentissage.

L’évaluation de l’utilisabilité des EIAH fait appel, en les adaptant, à des techniques

classiques d’évaluation de systèmes, l’évaluation de l’utilité concerne l’appréciation de

l’impact de l’enseignement dispensé sur les connaissances ou compétences des apprenants,

elle est plus spécifique et doit faire appel à des méthodes issues de différentes disciplines.

4.8.2 Rôle et portée de l’évaluation en EIAH :

Que ce soit en classe ou au sein des EIAH, l’évaluation est un dispositif clé. Selon Charles

Juwah [21] (26), chercheur dans le domaine des EIAH, l’évaluation doit:

– être motivante pour l’apprenant.

– encourager une activité d’apprentissage soutenue.

– contribuer à la progression de l’apprenant.

– être faible en coût humain et facilement maintenable.

Cette évaluation assistée par ordinateur améliore la détection des progrès et lacunes des

apprenants suivant la rapidité et la qualité des interactions qu’ils ont avec et dans l’EIAH [27].

De même que l’évaluation joue différents rôles en EIAH, elle porte sur des objets différents.

Lorsqu’elle porte sur les productions des apprenants, on parle alors d’évaluation de

production. Par contre, lorsque l’évaluation porte sur la démarche mise en œuvre pour réaliser

des productions, on parle alors d’évaluation de la démarche.

4.8.3 Quelles sont ces évaluations ?

4.8.3.1 L’évaluation dans des activités individuelles

A. Evaluation de production : le bilan de compétences :

Le bilan de compétence consiste à prendre une "photographie" du niveau de compétence

d’un apprenant en évaluant ses productions. Ce type d’évaluation sommative est mené dans

des environnements d’apprentissage basés sur des banques de questionnaires à choix

Page 42: Un outil d'auto-évaluation de l'apprenant de la

42

multiples (QCM) organisés en parcours et sanctionnant l’apprenant par une note finale [28].

Le test du TOEFL est certainement le plus connu.

B. Evaluation de production : l’auto-évaluation :

Dans certains cas, il peut être utile de proposer à l’apprenant de s’auto-évaluer afin de

favoriser l’autorégulation de ses apprentissages en s’insérant dans le cadre d’une évaluation

formative. Le logiciel GenEval [29] propose une liste de questions, dans laquelle l’apprenant

peut naviguer. Pour chaque question, l’apprenant peut bénéficier ou non d’indications pour

répondre. Une fois la réponse donnée et corrigée, l’apprenant évalue sa maîtrise des

compétences mises en jeu dans les questions en se donnant une note.

C. Evaluation de la démarche : l’assistance à l’évaluation :

S’il est possible d’évaluer relativement finement une production, il n’en est pas de même

pour une démarche. Aussi, que ce soit dans des activités individuelles ou collectives, des

solutions d’assistance à l’évaluation sont proposées. Elles consistent bien souvent à fournir à

l’enseignant des vues sur les activités par le biais d’indicateurs, de mesures [30]. Ces mesures

permettent à l’enseignant d’évaluer le développement de l’activité.

4.8.3.2 L’évaluation dans des activités collaboratives

A. Evaluation de production : l’auto-évaluation collaborative :

Une des premières pratiques d’évaluation des activités collaboratives en EIAH est l’auto-

évaluation par pair. Cette évaluation est menée par un groupe d’apprenants et porte sur une

production réalisée par un autre groupe. La difficulté consiste entre autres, pour les membres

du groupe qui évaluent à se mettre d’accord sur les réponses attendues [26].

B. Evaluation de la démarche : l’évaluation de la participation :

Comme toutes les activités collectives, l’évaluation de la participation se retrouve

essentiellement dans le cadre d’activités usant d’un forum. L’évaluation porte alors sur la

qualité des discussions basées sur des techniques de "text mining" et s’intéressant au rapport

entre mots clés (ceux attendus par l’enseignant) et nombre d’échanges. Tel est le cas du

logiciel DIAS [31] dont le but est d’assister un enseignant pour gérer l’activité d’apprenants

dans un forum en évaluant la qualité de la participation des intervenants.

C. L’évaluation de la démarche : l’assistance à l’évaluation :

Page 43: Un outil d'auto-évaluation de l'apprenant de la

43

Alors que l’assistance à l’évaluation trouvait du sens dans une activité individuelle, elle

devient nécessaire dans le cadre de l’activité collective qui démultiplie la complexité pour

l’enseignant d’en évaluer le déroulement. Dans ce contexte, plus que des outils de mesure, il

existe des systèmes qui proposent de guider l’activité. Certains de ces EIAH procèdent par

notifications qui prennent la forme de conseils destinés aux apprenants. Par exemple, si le

groupe d’apprenants est en un retard sur son planning, le système lui conseillera de se

dépêcher.

1. Evaluation dans les EIAH dédiées à L’apprentissage des travaux

pratiques à distance

4.8.4 Les travaux pratiques à distance (TéléTPs) :

4.8.4.1 Définition :

Selon Millar : « Toute activité d’enseignement et d’apprentissage qui engage à un

moment donné les apprenants à observer et manipuler des objets réels et matériels ».

Le terme TéléTPs pour désigner les Travaux Pratiques à Distance. La distance

implique la dispersion géographique et éventuellement temporelle des acteurs humains et

matériels (auteur, apprenant, tuteur, dispositif pédagogique technique) impliqués dans un

système de téléTPs.

4.8.4.2 Évaluation des apprenants dans les EIAH de TéléTPs

Dans ce contexte, nous citons MELBA Metaphor-based Environment to Learn the Basics

of Algorithmiques) [32], Easyalgo[33]. Malheureusement tous les travaux que nous citons

s'intéressent à l'apprentissage de l’algorithmique mais l'évaluation reste le parent pauvre.

Nous avons trouvé un seul travail c’est la plate-forme TEB (pour Travaux pratiques

d’Électronique Binaire)[34] qui a été développée dans le but de gérer et d’évaluer des

schémas électroniques des apprenants. Cette application est destinée à trois catégories

d’utilisateur :

l’enseignant, pour proposer des sujets de travaux pratiques et pour évaluer des

schémas de circuits électroniques réalisés par les apprenants, même en grand

nombre ;

aux apprenants, pour concevoir et réaliser, à distance ou en présentiel, des

schémas de circuits électroniques numériques ;

et aux administrateurs, pour la gestion des comptes utilisateurs (enseignant et

apprenant).

Page 44: Un outil d'auto-évaluation de l'apprenant de la

44

Un autre EIAH a été trouvé dans le même contexte (OASYS), mais il utilise une

méthode très classique pour l’évaluation (QCM).

4.9 Conclusion : Dans ce chapitre nous sommes intéressées à la question de l'évaluation des EIAH. S'il ne

fait plus de doute que l'évaluation doit faire partie du cycle de conception d'un Environnement

Informatique pour l'Apprentissage Humain, les questions relatives à ce que l'on souhaite

évaluer et comment l'évaluer restent ouvertes. Pour aborder ces questions, nous sommes

appuyées sur la distinction entre les différents types et méthodes qui peuvent être utilisé dans

l’évaluation.

L’implantation de travaux pratiques dans les environnements d’enseignement à distance

implique une difficulté supplémentaire par rapport aux autres modes d’enseignements (télé-

TD, télé cours) en pleine croissance. Même en présentiel, la commande d’un système dans un

cadre pédagogique n’est pas anodine : réalisme, performances et sécurité sont à équilibrer

stratégiquement. Si la mise à distance ne peut que détériorer à priori la qualité de la

manipulation, une étude exhaustive des situations et interactions en présentiel et à distance

permet d’organiser efficacement ce passage et de transformer les faiblesses liées à la distance

en atouts pour les acteurs du système. Dans le chapitre suivant nous allons présenter notre

technique d’évaluation des apprenants dans les EIAH des TéléTPs en informatique.

Page 45: Un outil d'auto-évaluation de l'apprenant de la

45

5 ChapitreVI

5.1 Introduction

Actuellement, peu de chercheurs se sont penchés sur les problématiques concernant

l’apprentissage de la programmation avec les environnements informatiques pour

l’apprentissage humain et sur le cas plus précis de l’évaluation des apprenants à la cour de

leurs apprentissages des TéléTPs. Néanmoins, des environnements informatiques dédiés à

l’apprentissage de TéléTPs ont été développés ces dernières années [34] et [35].

Nous présentons dans ce chapitre notre approche qui est basée sur l'évaluation de

l'apprenant mais dans les EIAH de travaux pratique à distance (TéléTPs) en langage de

programmation en informatique. Nous nous appuyons sur notre plateforme E-TéléTP@AALP

(Environnement des TéléTPs Appliqués A l’Apprentissage des Langages de Programmation),

développée afin de mettre en place une méthodologie d’évaluation basée sur une nouvelle

technique d’appariement.

Notre méthode a pour but de trouver les similarités et différences entre la production de

l’apprenant et celle de l’expert. Pour répondre à ces objectifs notre travail passe par deux

étapes essentielles :

Dans une première étape nous avons concentré sur la conception et le développement

d’un générateur automatique des diagrammes UML, le rôle de cet outil est de fournir pour

chaque programme solution une seule représentation graphique afin de la comparée avec celle

de l’expert.

Par la suite, dans la deuxième étape nous avons proposé une technique d’appariement

afin de de pouvoir comparer les différents diagrammes engendrés par le générateur développé

(les diagrammes engendrés considérés comme des graphes) à partir d’un code source écrit en

C++ orienté objet avec ceux de l’expert.

5.2 La plateforme développée

E-TéLéTP@AALP se veut un environnement pour l'enseignement et l'apprentissage à

distance des travaux pratiques en programmation en informatique. Réalisée en 2009, elle

possède une architecture de trois niveaux (téléformation, télé programmation, interface).

Page 46: Un outil d'auto-évaluation de l'apprenant de la

46

Télé information

Administrateur

Interface

Télé programmation

Figure 1 : Architecture de la plateforme E-TéLéTP@AALP [22] (36).

Elle est pensée pour offrir les services suivants :

5.2.1 Pour l'apprenant

Elle permet de réaliser des travaux pratique à distance, pour s'adapter dans le cadre à

chercher des collaborateurs, choisir un langage de programmation, télécharger un langage de

programmation informatique et de consulter les énoncés de travail pratique à distance de

programmation.

Outil de communication

Interface apprenant Interface tuteur

Inscription Suivi d’apprenant Création desTPs

Chercher collaborateur

Suivi de groupe Création des OPS

Consulter l’aide en ligne

Evaluer les apprenants à Travers

un jeu d’essai Création des QCM

Consulter le RDV de

collaboration

LMS IHM

Compilateur choix Auto-évaluation

Correction des erreurs

fréquemment

Commise

Zone

d’exécution Editeur partagé

Téléchargement

Interface

enseignantconcepteur

Figure 5.1:Architecture de la plateforme E-TéLéTP@AALP[36]

Page 47: Un outil d'auto-évaluation de l'apprenant de la

47

5.2.2 Pour l’enseignant concepteur de travaux pratiques à distance

Elle permet de s'inscrire, consulter le travail pratique à distance envisagée dans la

formation, pour créer un nouveau TP à distance et de communiquer avec d'autres

enseignants.

5.2.3 Pour les tuteurs

Elle permet au tuteur de surveiller les apprenants et propose plusieurs questionnaires de

choix multiples afin d'aider les apprenants à se rappeler les principaux concepts des langages

de programmation.

5.3 L’approche d’évaluation proposée

5.3.1 Processus de l’évaluation

La figure 5.1 décrit l’ensemble de la chaine de traitement qui prend en entrée, un code

source écrit en langage C++ et qui engendre en sortie un alignement entre une production de

l’apprenant et celle de l’expert.

5.3.1.1 Étape 01 : génération des différents diagrammes UML

L’entrée principale du système consiste en deux codes source écrits en langage de

programmation C++, l’un est produit par l’apprenant, l’autre est produit par un expert. Un

traitement automatique sur ces deux programmes permet de générer pour chaque programme

deux diagrammes UML :

- Un diagramme de classe UML décrivant l’aspect statique de programme

- Un diagramme de communication décrivant l’aspect dynamique de programme

5.3.1.2 Étape 02 : décompositions des différents diagrammes

Dans une deuxième étape, c’est la décomposition de chaque diagramme, le résultat

issu de cette étape est un ensemble de diagrammes décomposée (composants simples est

complexes)

5.3.1.2.1 Composants simples et complexes

Les composants simples correspondent aux éléments représentables dans les modèles

comparés. Ces composants simples sont organisés et structurés par des composants

complexes.

Page 48: Un outil d'auto-évaluation de l'apprenant de la

48

5.3.1.3 Étape 03 : application des apparieurs hybrides

Dans cette étape on doit définir notre technique d’appariement qui est composée de

deux types d’apparieurs ; le premier type représente les apparieurs hybrides qui sont

appliqués entre chaque pair de diagramme (apprenant, référence), les résultats issus de cette

étape sont les suivants :

5.3.1.3.1 Alignements de diagramme de classe (apprenant, référence) :

Ce résultat est obtenu après une application de premier et deuxième apparieurs

hybrides entre le pair, diagramme de classe apprenant et diagramme de classe de référence.

5.3.1.3.2 Alignement diagramme de communication (apprenant, référence) :

Ce résultat est obtenu après une application de troisième apparieur hybride entre le

deuxième pair, diagramme de communication apprenant et diagramme de communication de

référence.

5.3.1.4 Étape 04 : applications des apparieurs composites

Dans cette dernière étape on applique deux apparieurs composites pour combiner les

résultats des apparieurs hybrides de l’étape 03 afin d’obtenir une liste de similarités et de

différences entre les deux codes de l’apprenant et de référence.

5.3.2 Les apparieurs hybrides et composites

5.3.2.1 Les apparieurs hybrides

Les apparieurs hybrides combinent directement plusieurs approches d’appariement pour

déterminer les candidats à l’appariement en se focalisant sur des critères et des sources

d’informations multiples. Ils peuvent fournir des appariements meilleurs et avec une meilleure

performance qu’en exécutant de manière séparée plusieurs apparieurs (réduction du nombre

de passes effectuées sur les modèles) [35].

5.3.2.2 Les apparieurs composites

Les apparieurs composites combinent les résultats évalués indépendamment par plusieurs

apparieurs dont des apparieurs hybrides. Cette capacité à combiner les apparieurs est plus

flexible que la combinaison « dure » de techniques particulières d’appariement exécutées

simultanément ou dans un ordre fixe dans les apparieurs hybrides. Par opposition, un

apparieur composite sélectionne à partir d’un ensemble d’apparieurs modulaires ceux basés,

par exemple, sur le domaine d’application ou le formalisme des modèles considérés. De plus,

un apparieur composite peut permettre un ordonnancement flexible des apparieurs en les

exécutant aussi bien simultanément que séquentiellement. Dans ce dernier cas, le résultat d’un

premier apparieur est consommé et étendu par un second apparieur pour accomplir une

amélioration itérative du résultat d’appariement [35].

Page 49: Un outil d'auto-évaluation de l'apprenant de la

49

Programme C++

expert

Génération des

diagrammes de classes

et de communication

Décomposition des

différents

diagrammes de

l’apprenant

Programme

C++apprenant

Diagramme de classes et de

communication de l’apprenant

Génération des

diagrammes de classes

et de communication

Diagramme de classes et de

communication de l’expert

Décomposition des

différents

diagrammes de

l’expert

Diagrammes de classes et de

communication décomposés Diagrammes de classes et de

communication décomposés

Apparieurs hybrides

Alignement diagramme de

communication Alignement diagramme de

classes

Apparieurs

composites

Différences et similarités entre les

diagrammes de l’apprenant et l’expert + la

liste des erreurs détectées

Dans ce chapitre nous présentons les deux principales phases de notre conception dans deux

parties :

5.4 Présentation de l’outil développé

La première partie est abordée à la conception et le développement d’un générateur

automatique des diagrammes de classes et de communication UML. L’outil développé permet

à partir d’un code source écrit en langage C++ de générer deux diagrammes UML

Phase 1

Phase 2

Phase 3

Phase 4

Figure 5.2 : Méthodologie de l’approche proposée *37+

Page 50: Un outil d'auto-évaluation de l'apprenant de la

50

(diagrammes de classes et de communication), un pour l’expert et l’autre pour l’apprenant.

La figure 5.3 présente la fenêtre principale de notre cet outil.

Figure ‎5.3 : Le générateur de diagramme UML développé

5.4.1 Principe de fonctionnement de l’outil

À partir d’un code source écrit en langage de programmation C++ nous essayons d’en

extraire les données relatives aux diagrammes de classes et diagramme de communication.

Notre générateur est développé par dans l’environnement de programmation C++ Borland

version 2009.

5.4.1.1 Exemple

Soit le code code source écrit en C++ suivant :

class A{

private: B objet1;

C objet2 ;

D objet4;

public: voidmessage1(){

objet1.message3();

objet1.message4();

objet2.message5();

objet2.message8(); }

public: voidmessage2(){

Page 51: Un outil d'auto-évaluation de l'apprenant de la

51

objet4.message6();

}

};

class B{

private: D objet3;

public: voidmessage3(){

objet3.message6();

}

public: voidmessage4(){

objet3.message7();

}

};

class C{

public: void message5(){}

public: void message8(){}

};

class D{

public: voidmessage6(){}

public: voidmessage7(){}

};

voidmain(){

A aa;

aa->message1();

}

5.4.1.2 Processus de comparaison de diagrammes de classes

Les figures 5.4 et 5.5 montre les diagrammes de classes générés à partir du code

C++. Ici, les deux diagrammes sont identiques.

Figure 5.5:Diagramme de class de l'expert Figure 5.4: Diagramme de class de l'apprennant

Page 52: Un outil d'auto-évaluation de l'apprenant de la

52

La figure 5.6 illustre les diagrammes de collaboration générés par l’outil. Les deux

diagrammes sont dans ce cas identiques.

5.4.1.2.1 Algorithme de comparaison entre les productions de l’apprenants et de l’ expert

a. L’algorithme d’appariement développé

L’algorithme d’appariement développée se base sur le principe de l’algorithme glouton et les

similarités entres les graphes décrit dans [17] (7).

b. Déroulement de L’algorithme

L’algorithme démarre avec deux appariements engendrés m et m’ (m pour les diagrammes de

classes et m’ pour les diagrammes de communication). Et quatre diagrammes UML, deux diagrammes

de classes (apprenant, expert) et deux diagrammes de communication (apprenant, expert).

Notre algorithme proposé utilise deux types d’apparieurs : apparieurs hybrides, apparieurs composites

Ces apparieurs sont destinés de calculer :

Apparieur hybride 1 : calcule La similarité entre les diagrammes de classes (apprenant,

expert) par rapport l’appariement m engendré à partir de diagramme de classes expert.

Figure 5.6 : diagramme de communication de l'expert et de l'apprenant

Page 53: Un outil d'auto-évaluation de l'apprenant de la

53

Apparieur hybride 2 : calcule la similarité entre les diagrammes de classes (apprenant,

expert) par rapport aux contraintes prise en comptes de chaque composant de diagramme

de classes.

Apparieur hybride 3 : calcule la similarité entre les diagrammes de communication

(apprenant, expert) par rapport l’appariement m’ engendré à partir de diagramme de

communication de l’expert.

Apparieur composite 1 : calcule la similarité globale entre l’apparieur hybride 1 et 2.

Apparieur composite 2 : calcule la similarité globale entre l’apparieur composite 1 et

l’apparieur hybride 3.

c. Démarche à suivre dans l’application de notre algorithme proposé

Afin de pouvoir appliquer notre algorithme proposé nous avons suivi les étapes suivantes :

La représentation des diagrammes (de classe et de communication) sous

forme de graphes étiquetés.

L’étiquetage des sommets et des arcs pour chaque graphe (apprenant,

expert) pour les deux types de diagrammes (classes et communication).

Engendrer deux appariements (m et m’), le premier à partir de diagramme

de classe expert et le deuxième à partir de diagramme de communication

expert.

Extraction de l’ensemble des caractéristiques communes entre les

diagrammes de classe (apprenant et expert) par rapport l’appariement m.

Extraction de l’ensemble de toutes les caractéristiques entre les

diagrammes de classe (apprenant et expert).

Extraction de l’ensemble des caractéristiques communes entre les

diagrammes de communication (apprenant et expert) par rapport

l’appariement m’.

Extraction de l’ensemble de toutes les caractéristiques entre les

diagrammes de communication (apprenant et expert).

Calcul de similarité entre les deux types de diagrammes (classe,

communication) : pour le diagramme de classe nous avons calculé deux

similarités une par rapport l’appariement m et l’autre par rapport aux

contraintes prisent en compte par chaque composant de diagramme de

classes (classe, attribut, méthode). Par contre, pour le diagramme de

Page 54: Un outil d'auto-évaluation de l'apprenant de la

54

communication nous avons calculé une seule similarité par rapport un

appariement m’.

Calcul de la similarité totale entre les diagrammes de classes.

Calcul de la similarité totale entre les diagrammes de communication.

Calcul de la similarité globale entre les deux similarités totales de classes et

de communication.

Les figures 5.7 et 5.8 représentent l’ensemble des sommets et des arcs étiquetés des

diagrammes de classes de l’apprenant et de l’expert respectivement.

L’appariement engendré à partir de diagramme de classes expert est illustré par la

figure 5.9.

Figure ‎5.9:l’appariement m

Figure 5.7:l’ensemble des sommets et des arcs étiquetés de diagramme de classes apprenant

Figure 5.8 :l’ensemble des sommets et des arcs étiquetés de diagramme de classes expert

Page 55: Un outil d'auto-évaluation de l'apprenant de la

55

La figure 5.10 montre l’ensemble des caractéristiques communes entre diagrammes

de classes apprenant et expert par rapport à l’appariement m

La figure 5.11 montre l’ensemble de toutes les caractéristiques entre diagrammes de

classes apprenant et expert.

Figure ‎5.11:l’ensemble de toutes les caractéristiques de diagramme de classes

Pour calculer la similarité entre les deux diagrammes de classes par rapport

l’appariement m, on fait appel l’apparieur hybride1 (figure 5.12).

Apparieur Hybride 1 = 40/40=1

Figure 5.10 :l’ensemble des caractéristiques communes de diagrammes de classes

Page 56: Un outil d'auto-évaluation de l'apprenant de la

56

Figure ‎5.12:similarité par rapport l’appariement m entre diagrammes de classes (apprenant, expert)

De même, pour calculer de similarité par rapport aux contraintes prisent en compte

dans la comparaison pour chaque composant (classe, attribut, méthode), on fait appel à

l’apparieur hybride2 (figure 5.13). Les contraintes prisent en compte pour la comparaison

sont :

a- Les critères de classe

Critères = {nom}

b -Les critères de l’attribut

Critères = {nom, visibilité, type}

c- les critères de méthode

Critères = {nom, visibilité,attribut, type de retour}

Apparieur hybride2 = 1

Figure ‎5.13:similarité par rapport aux contraintes entre

Pour calculer de similarité globale entre les diagrammes de classes par rapport l’appariement

m (similarité calculée par l’apparieur hybride 1) et par rapport aux contraintes (similarité

calculée par l’apparieur hybride 2) entre les deux diagrammes de classes (apprenant, expert),

on fait appel à l’apparieur composite1 (figure 5.14).

Apparieur composite 1= (apparieur 1+ apparieur 2)/2= (1+1)/2=1

Page 57: Un outil d'auto-évaluation de l'apprenant de la

57

Figure ‎5.14:similarité globale par rapport un appariement m et par rapport aux contraintes entre diagrammes de classes

5.4.1.3 Processus de comparaison de diagrammes de

La figure ci-après montre l’ensemble des sommets et des arcs étiquetés des

diagrammes de communication de l’apprenant et l’expert respectivement.

Figure ‎5.15:l’ensemble des sommets et des arcs étiquetés de diagramme de communication apprenant

De même que pour les diagrammes de classes, la comparaison de diagrammes de

communication se fait relativement à un appariement qui est illustrée dans ce cas par la figure

5.17.

Figure ‎5.17:l’appariement m’

La figure 5.18 donne caractéristiques communes de diagrammes de communication de

l’apprenant et de l’expert.

Figure 5.16:l’ensemble des sommets et des arcs étiquetés de diagramme de communication expert

Page 58: Un outil d'auto-évaluation de l'apprenant de la

58

L’ensemble de toutes les caractéristiques entre diagrammes de communication de

l’apprenant et l’expert sont illustrées par la figure 5.19.

Pour calculer la similarité entre les deux diagrammes de communication par rapport

l’appariement m’, on fait appel l’apparieur hybride 3 (figure 5.20).

Apparieur hybride 3 = 1

Figure 5.18:l’ensemble des caractéristiques communes de diagrammes de communication.

Figure 5.19:L’ensemble de toutes les caractéristiques de diagrammes de communication

Page 59: Un outil d'auto-évaluation de l'apprenant de la

59

Figure ‎5.20 : similarité par rapport l’appariement m’entre diagrammes de communication (apprenant, expert)

Dans le but de calculer la similarité globale (figure 5.21) entre diagramme de classe et

communication (apprenant, expert), on fait appel à l’’Apparieur composite 2 pour calculer la

similarité globale entre l’apparieur composite 1 et l’apparieur hybride 3 et on affiche au même

temps la liste des couples similaires et différents.

Figure 5.21:Calcul de similarité globale entre diagrammes de classe et de communication (apprenant, expert)

Page 60: Un outil d'auto-évaluation de l'apprenant de la

60

5.5 Conclusion

Dans ce chapitre nous avons présenté notre approche d’évaluation de l’apprenant tout

en mettant l’accent sur l’outil la supportant. Il s’agissait de comparer deux programmes

orientés objet écrits en C++, l’un développé par l’expert et l’autre par l’apprenant. L’idée

sous-jacente, est en fait, de procéder à une comparaison indirecte des programmes à travers

leurs représentations graphiques décrites à l’aide de digrammes UML (diagrammes de classe

et de communication). Pour ce faire, nous avons développé un outil implémentant un

algorithme ‘appariement inspiré des algorithmes d’appariement des graphes.

Page 61: Un outil d'auto-évaluation de l'apprenant de la

61

6 Conclusion :

Dans ce mémoire, nous avons présenté un travail ayant pour objectif l’analyse et

l’auto-évaluation des productions de l’apprenant dans le cadre de l’apprentissage de la POO

en C++. Partant de deux programmes OO en C++, l’outil développé dans le cadre de notre

projet permet de les comparer indirectement à travers leurs représentations graphiques en

UML. Nous nous limitions aux aspects structurels décrits à l’aide de diagrammes de classe et

aux aspects dynamiques décrits à l’aide de diagramme de communication.

Le processus de comparaison est accompli en utilisant des algorithmes appariement

inspirée des méthodes actuelles d’appariement de modèles (ontologymatching et

schemamatching) vus comme des graphes. Nous avons montré qu’il est possible de définir un

système d’appariement hybride de niveau-élément et de niveau-structure permettant

d’analyser le diagramme de classes et de communication UML construisent par un

apprenant.

Comme perspectives à notre travail, nous envisageons de tenir compte la sémantique

de différents produits graphiques en se basant sur la notion d’ontologie. Par ailleurs, nous

tiendrons compte du comportement individuel des objets et leur représentation graphique en

UML.

Page 62: Un outil d'auto-évaluation de l'apprenant de la

62

7 Bibliographie

1. Unified Modeling language. Wikipédia. [En ligne] 18 Avril 2013. [Citation : 05 Mai 2013.]

http://fr.wikipedia.org/wiki/Unified_Modeling_Language.

2. enoît Charroux, Aomar Osmani,Yann Thierry-Mieg. UML 2_Pratique de la modelisation. Paris :

Pearson Education France, 2009. 978-2-7440-4050-4/1768-7616.

3. Piechocki, Laurent. le langage de modélisation objet unifié. Developpez. [En ligne] 14 Septembre

2009. [Citation : 01 Mai 2013.] http://laurent-piechocki.developpez.com/uml/tutoriel/lp/cours/#LII-

B-10.

4. F.-Y. Villemin, CNAM. Introduction à UML 2.0. [En ligne] 2012. [Citation : 09 Juin 2013.]

http://deptinfo.cnam.fr/Enseignement/CycleSpecialisation/MAI/index.html.

5. HAIDARA, Moulaye Ismael. Gestion d'un cabinet médical (mise en place d'un logiciel pour la

gestion d'un cabinet médical). Memoire Online. [En ligne] 2009. [Citation : 09 Juin 2013.]

http://www.memoireonline.com/07/08/1287/m_mise-en-place-d-une-plate-forme-de-cartographie-

dynamique5.html.

6. Méthode (informatique). Wikipédia. [En ligne] 12 Mars 2013. [Citation : 01 Mai 2013.]

http://fr.wikipedia.org/wiki/M%C3%A9thode_%28informatique%29.

7. Sorlin.S, Champin.P. mesurer la similarité de graphe étiquetés. liris. [En ligne] 2003. [Citation : 15

Mai 2013.]

8. Belharrat, Nadia. La Theorie des graphes. s.l. : Pages bleues internationales, 2005. 9961-734-40-8.

9. Appariemen. Wikipédia. [En ligne] 15 Mars 2013. [Citation : 19 Mai 2013.]

http://fr.wikipedia.org/wiki/Appariement.

10. Springer-Verlag, Berlin Heidelberg. Ontology Matching. 2007. 978-3-540-49611-3.

11. Hong-Hai Doa, Erhard Rahmb. Matching large schemas: Approaches and evaluation. 2006.

12. Erhard Rahm, Philip A. Bernstein. A survey of approaches to automatic schema matching. 2001.

13. Sébastien Sorlin, Christine Solnon. Une contrainte globale pour le problème de l’isomorphisme

de graphes. Iris. [En ligne] http://liris.cnrs.fr/Documents/Liris-1237.pdf.

14. Sorlin, S. Mesurer la similarité de graphes. Thèse de doctorat, Université Claude Bernard. [En

ligne] 2006.

15. Hiep, NGUYEN Thi Hong. Appariement multivoque de graphes par la recherche locale.Mémoire de

fin d’études.Université catholique de Louvain.

16. L’évaluation scolaire : d’une conception à une autre. www.edufle.net. [En ligne] 15 février 2009.

[Citation : 30 Mai 2013.] http://www.edufle.net/L-evaluation-scolaire-d-une.html.

17. Docimologie. Wikipédia. [En ligne] 12 Mars 2013. [Citation : 30 Juin 2013.]

http://fr.wikipedia.org/wiki/Docimologie.

Page 63: Un outil d'auto-évaluation de l'apprenant de la

63

18. HADJI, Charles. Evaluation, les règles du jeu. lyon : ESF, 1989.

19. Rak, J.P. Dintilhac. Evaluation de la technologie en collège. s.l. : Technical report, 2005.

20. Perrenoud, Philippe. Les trois fonctions de l’évaluation dans une scolarité organisée en cycles.

2001. 2-7605-1208-8.

21. Evaluation et apprentissage. Casablanca : Librairie des Ecoles, 2009. 2028 - 0955.

22. Lieury. Manuel de psychologie de l’éducation et de la formation. Dunod : s.n., 1996.

23. Campanale, F. Quelques éléments fondamentaux sur l’évaluation. s.l. : IUFM de Grenoble, 2001.

24. Peretti, A. D., Boniface, J. et Legrand. Encyclopédie de l’évaluation en formation. s.l. : ESF, 2000.

25. Traces et Environnements Informatiques pour l’Apprentissage Humain (EIAH). Recherche

NEOPTEC. [En ligne] 2010. [Citation : 02 Juin 2013.] http://recherche.neoptec.com/2010/05/traces-

et-environnements-informatiques-pour-l%E2%80%99apprentissage-humain-eiah_722/..

26. C, Juwah. Using Peer Assessment to Develop Skills and Capabilities. s.l. : United States Distance

Learning Association, 2003. 39-50.

27. J, Bull. Computer-Assisted Assessment : Impact on Higher Education Institutions. s.l. : Journal of

Educational Technology and Society, 1999. 123-126.

28. Green B, Bock R, Humphreys L, Linn R., Reckase M. Technical Guidelines for Assessing

Computerized Adaptive Tests. s.l. : Journal of Educational Measurement, 1984. 347-360.

29. J.-P, David. Modélisation et production d’objets pédagogiques. s.l. : Sciences et Techniques

Educatives, 2003.

30. Merceron A, Acef K. Train, store, analyse for more adaptive teaching. s.l. : Technologies de

l’Information et de la Connaissance dans l’Enseignement Supérieur et l’Industrie, 2004. 52-58.

31. Bratitsis T, Dimitracopoulou A. Data Recording and usage Interaction Analysis in Asynchronous.

2005 : AIED Workshops.

32. Guilbert, N., Guittet, L., Girard, P. « Initiation à la programmation « par l’exemple » : concepts,

environnement, et étude d’utilité. colloque EIAH’05 et 2005., Montpellier.

33. BENABBOU Faouzia, HANOUNE Mostafa « EasyAlgo : Un environnement d’apprentissage et

d’autoévaluation de l’algorithmique » Université Hassan II, Faculté des sciences Ben M’Sik,2003.

34. Tanana, M., Delestre, N., Pécuchet, J.-P. et Bennouna, M. (2008). Évaluation du savoirfaire en

électronique numérique à l’aide d’un algorithme de classification. In Colloque International TICE

2008, pages 44–51.

35. Auxepaules, L. (2009). Analyse des diagrammes de l’apprenant dans un EIAH de la modélisation

orientée objet. Thèse de doctorat, Université du Maine. pages 226.

Page 64: Un outil d'auto-évaluation de l'apprenant de la

64

36. Boussaha, K, Modélisation d'une situation d'évaluation de l'apprenant avec UML: CAS

d'application pour l'apprentissage des langages de programmation, 8eme colloque sur

l’optimisation et les systèmes d’information, COSI’2011, université 08 Mai 45 Guelmal.

37. Boussaha, K ,Mokhati, F,Taleb ,N, a novel learner self-assessment approach – application to

practical works ,4 international conference on computer supported Education ,CSEDU 2012 ,Porto

,Portugal ,april 16-18,2012.

Page 65: Un outil d'auto-évaluation de l'apprenant de la

65

Résumé

Notre travail se place dans le cadre des recherches menées sur les Environnements

Informatiques pour l’Apprentissage Humain (EIAH) et plus spécialement dans le TéléTPs. Il

s’agit de développer un outil permettant d’auto-évaluer les apprenant de la programmation

orientée objet tout en se basant sur la notation UML.

L’outil développé implémente une nouvelle technique d’auto-évaluation de

l’apprenant dans l’activité d’apprentissage des TéléTPs basée sur les algorithmes

d’appariement. Le but du travail étant l’identification des similarités et des différences entre

les diagrammes produits par l’apprenant et ceux de référence décrivant une interprétation

correcte du programme de l’expert. Cet outil permet de générer, dans un premier temps, des

diagrammes de classes et de communication à partir de programme C++ (apprenant et/ou

expert). Dans un second temps, l’outil permet de comparer les productions de l’apprenant et

celles l’expert en utilisant des algorithmes d’appariement.

Mots clé : Auto évaluation ,appariement ,UML ,programmation c++,type évaluations