lécole dingénieurs des sciences et technologies de linformation et de la communication jnews ( j...
Post on 03-Apr-2015
107 Views
Preview:
TRANSCRIPT
L’école d’ingénieurs des sciences et technologies de l’information et de la communication
JNEWS(Java New Evaluation Web Service)
Une plate-forme de dépôt, test fonctionnel,
et analyse de code source pour Travaux Pratiques en
programmation
Le Conservatoire Nationaldes Arts et Métiers
ESIEE,
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 2 / 46
Présentation et plan
Jean-Michel DOUIN (CNAM Paris) & Denis BUREAU (ESIEE)
• I. Introduction• II. L’outil JNEWS• III. Technique et outils• IV. Bilan au CNAM• V. Bilan à l’ESIEE• VI. Perspectives & conclusion• Questions ?
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 3 / 46
Contenu de la partie I.
• I. Introduction
• I.1 Présentation des intervenants
• I.2 Historique de JNEWS à l’ESIEE
• I.3 Démonstration• pour étudiant
• pour enseignant
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 4 / 46
I.1 Présentation des intervenants
• Jean-Michel Douin :• Enseignant au CNAM Paris(Cedric)• concepteur et implémenteur de JNEWS
• Denis Bureau :• Enseignant permanent à ESIEE Paris (A2SI)• Spécialisé en langages de programmation (M. OO)
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 5 / 46
I.2 Historique de JNEWS à l’ESIEE• 1998/1999 et 1999/2000 : rendu par mail !
• 2005/2006 et 2006/2007 : autoévaluation et dépôtjunit3 : sur serveur a2si depot : sources par php (pas BdD) sur serveur a2si
• 2004/2005 : dépôtpage web avec applettes et sources sur serveur cnam
• 2002/2003 et 2003/2004 : dépôtlien vers page web avec applettes et sources (serveur cnam, mais consultation étudiants)- risque de copie sauvage dénoncé par les étudiants- risque d’ inaccessibilité des pages web par les enseignants
• 2000/2001 et 2001/2002 : dépôtbalbutiements : Brazil, requêtes SQL par les enseignants !
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 6 / 46
Démonstration depuis Bluej, outil submitter
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 7 / 46
Soumettre ses travaux
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 8 / 46
Le résultat des tests unitaires
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 9 / 46
Accès aux sources des tests « référents »
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 10 / 46
Bravo !!
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 11 / 46
Bonne documentation ?
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 12 / 46
Métriques de Berkeley
• PMD(http://pmd.sourceforge.net/) , etc…
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 13 / 46
Se situer …
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 14 / 46
Dépôt des sources et du rapport
• En fonction d’un agenda
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 15 / 46
I.3 Démonstration
2007/2008 : junit3 et depot à l’ESIEE (serveur a2si)En résumé (étudiant / enseignant) :• Compilateur : erreurs de syntaxe• Tests locaux : fournis, ou pensés par l’étudiant• Tests distants : pensés par les enseignants• Consultations : historique, et résultats des autres• Visualisations : erreurs, assertion, source• Analyses des sources : outils pointilleux, verbeux• Dépôt des sources : TP rendu !
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 16 / 46
Contenu de la partie II.
• II. L’outil JNEWS
• II.1 Objectifs & Principe
• II.2 Côté enseignant : gains
• II.3 Quelques statistiques
• II.4 Quelques interrogations
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 17 / 46
II.1 Objectifs
• Enseignement de la programmation …• Cours magistral et éventuellement des Exercices Dirigés
• Travaux Pratiques (pour de futurs professionnels)• Quels types d’applications ?
• Combien de classes ? de lignes ? Complexité ?• Qualité des programmes ?
• Tests fonctionnels, analyse des sources, documentation, preuves ?
• Comment encourager les étudiants ?• Comment vérifier le travail fourni ?
• Étudiants comme enseignants
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 18 / 46
II.1 Principe
• Principe initial de JNEWS• Auto-évaluation
• Pour les étudiants : une aide à la réponse attendue• Pour les enseignants : mesures et statistiques
• Enseignant/correcteur : mise en place de tests, d’assertions
• JNEWS maintenant• Une analyse des sources et du code par des outils existants• Un dépôt des travaux effectués avec un échéancier
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 19 / 46
II.2 Enseignants : gains escomptés
• Identifier les échecs/réussites rencontrés afin de :• Reprendre une partie du cours,• Vérifier les acquisitions
• Ajouter d'autres questions, • Retirer les questions triviales,
• Ajouter de nouveaux tests,• Retirer certaines ambiguïtés de l’énoncé• ...
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 20 / 46
II.2 Quelles mesures ?
• Statistiques pendant et après la remise du TP
• Le nombre d'auditeurs et leurs tentatives, • Les échecs et leur occurrence,
• Le nombre d'auditeurs ayant réussi, en une seule soumission,• Les échecs les plus fréquents pour un TP donné,• Des ratios comme le nombre d'échecs sur le nombre de réussites,
• Le source des assertions ayant engendré un échec,• Le nombre de réussites ou d’échecs pour chaque assertion• …
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 21 / 46
II.3 Ratio échecs/succès : taux de complexité ?
• Un exemple d’interrogation
• tp7 et tp8• tp9 en cours
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 22 / 46
II.3 Aide à la correction d’un TP (1/2)• Par tp, le tp8 était facile
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 23 / 46
II.3 Aide à la correction d’un TP (2/2)
• * Traces sur la console détectées System.out.print indésirables ?
• Le tp7 était moins facile …
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 24 / 46
II.3 Tous les résultats par étudiant• Un bilan
• En détail ou une mesure de l’effort ?
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 25 / 46
II.3 Assertions référentes du correcteur
• Quels échecs rencontrés ? Quelles mesures ?
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 26 / 46
II.3 Assertions en clair et statistiques
• Soit pour cette assertion du tp7 :
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 27 / 46
II.4 Accès aux échecs rencontrés pendant le TP
• En temps-réel, un poste/portable dédié• Moniteurs de TP, vacataires
• Accès aux sources des tests établis par le correcteur
Réponse immédiate • Aux doutes, aux questions de l’étudiant :
« expected: "az" but was: "bz" »mais à quel test ?
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 28 / 46
II.4 Interface administrateur
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 29 / 46
II.4 Interface administrateur : agenda et outils
• Interface extensible
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 30 / 46
Contenu de la partie III.
• III. Objectifs, technique et outils• III.1 Brazil et HSQLDB• III.2 Java, IDE, plugin : JDK6, BlueJ, Submitter• III.3 Tests et java : junit• III.4 Dépôt• III.5 Autres outils distants
(pmd, findbugs, jass, esc/java, prolog, …)• III.6 Ajouter un nouvel outil• III.7 Sécurité, permissions
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 31 / 46
III.1 Objectifs
• Accessible depuis internet• Étudiants et enseignants, correcteurs et administrateurs
• Assurer un couplage faible• JNEWS / Outils
• N’importe quel outil, n’importe quel exécutable ?• Quel que soit le système d’exploitation ? • Sécurité, permissions ?
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 32 / 46
III.1 Brazil et HSQLDB
• Technologies utilisées• Serveur Brazil de Sun, 100% Java (Sun Public License)
• Choix historique• Boîte à outils pour la construction de serveurs Web• Modulaire, léger, simple• BSL langage de script associé (cf. PHP, …)
• HSQLDB, 100% Java (BSD License)• Base de données éprouvée (OpenOffice 2.0, Hibernate, …)
• 20 classes développées + une vingtaine de scripts BSL• 2 JVM indépendantes
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 33 / 46
III.2 IDE, plugin
• BlueJ : • IDE avec Outil submitter intégré,
• envoi des travaux au protocole HTTP
• Via un simple formulaire
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 34 / 46
III.3 Tests et java•Tests fonctionnels en « Boîtes Noires »
• Outil www.junit.org ou www.httpUnit.org
•Exemple :
void test_ajouter_référent() {
• liste.ajouter(3); // méthode ajouter de la solution de l’étudiant
• assertTrue("ajouter est en échec ???", liste.contient(3)); // le test
}
ajouter est en échec ??? C’est le commentaire retourné à l’étudiant
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 35 / 46
III.4 Agenda, soumissions et dépôt
• Échéances gérées par l’agenda de JNEWS
• Échéance rappelée à chaque soumission• Dépôt de la solution de l’étudiant
• Un document HTML comme rapport de TP (avec ou sans applette)• Seul ou en binôme,• À temps, en retard …
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 36 / 46
III.5 Autres outils distants implémentés
• Autres tests unitaires (inspirés de jUnit)• HttpUnit, jWebUnit,• Pour Prolog (swi-prolog),
• Analyse de sources• PMD, checkstyle, findbugs, jlint
• Programmation par contrats• Jass3, ModernJass
• Aide à la « Preuve » de programme• ESC/JAVA2
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 37 / 46
III.6 Ajout d’un nouvel outil• Scénario pour un couplage faible JNEWS / Outil
1. Envoi du travail de l’étudiant2. Exécution de l’outil côté serveur3. Analyse de l’affichage résultant4. Transmission des résultats d'évaluation
2. : Exécution de l’outil Une balise BSL <exec nouvel_outil paramètres>
3-4. : Analyse de l’affichage résultant Une nouvelle balise BSL
<nouvel_outil paramètres>Déclenche un programme Java d’analyse de l’affichage et de calcul du résultat
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 38 / 46
III.6 Table OUTILS_JNEWS
pmd http://pmd.sourceforge.net/checkstyle http://checkstyle.sourceforge.net/findbugs http://findbugs.sourceforge.net/escjava http://kindsoftware.com/products/opensource/ESCJava2/prolog http://www.swi-prolog.org/…
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 39 / 46
III.7 Sécurité, permissions
• Exécution d’un « Outil » ?• À l’identique d’une commande effectuée localement
• Exécution du programme d’un étudiant• Qui boucle ?
• délai de garde• Qui exécute des appels systèmes ? (fichiers, requêtes, …)
• SecurityManager en Java, • adaptable en fonction du TP ou de la question
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 40 / 46
Contenu de la partie IV.
• IV. Bilan au CNAM
• IV.1 CNAM Paris(plusieurs unités, plusieurs années)
• IV.2 Les centres associés CNAM(diffusion, utilisation locale, agrégation)
• IV.3 Observations- sur étudiants (monôme, à distance)- sur enseignants
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 41 / 46
IV.1 CNAM Paris
• Programmation Avancée (niveau L3) (NFP121)• 250 auditeurs/an, 10 TP, plus de 10000 soumissions
• « Il est fortement conseillé de faire les TP »
• environ 150 auditeurs/an pour plusieurs UE en M1 et M2
• 20 auditeurs pour une unité M1 totalement à distance (FOD)
• Écoles d’ingénieurs notamment l’ESCPI-CNAM.
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 42 / 46
IV.2 Les centres associés CNAM
• Un site JNEWS par centre associé CNAM• Gestion/soumissions autonomes
• Diplôme national : même contenu et même examen• Exemple : NFP121 (Programmation Avancée L3)
• Collecte des résultats des Centres Cnam, • Statistique nationale des tentatives aux mêmes TP,
• Export en XML des journaux de JNEWS• Cf. projet ESIEE/IN4 en 2007
• par Aymen Boudrigua et Aymen Bouzouita
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 43 / 46
IV.3 Observations• NFP121 : Côté auditeur ( cours/ED en présentiel, TP à domicile)
• + Les tests/JNEWS deviennent l’objet de discussions animées sur le forum• « je ne comprend pas, mes tests fonctionnent … à la soumission, j’ai les problèmes suivants … »
• + Motivation accrue,
• + Interactions avec les enseignants en ED !
• - Critiques
•Sur le canevas des classes imposé
•Sur le nom imposé des méthodes
Créativité moindre
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 44 / 46
IV.3 Observations
• Côté correcteur• + Un cadre imposé des réponses attendues,• + Tests/JNEWS + rapport = correction facilitée
(ou bien les tests réussis induisent une lecture plus rapide du rapport …
en moyenne 120 TP à corriger par semaine !)
• - Un test référent se construit sur au moins 2 années
• + Acquis effectifs pour la poursuite de la formation
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 45 / 46
Contenu de la partie V.
• V. Bilan à l’ESIEE
• V.1 IN413 passées (depuis 1999)
• V.2 IN413 2007/2008 (junit3, depot)
• V.3 OV5-SEJA 2007/2008 (junit3, depot)
• V.4 Observations
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 46 / 46
V.1 IN413 passées
• Statistiques sur les 4 premiers TP 2006/2007
686 soumissions junit3 : réparties entre 9h40 et 19h24, + 1 22h10 dont 368 avec 0 fautes dont 285 hors créneaux de TP dont 5 le week-end ( => à l’ESIEE !)
43 soumissions pmd par 17 étudiants25 soumissions findbugs par 15 étudiants
62, 62, 58, 57 sur 65 ont rendu leur TP 1, 2, 3, 4
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 47 / 46
V.2 IN413 2007/2008
• 1735 soumissions (dont 850 succès et 135 exceptions)• Seulement 20 findbugs et 14 pmd• Et 525 dépôts (dont 450 à temps)• 67 (60) étudiants sur 69 ont soumis (déposé) 7 TP• groupe1: 456, groupe 2 : 478, groupe 3 : 649
• Tests unitaires pour• Applettes, graphique, junit• Clients et Serveurs Web junit, HttpUnit
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 48 / 46
V.3 OV5-SEJA (COSI) 2007/2008
• 221 soumissions (dont 107 succès et 41 exceptions)• Et 60 dépôts (dont 38 à temps)
• Tests unitaires pour• Applettes, graphique, junit• Clients et serveur RMI, junit• Clients et Serveurs Web junit, HttpUnit
• Dépôt du projet
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 49 / 46
V.4 Observations
• Les étudiants travaillent !- pendant les 2h de TP : 611 dont 498- pendant les heures scolaires - TP : 1125 dont 738- 7h30-8h, 12h-13h, 19h-22h : 447 dont 188- 22h-2h20 : 109 dont 74donc 2/3 hors des TP et 1/4 hors heures scolaires
• Les étudiants vont au bout de chaque questionet acceptent les remarques … de l’ordinateur !- [4, 1, 3, ] n’est pas acceptable- [4,1,3] est différent de [4, 1, 3]
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 50 / 46
Contenu de la partie VI.
• VI. Perspectives & conclusion
• VI.1 Analyse des sources(générale ou particulière)
• VI.2 Autres développements futurs
• VI.3 Développement « en cours »
• VI.4 Utilisations futures(à l’ESIEE / ailleurs ?)
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 51 / 46
VI.1 Analyse des sources
• Existant : PMD, FindBugs, CheckStyle, … :non adaptés à chaque questionExemple : « Certains attributs ne servent à rien. »
• A faire : vérifier la méthode employée par l’étudiant pour résoudre une question, même s’il a 0 échec=> introspection Java et/ou décompilationExemple : « Pour résoudre ce problème, une HashMap serait plus appropriée qu’une ArrayList. »
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 52 / 46
VI.2 Autres développements futurs
• Intégration d’autres outils• JDepend, JavaNCSS, Dependency finder (métriques de qualité), …• JPlag (plagiat)
• Outil de gestion des versions de fichierspour développeurs JNEWS :• .java : solution, extraits pour énoncé• tests : pour jnews, extraits pour énoncé• différentes années, essais avec erreurs
• Nouvel « outil » autour de gcc• Tests supplémentaires pour éviter les « erreurs »• Formulation des résultats plus claire, en français
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 53 / 46
VI.3 Développement « en cours »
• En 2008 : Julien MEDDAH (étudiant I4)• Plug-in de soumissions des travaux
• Pour les IDE NetBeans et Eclipse
Phase préparatoire commencée.
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 54 / 46
VI.4 Utilisations futuresA l’ESIEE :• IN4A21 (depuis lundi : junit3 et depot)• PR3S02 (avant la fin de ce mois : depot)• IN101 (de février à mai : junit3 et depot)• PR102 (début juin : depot)• …
Diffusion de JNEWS • Centralisée : intégré au site ESIEE ou du Cnam• Répartie : site complètement autonome Reste un travail important de mise à disposition, notices, suivi, …
17/01/08 - L’école d’ingénieurs des sciences et technologies de l’information et de la communication 55 / 46
VI.5 Conclusion
• L’utilisation de JNEWS est un succès :- fiabilité, performance, apport pratique- travail effectif & à domicile des étudiants- suivi et amélioration de l’unité pour les enseignants
• Il reste beaucoup à faire !
http://jfod.cnam.fr/jnews/
Vos questions ?
top related