L - PowerPoint PPT Presentation

About This Presentation
Title:

L

Description:

Ajouter de nouveaux tests, Retirer certaines ambigu t s de l' nonc ... { liste.ajouter(3); // m thode ajouter de la solution de l' tudiant. assertTrue('ajouter est ... – PowerPoint PPT presentation

Number of Views:96
Avg rating:3.0/5.0
Slides: 56
Provided by: joe84
Category:
Tags: ajouter

less

Transcript and Presenter's Notes

Title: L


1
Lécole dingénieurs des sciences et
technologies de linformation et de la
communication
Le Conservatoire National des Arts et Métiers
  • 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

ESIEE,
2
Présentation et plan
  • Jean-Michel DOUIN (CNAM Paris) Denis BUREAU
    (ESIEE)
  • I. Introduction
  • II. Loutil JNEWS
  • III. Technique et outils
  • IV. Bilan au CNAM
  • V. Bilan à lESIEE
  • VI. Perspectives conclusion
  • Questions ?

3
Contenu de la partie I.
  • I. Introduction
  • I.1 Présentation des intervenants
  • I.2 Historique de JNEWS à lESIEE
  • I.3 Démonstration
  • pour étudiant
  • pour enseignant

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

5
I.2 Historique de JNEWS à lESIEE
  • 1998/1999 et 1999/2000 rendu par mail !
  • 2000/2001 et 2001/2002 dépôtbalbutiements
    Brazil, requêtes SQL par les enseignants !
  • 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
  • 2004/2005 dépôtpage web avec applettes et
    sources sur serveur cnam
  • 2005/2006 et 2006/2007 autoévaluation et
    dépôtjunit3 sur serveur a2si depot sources
    par php (pas BdD) sur serveur a2si

6
Démonstration depuis Bluej, outil submitter
7
Soumettre ses travaux
8
Le résultat des tests unitaires
9
Accès aux sources des tests  référents 
10
Bravo !!
11
Bonne documentation ?
12
Métriques de Berkeley
  • PMD(http//pmd.sourceforge.net/) , etc

13
Se situer
14
Dépôt des sources et du rapport
  • En fonction dun agenda

15
I.3 Démonstration
  • 2007/2008 junit3 et depot à lESIEE (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 !

16
Contenu de la partie II.
  • II. Loutil JNEWS
  • II.1 Objectifs Principe
  • II.2 Côté enseignant gains
  • II.3 Quelques statistiques
  • II.4 Quelques interrogations

17
II.1 Objectifs
  • Enseignement de la programmation
  • Cours magistral et éventuellement des Exercices
    Dirigés
  • Travaux Pratiques (pour de futurs professionnels)
  • Quels types dapplications ?
  • 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

18
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,
    dassertions
  • 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

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

20
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

21
II.3 Ratio échecs/succès taux de complexité ?
  • Un exemple dinterrogation
  • tp7 et tp8
  • tp9 en cours

22
II.3 Aide à la correction dun TP (1/2)
  • Par tp, le tp8 était facile

23
II.3 Aide à la correction dun TP (2/2)
  • Le tp7 était moins facile
  • Traces sur la console détectées
    System.out.print indésirables ?

24
II.3 Tous les résultats par étudiant
  • Un bilan

25
II.3 Assertions référentes du correcteur
  • Quels échecs rencontrés ? Quelles mesures ?

26
II.3 Assertions en clair et statistiques
  • Soit pour cette assertion du tp7

27
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 ?

28
II.4 Interface administrateur
29
II.4 Interface administrateur agenda et outils
  • Interface extensible

30
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

31
III.1 Objectifs
  • Accessible depuis internet
  • Étudiants et enseignants, correcteurs et
    administrateurs
  • Assurer un couplage faible
  • JNEWS / Outils
  • Nimporte quel outil, nimporte quel exécutable ?
  • Quel que soit le système dexploitation ?
  • Sécurité, permissions ?

32
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

33
III.2 IDE, plugin
  • BlueJ
  • IDE avec Outil submitter intégré,
  • envoi des travaux au protocole HTTP
  • Via un simple formulaire

34
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 ??? Cest le
    commentaire retourné à létudiant

35
III.4 Agenda, soumissions et dépôt
  • Échéances gérées par lagenda 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

36
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

37
III.6 Ajout dun nouvel outil
  • Scénario pour un couplage faible JNEWS / Outil
  • Envoi du travail de létudiant
  • Exécution de loutil côté serveur
  • Analyse de laffichage résultant
  • Transmission des résultats d'évaluation
  • 2. Exécution de loutil
  • Une balise BSL ltexec nouvel_outil
    paramètresgt
  • 3-4. Analyse de laffichage résultant
  • Une nouvelle balise BSL
  • ltnouvel_outil paramètresgt
  • Déclenche un programme Java danalyse de
    laffichage et de calcul du résultat

38
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/opensou
    rce/ESCJava2/
  • prolog http//www.swi-prolog.org/

39
III.7 Sécurité, permissions
  • Exécution dun  Outil  ?
  • À lidentique dune commande effectuée localement
  • Exécution du programme dun é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

40
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

41
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 dingénieurs notamment lESCPI-CNAM.

42
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

43
IV.3 Observations
  • NFP121 Côté auditeur ( cours/ED en présentiel,
    TP à domicile)
  • Les tests/JNEWS deviennent lobjet de
    discussions animées  sur le forum
  •  je ne comprend pas, mes tests fonctionnent  
  • à la soumission, jai 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

44
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

45
Contenu de la partie V.
  • V. Bilan à lESIEE
  • 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

46
V.1 IN413 passées
  • Statistiques sur les 4 premiers TP 2006/2007686
    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 ( gt à lESIEE !)43 soumissions pmd
    par 17 étudiants25 soumissions findbugs par 15
    étudiants62, 62, 58, 57 sur 65 ont rendu leur
    TP 1, 2, 3, 4

47
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

48
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

49
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 lordinateur !- 4,
    1, 3, nest pas acceptable- 4,1,3 est
    différent de 4, 1, 3

50
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(à lESIEE / ailleurs
    ?)

51
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 sil
    a 0 échecgt introspection Java et/ou
    décompilationExemple  Pour résoudre ce
    problème, une HashMap serait plus appropriée
    quune ArrayList. 

52
VI.2 Autres développements futurs
  • Intégration dautres 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

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

54
VI.4 Utilisations futures
  • A lESIEE
  • 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,

55
VI.5 Conclusion
  • Lutilisation de JNEWS est un succès -
    fiabilité, performance, apport pratique- travail
    effectif à domicile des étudiants- suivi et
    amélioration de lunité pour les enseignants
  • Il reste beaucoup à faire !
  • http//jfod.cnam.fr/jnews/
  • Vos questions ?
Write a Comment
User Comments (0)
About PowerShow.com