Vous êtes sur la page 1sur 65

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

1
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

2
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

3
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

4
5
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

6
7
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

8
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.

9
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] .

10
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 :

11
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 :

12
 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],…}]

13
 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

14
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.

C1 Le nom d’association C2

 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 :

Chaise Salle Porte

Figure 2.4 : exemple des relations entre les classes


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

15
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 :

Class : Objet

 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++ :

16
2.6.1 Diagramme de class :

2.6.1.1 Class :

Chambre Class Chambre {


private :
#étage : Integer int prix ;
-prix : Integer protected :
int étage ;
Public :
+reserve (String nom): void void reserve (String nom) {} ;
+estvide (): Boolean Bool estvide () { } ;
};

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

2.6.1.2 Héritage :

A class B : public A {

};
B
Héritage simple

A class C : public B, public A {


B C };
Héritage multiple

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

2.6.1.3 Agrégation :

1
A class C { };
1 class A {
C C objet1;
};

De 1 vers 1

0..* class C {
A
C*suiv;
1 };
C class A {
C *objet1;
};
De 1 vers n

Figure 2.8 : Implémentation


17de l’agrégation en C++
2.6.1.4 Composition :

class A {
A private:
class C { };
C C objet1;
};

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

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 ()


: Objet 1 : Objet 2 : Objet3

4 [x>1] : message 4
: Objet1

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 ();
}
}

Figure 2.10 : implémenter 18


un diagramme de collaboration en c++
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.

19
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.

20
A

D B

C
Figure 3.1 : Exemple‎d’un‎Graphe

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é:

D B

C
Figure 3.2 : Exemple d’un graphe 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.

21
É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é :

Figure 3.3 : représentation d'un objet par un 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}.

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

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

( )+

22
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].

23
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 :

24
Figure 3.4:Exemple de deux graphes apparie

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). | ( )|
| ( )|

25
 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.

26
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 :

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

27
( ) *( )( )( )( )( )

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

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

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

*( )

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

*( )( )+

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

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

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

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

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

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

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

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.

30
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.

31
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

32
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.

33
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] .

34
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

35
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

36
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].

37
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.

38
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.

39
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.

40
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

41
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 :

42
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).

43
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.

44
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).

45
Outil de communication
Télé information

Interface tuteur Interface


Interface apprenant
enseignantconcepteur

Inscription Suivi d’apprenant Création desTPs

Chercher collaborateur
Création des OPS
Suivi de groupe

Consulter l’aide en ligne

Evaluer les apprenants à Travers


un jeu d’essai Création des QCM
Consulter le RDV de
collaboration

IHM LMS

Administrateur

Interface
Compilateur choix Auto-évaluation

Télé programmation
Zone
Editeur partagé Correction des erreurs d’exécution
Téléchargement fréquemment

Commise

Figure
Figure5.1:Architecture de la
1 : Architecture de laplateforme
plateformeE-TéLéTP@AALP
E-TéLéTP@AALP[36]
[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.

46
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.

47
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].

48
Programme Programme C++
C++apprenant expert

Génération des Génération des


Phase 1 diagrammes de classes diagrammes de classes
et de communication et de communication

Diagramme de classes et de
Diagramme de classes et de
communication de l’apprenant
communication de l’expert

Décomposition des Décomposition des


différents différents
diagrammes de diagrammes de
Phase 2 l’apprenant l’expert

Diagrammes de classes et de
Diagrammes de classes et de
communication décomposés
communication décomposés

Apparieurs hybrides
Phase 3

Alignement diagramme de Alignement diagramme de


classes communication

Phase 4
Apparieurs
composites

Différences et similarités entre les


diagrammes de l’apprenant et l’expert + la
liste des erreurs détectées

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

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

49
(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(){

50
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

51
La figure 5.6 illustre les diagrammes de collaboration générés par l’outil. Les deux
diagrammes sont dans ce cas identiques.

Figure 5.6 : diagramme de communication de l'expert et de l'apprenant

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.

52
 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

53
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.

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

L’appariement engendré à partir de diagramme de classes expert est illustré par la


figure 5.9.

Figure ‎5.9:l’appariement m

54
La figure 5.10 montre l’ensemble des caractéristiques communes entre diagrammes
de classes apprenant et expert par rapport à l’appariement m

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

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

55
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

56
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

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

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.

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

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.

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

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

58
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)

59
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.

60
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.

61
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.

62
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.

63
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.

64
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

65