JNEWS (Java New Evaluation Web Service)

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
Ma surprise du Zoo.
Licence pro MPCQ : Cours
Distance inter-locuteur
International Telecommunication Union Accra, Ghana, June 2009 Relationship between contributions submitted as input by the African region to WTSA-08,
Les numéros
ACTIVITES Les fractions (10).
Les identités remarquables
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
JXDVDTEK – Une DVDthèque en Java et XML
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Conception d’une application de gestion de fiches études
Technologies et pédagogie actives en FGA. Plan de latelier 1.Introduction 2.Les technologies en éducation 3.iPads 4.TNI 5.Ordinateurs portables 6.Téléphones.
La législation formation, les aides des pouvoirs publics
1 7 Langues niveaux débutant à avancé. 2 Allemand.
Le Concours de Conaissance II Francais I decembre 2012.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
SERABEC Simulation sauvetage aérien avec un Hercule C130. Départ de St-Honoré le 4 octobre Durée de vol 3 heures. Premier vol en Hercule pour les.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
1 Aziz Bouazzaoui -Directeur de lOMPIC Le projet dépôt en ligne de lOMPIC : réalisations et perspectives.
1 Bienvenue! Ministère de lEmploi et de la Solidarité sociale Direction des ressources humaines La conduite dun projet de refonte dun intranet Pascale.
Création dune extension du module « Exercices » pour lévaluation interne et en ligne par les étudiants des enseignements proposés aux Facultés Cellule.
Le Concours de Conaissance III Francais I fevrier 2013.
Jack Jedwab Association détudes canadiennes Le 27 septembre 2008 Sondage post-Olympique.
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
1 Choisir une catégorie. Vous recevrez la réponse, vous devez donner la question. Cliquez pour commencer.
Présentation générale
Réalisation Gestionnaire de Stock
Rappel au Code de sécurité des travaux 1 Code de sécurité des travaux Rappel du personnel initié Chapitre Lignes de Transport (Aériennes)
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
Le drapeau canadien comme symbole de fierté nationale : une question de valeurs partagées Jack Jedwab Association détudes canadiennes 28 novembre 2012.
Certificat Informatique et Internet
Le Concours de Conaissance Francais I novembre 2012.
Titre : Implémentation des éléments finis sous Matlab
Les quartiers Villeray – La Petite-Patrie et les voisinages
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
S ervice A cadémique de l I nspection de l A pprentissage dOrléans-Tours Nombre de CFA par académie 1 CFA académique avec 25 UFA 1 CFA académique avec.
Logiciel gratuit à télécharger à cette adresse :
SDTICE Etat des lieux de la généralisation du C2i niveau 1 Gérard-Michel Cochard Séminaire C2i niveau 1 Marrakech Enquête
1 INETOP
RACINES CARREES Définition Développer avec la distributivité Produit 1
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
Titre : Implémentation des éléments finis en Matlab
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Projet de Master première année 2007 / 2008
Aire d’une figure par encadrement
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Nom:____________ Prénom: ___________
Direction de santé publique de la Montérégie PORTFOLIO THÉMATIQUE EXPÉRIENCE DE SOINS DES ANGLOPHONES DE LA MONTÉRÉGIE Direction de santé publique Surveillance.
Exercice de vérification 1 p
Annexe Résultats provinciaux comparés à la moyenne canadienne
Commission paritaire de suivi des opérations de reclassement repositionnement dans le cadre du droit d’option Statistiques novembre 2010.
La formation des maîtres et la manifestation de la compétence professionnelle à intégrer les technologies de l'information et des communications (TIC)
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Initiation au JavaScript
Transcription de la présentation:

JNEWS (Java New Evaluation Web Service) Le Conservatoire National des Arts et Métiers 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 ESIEE,

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 ?

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

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)

I.2 Historique de JNEWS à l’ESIEE 1998/1999 et 1999/2000 : rendu par mail ! 2000/2001 et 2001/2002 : dépôt balbutiements : Brazil, requêtes SQL par les enseignants ! 2002/2003 et 2003/2004 : dépôt lien 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ôt page web avec applettes et sources sur serveur cnam 2005/2006 et 2006/2007 : autoévaluation et dépôt junit3 : sur serveur a2si depot : sources par php (pas BdD) sur serveur a2si

Démonstration depuis Bluej, outil submitter

Soumettre ses travaux

Le résultat des tests unitaires

Accès aux sources des tests « référents »

Bravo !!

Bonne documentation ?

Métriques de Berkeley PMD(http://pmd.sourceforge.net/) , etc…

Se situer …

Dépôt des sources et du rapport En fonction d’un agenda

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 !

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

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

II.1 Principe Principe initial de JNEWS JNEWS maintenant 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

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

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 …

II.3 Ratio échecs/succès : taux de complexité ? Un exemple d’interrogation tp7 et tp8 tp9 en cours

II.3 Aide à la correction d’un TP (1/2) Par tp, le tp8 était facile

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

II.3 Tous les résultats par étudiant Un bilan En détail ou une mesure de l’effort ?

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

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

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 ?

II.4 Interface administrateur

II.4 Interface administrateur : agenda et outils Interface extensible

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

III.1 Objectifs Accessible depuis internet Assurer un couplage faible É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 ?

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

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

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

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 …

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

III.6 Ajout d’un nouvel outil Scénario pour un couplage faible JNEWS / Outil Envoi du travail de l’étudiant Exécution de l’outil côté serveur Analyse de l’affichage résultant 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

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/ …

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

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

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.

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

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

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

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

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 étudiants 25 soumissions findbugs par 15 étudiants 62, 62, 58, 57 sur 65 ont rendu leur TP 1, 2, 3, 4

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

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

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 74 donc 2/3 hors des TP et 1/4 hors heures scolaires Les étudiants vont au bout de chaque question et acceptent les remarques … de l’ordinateur ! - [4, 1, 3, ] n’est pas acceptable - [4,1,3] est différent de [4, 1, 3]

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

VI.1 Analyse des sources Existant : PMD, FindBugs, CheckStyle, … : non adaptés à chaque question Exemple : « 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écompilation Exemple : « Pour résoudre ce problème, une HashMap serait plus appropriée qu’une ArrayList. »

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 fichiers pour 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

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.

VI.4 Utilisations futures A 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, …

Vos questions ? 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 ?