Valid XHTML     Valid CSS2    

Listing du fichier audition.php

 

00001     <?php
00002     #   # (gH)   -_-  audition.php  ;  TimeStamp (unix) : 02 Janvier 2017 vers 09:22
00003     
00004     include(
"std.php") ;
00005     debutPage
("audition projet Atlanstic","strict") ;
00006     debutSection
() ;
00007     
00008     ##############################################################################
00009     
00010     h1
("Evaluation des savoir-faire algorithmiques,","grouge" ) ;
00011     h1
("un projet en innovation pédagogique" ) ;
00012     h1
("(support écrit pour l'audition du 26 janvier 2017)" ) ;
00013     
00014     pvide
() ;
00015     
00016     p
("texte") ;
00017     nbsp
(20) ;
00018     echo ghVert
("gilles.hunault \"at\" univ-angers.fr") ;
00019     finp
() ;
00020     
00021     pvide
() ;
00022     
00023     blockquote
() ;
00024     p
("texte troisquarts") ;
00025     echo "Cette page fait suite à la réponse positive donnée à la " 
;
00026     echo href
("lettreIntention_Hunault.pdf","lettre d'intention") ;
00027     echo " du "
.href("projet_atlanstic.php","projet")." (lettre déposée en décembre 2016). " ;
00028     echo " Pour mémoire, les modalités du projet définies par Atlanstic sont " 
;
00029     echo href
("http://atlanstic2020.fr/wp-content/uploads/sites/15/2016/10/AAP-formation-2016-final.pdf","ici").". " ;
00030     finp
() ;
00031     p
("texte troisquarts") ;
00032     echo "Ce texte a été validé par l'ensemble des participants déclarés au projet, à savoir&nbsp;: " 
;
00033     echo " S.&nbsp;Quiniou, B.&nbsp;Duval, B.&nbsp;Da&nbsp;Mota, A.&nbsp;Goeffon, D.&nbsp;Lesaint, V.&nbsp;Barichard, F.&nbsp;Lardeux, G.&nbsp;Hunault." 
;
00034     finp
() ;
00035     
00036     p
("texte troisquarts") ;
00037     echo "Les \"transparents\" de l'audition sont dans le fichier "
.href("audition.pdf").". ";
00038     finp
() ;
00039     
00040     finblockquote
() ;
00041     
00042     pvide
() ;
00043     
00044     ##############################################################################
00045     
00046     $tableauDesRubriques 
= array() ;
00047     $idr 
;
00048     
00049     $idr
++; $tableauDesRubriques[$idr] = " Rappel des objectifs du projet" ;
00050     $idr
++; $tableauDesRubriques[$idr] = " Pourquoi une algorithmique en français simplifié&nbsp;?" ;
00051     $idr
++; $tableauDesRubriques[$idr] = " Quel type de plate-forme&nbsp;?" ;
00052     $idr
++; $tableauDesRubriques[$idr] = " Faisabilité du projet et ressources nécessaires" ;
00053     $idr
++; $tableauDesRubriques[$idr] = " Feuille de route non calendaire" ;
00054     $idr
++; $tableauDesRubriques[$idr] = " Pas de concurrence et une extension nationale possible" ;
00055     
00056     $tdmCRLM 
= new tdm($tableauDesRubriques) ;
00057     $tdmCRLM
->titre() ;
00058     $tdmCRLM
->menu("oui","oui","nou") ;
00059     finSection
() ;
00060     
00061     ##########################################################################################
00062     
00063     debutSection
() ;
00064     $tdmCRLM
->afficheRubrique("oui") ; # Rappel des objectifs du projet
00065     
00066     ## -------------------------------------------------------------------------------------------
00067     
00068     blockquote
() ;
00069     p
("texte") ;
00070     echo "Le projet, prévu pour une durée de 12 mois, consiste à " 
;
00071     finp
() ;
00072     
00073     ul
() ;
00074     debutli
() ; p("texte") ;
00075     echo " implémenter une "
.ghVert("base de données d'exercices") ;
00076     echo " de "
.b("&laquo;programmation algorithmique&raquo;")." suffisamment paramétrés au niveau des entrées et des sorties pour assurer "  ;
00077     echo " une évaluation de l'exécution du code et de la résolution exhaustive du problème posé&nbsp;;" 
;
00078     finp
() ; finli() ;
00079     debutli
() ; p("texte") ;
00080     echo " implémenter des "
.ghVert("listes de progression pédagogique") ;
00081     echo " pour évaluer, suivre et guider les étudiant(e)s dans leur acquisition de compétences&nbsp;;" 
;
00082     finp
() ; finli() ;
00083     debutli
() ; p("texte") ;
00084     echo " développer une "
.ghRouge("interface d'écriture, de dépot, d'analyse, d'exécution et de suivi de progression") ;
00085     echo " dans la réalisation des exercices. " 
;
00086     finp
() ; finli() ;
00087     debutli
() ; p("texte") ;
00088     echo " mettre en place une "
.ghRouge("base de données des étudiant(e)s") ;
00089     echo " pour assurer le suivi de l'évaluation. " 
;
00090     finp
() ; finli() ;
00091     finul
() ;
00092     
00093     
00094     p
("texte") ;
00095     echo "La visée pédagogique du projet est de fournir aux étudiant(e)s un "
.b("environnement")." pour apprendre ".s_span("les bases de la programmation","bleu")." " ;
00096     echo " impérative fondamentale via une liste d'exercices gradués menant à une " 
;
00097     echo b
("certification de compétences algorithmiques")."." ;
00098     finp
() ;
00099     
00100     p
("texte") ;
00101     echo " La "
.ghBleu("première innovation")." réside dans le fait qu'on fournit suffisamment à la fois des exercices paramétrés mais aussi des moyens de tester si \"on a bon\" " ;
00102     echo " de façon à pouvoir s'auto-évaluer et valider ses compétences plut&ocirc;t que ses connaissances." 
;
00103     finp
() ;
00104     
00105     p
("texte") ;
00106     echo "La "
.ghBleu("seconde innovation")." consiste à s'abstraire d'un langage \"réel\" comme le C, le JAVA ou le PHP via l'utilisation " ;
00107     echo " d'un langage algorithmique simplifié \"universel\"en français. " 
;
00108     finp
() ;
00109     
00110     p
("texte") ;
00111     echo "La "
.ghBleu("troisième innovation")." est liée au mode d'évaluation par adéquation à un cahier des charges plut&ocirc;t que par QCM." ;
00112     finp
() ;
00113     
00114     p
("texte") ;
00115     echo "Classiquement les connaissances sont évaluées en automatique par des QCM." 
;
00116     echo " Ici, nous proposons des listes d'exercices, des entrées/sorties paramétrées et des contraintes de " 
;
00117     echo " résolution&nbsp;:" 
;
00118     finp
() ;
00119     
00120     ul
() ;
00121     
00122     debutli
() ; p("texte") ;
00123     echo ghvert
("pour garantir une compréhension")." de la notion de cahier des charges, " ;
00124     echo " de test unitaire, de résolution exhaustive&nbsp;;" 
;
00125     finp
() ; finli() ;
00126     
00127     debutli
() ; p("texte") ;
00128     echo ghvert
("pour assurer un suivi")." de la progression dans la compréhension " ;
00129     echo " de la programmation algorithmique&nbsp;;" 
;
00130     finp
() ; finli() ;
00131     
00132     debutli
() ; p("texte") ;
00133     echo ghvert
("pour attester d'un niveau")." reconnu de compétences." ;
00134     finp
() ; finli() ;
00135     
00136     finul
() ;
00137     
00138     
00139     p
("texte") ;
00140      echo "Le public visé à court terme est, bien s&ucirc;r, " 
;
00141      echo ghVert
("nos étudiants de licence, en première année, semestre 1 (introduction à l'algorithmique)").", " ;
00142      echo " dans une suite logique et complément des cours et des TD. " 
;
00143      echo " A plus long terme, on peut envisager comme public "
.ghVert("toute personne ".em("plut&ocirc;t")." post-bac") ;
00144      echo " (tout \"citoyen\" selon le ministère et DIGCOMP) " 
;
00145      echo " souhaitant tester et valoriser ses compétences en programmation algorithmique, " 
;
00146      echo " que ce soit en formation initiale, en formation continue, en auto-didacte, en formation distancielle..." 
;
00147     finp
() ;
00148     
00149     finblockquote
() ;
00150     finSection
() ;
00151     
00152     ##########################################################################################
00153     
00154     debutSection
() ;
00155     $tdmCRLM
->afficheRubrique("oui") ; # Pourquoi l'algorithmique&nbsp;?
00156     
00157     ## -------------------------------------------------------------------------------------------
00158     
00159     blockquote
() ;
00160     
00161     p
("texte") ;
00162     echo " Lorsqu'on apprend la programmation, on est confronté en général à deux domaines de compétences très distincts&nbsp;:" 
;
00163     finp
() ;
00164     
00165     ol
() ;
00166     debutli
() ; p("texte") ;
00167     echo " savoir mettre en place de façon très codifiée un encha&icirc;nement d'actions compréhensibles par la machine (l'algorithme)&nbsp;;" 
;
00168     finp
() ; finli() ;
00169     debutli
() ; p("texte") ;
00170     echo " apprendre à traduire cet algorithme dans un langage existant et à l'exécuter. " 
;
00171     finp
() ; finli() ;
00172     finol
() ;
00173     
00174     p
("texte") ;
00175     echo " Trois grands types de difficultés surviennent rapidement. " 
;
00176     echo " Tout d'abord se pose la question de savoir comment créer l'algorithme à partir de \"rien\", c'est-à-dire comment inventer la suite des actions à exécuter. " 
;
00177     echo " Ensuite vient la partie codification. Classiquement la rédaction se fait dans un \"vrai langage\", " 
;
00178     echo b
("prévu pour un ordinateur").", avec une syntaxe non naturelle et non agréable, qui utilise des symboles " ;
00179     echo " qu'on ne manipule pas d'habitude, comme les accolades {, les crochets [ et le double égal ==, " 
;
00180     echo " ce qui fait qu'il est difficile de se relire et de se corriger soi-m&ecirc;me. " 
;
00181     echo " Enfin reste la partie exécution et validation avec la rigueur/stupidité de l'ordinateur où une seule lettre, un seul point-virgule manquant " 
;
00182     echo " fait que rien ne fonctionne du premier coup et qu'on " 
;
00183     echo " a souvent du mal à trouver d'où vient l'erreur." 
;
00184     finp
() ;
00185     
00186     p
("texte") ;
00187     echo "Pour pallier ces difficultés, nous sommes convaincus qu'il faut recourir à un "
.ghRouge("langage algorithmique simplifié en français") ;
00188     echo " couplé à un "
.ghVert("analyseur et un exécuteur &laquo;intelligent&raquo;")." d'algorithmes qui écrit ses messages en français&nbsp;:" ;
00189     finp
() ;
00190     
00191     ol
() ;
00192     
00193     debutli
() ;
00194     
00195     p
("texte") ;
00196     echo s_span
(em(" Avec un langage en français, la débutante et le débutant comprennent plus facilement les actions à faire exécuter par la machine. "),"bleu") ;
00197     finp
() ;
00198     
00199     p
("texte") ;
00200     echo "Si on restreint le vocabulaire à moins d'une dizaine de verbes (CALCULER, TESTER, BOUCLER...), alors il suffit de se demander " 
;
00201     echo " par quel mot on doit débuter la phrase, comme s'il s'agissait d'une langue étrangère, pour savoir par où  commencer l'algorithme. " 
;
00202     echo " Utiliser des mots français est plus \"rassurant\", l'apprenant maitrise sans doute plus facilement BOUCLER que WHILE. " 
;
00203     finp
() ;
00204     
00205     finli
() ;
00206     
00207     debutli
() ;
00208     
00209     p
("texte") ;
00210     echo s_span
(em(" Avec un langage simplifié, la syntaxe est lisible."),"bleu") ;
00211     finp
() ;
00212     
00213     p
("texte") ;
00214     echo "Imaginons par exemple qu'on doive accorder un point au score d'évaluation d'un questionnaire si la réponse de l'utilisateur " 
;
00215     echo " est "
.b("OUI")." et zéro point pour les autres réponses. Voici un algorithme possible en français simplifié&nbsp;:" ;
00216     finp
() ;
00217     
00218     pre
("cadre") ;
00219     echo "\n" 
;
00220     echo '       TESTER    si reponse="OUI" '
."\n" ;
00221     echo '                    alors AFFECTER score &lt;-- 1 # sous-entendu : 1 point '
."\n" ;
00222     echo '                    sinon AFFECTER score &lt;-- 0 # ici, 0 point           '
."\n" ;
00223     echo '                 finsi  '
."\n" ;
00224     echo "\n" 
;
00225     finpre
() ;
00226     
00227     p
("texte") ;
00228     echo "Avec un langage informatique classique, comme C ou PHP, la traduction n'a que peu de rapport avec le français et comporte de nombreuses " 
;
00229     echo "  idiosyncrasies telles que le double égal et la construction avec ? et : illustrées dans le code suivant qui réalise la m&ecirc;me " 
;
00230     echo " action que l'algorithme&nbsp;:" 
;
00231     finp
() ;
00232     
00233     pre
("cadre") ;
00234     echo "\n" 
;
00235     echo '       $score = ($reponse=="OUI") ? 1 : 0 ; // unité : le point'
."\n" ;
00236     echo "\n" 
;
00237     finpre
() ;
00238     
00239     
00240     p
("texte") ;
00241     echo "Il est clair que cette \"traduction\" est très peu accessible au débutant(e) " 
;
00242     echo " car elle est très éloignée du code en français." 
;
00243     finp
() ;
00244     
00245     finli
() ;
00246     
00247     debutli
() ;
00248     p
("texte") ;
00249     echo  s_span
(em(" Via un analyseur qui indique les &laquo;fautes d'orthographe&raquo; et les erreurs de syntaxe, il est plus aisé de se corriger soi-m&ecirc;me."),"bleu") ;
00250     finp
() ;
00251     
00252     p
("texte") ;
00253     echo "Imaginons qu'on oublie d'indiquer la fin de si dans l'algorithme (ou son équivalent, l'accolade fermante dans un code C ou PHP). " 
;
00254     echo " Si l'analyseur indique "
.b("fin de si manquante détectée en ligne 8").", il est relativement facile de savoir de quel type d'erreur il s'agit " ;
00255     echo " (et sans doute à peu près où se situe la faute). " 
;
00256     echo " En comparaison, un message traditionnel comme "
.b("syntax error, unexpected end of file line 44")." n'explique pas d'où vient le problème mais " ;
00257     echo " dit que le fichier ne devrait pas finir ainsi, ce qui est juste du point de vue informatique car on ne peut pas ouvrir une accolade " 
;
00258     echo " sans la fermer, mais ce n'est pas très explicite ni compréhensible par un(e) débutant(e)." 
;
00259     finp
() ;
00260     
00261     
00262     p
("texte") ;
00263     echo "Si on utilise un langage simplifié prévu pour un &ecirc;tre humain, de nombreux pièges classiques sont évités. " 
;
00264     echo "Ainsi, pour réaliser l'action algorithmique proposée, une autre syntaxe en PHP est possible, qui \"colle\" plus aux mots SI, ALORS, SINON " 
;
00265     echo " indiquée ci-dessous&nbsp;:" 
;
00266     finp
() ;
00267     
00268     pre
("cadre") ;
00269     echo "\n" 
;
00270     echo '       if ($reponse=="OUI") {      '
."\n" ;
00271     echo '           $score = 1 # point      '
."\n" ;
00272     echo '       } else {                    '
."\n" ;
00273     echo '           $score = 0 ; # point    '
."\n" ;
00274     echo '       } ; # fin si                '
."\n" ;
00275     echo "\n" 
;
00276     finpre
() ;
00277     
00278     
00279     p
("texte") ;
00280     echo "Malheureusement, seuls une programmeuse ou un programmeur expérimentés verront de suite que l'analyse de ce texte aboutira au message " 
;
00281     echo " incompréhensible au débutant "
.b("syntax error, unexpected '}'")." vu que ce message dit qu'il ne faut pas d'accolade fermante&nbsp;! " ;
00282     echo " En fait, bien s&ucirc;r, il manque un point-virgule à l'affectation qui précéde cette accolade, ce qui la  rend inacceptable, mais il est clair que " 
;
00283     echo " cette subtilité échappe toujours quand on débute dans un \"vrai\" langage. Utiliser un langage sans point-virgule (et c'est bien s&ucirc;r possible) nous semble &ecirc;tre " 
;
00284     echo " incontournable. " 
;
00285     finp
() ;
00286     
00287     finli
() ;
00288     
00289     debutli
() ;
00290     p
("texte") ;
00291     echo  s_span
(em(" Via un exécuteur qui indique si \"on a bon\", il est possible de valider son travail et de s'auto-évaluer."),"bleu") ;
00292     finp
() ;
00293     
00294     p
("texte") ;
00295     echo " Lorsqu'un algorithme ou un programme s'exécute sans erreur, cela ne prouve pas que l'algorithme est juste, qu'il calcule exactement ce qu'il faut. " 
;
00296     echo " Cela indique seulement qu'il s'exécute, qu'il produit des résultats. C'est une étape nécessaire mais non suffisante pour \"prouver\" que le problème a été résolu. " 
;
00297     echo " Avec le temps, les programmeuses et programmeurs savent prévoir les cas simples et triviaux, les erreurs faciles à tester et construisent des exemples de situations à " 
;
00298     echo " vérifier, pour &ecirc;tre convaincu(e) que l'algorithme est à la fois "
.b("correct et robuste").", c'est-à-dire qu'il calcule juste et bien dans tous les bons cas de " ;
00299     echo " figure." 
;
00300     echo " Par exemple on peut imaginer que le programme s'exécute " 
;
00301     echo " correctement avec des nombres positifs mais qu'il est incorrect avec des nombres négatifs. " 
;
00302     echo " L'algorithme est juste mais la résolution sera incomplète. " 
;
00303     finp
() ;
00304     
00305     p
("texte") ;
00306     echo "Il faut donc en plus d'un éditeur et d'un analyseur d'algorithmes un exécuteur qui connaisse les bonnes réponses pour des entrées bien choisies afin " 
;
00307     echo " de pouvoir indiquer si le code écrit correspond bien à la résolution "
.b("exhaustive")." du problème. " ;
00308     echo " Dans de nombreux cas, m&ecirc;me en initiation, un problème peut demander " 
;
00309     echo " de nombreux jeux d'essais différents afin de couvrir tous les cas possibles. Apprendre à programmer, c'est aussi apprendre à \"tout prévoir\" et à \"tout tester\"." 
;
00310     echo " Avoir un système automatisé qui fournit des problèmes et qui \"connait\" tous les cas à tester permet d'indiquer à l'utilisateur les cas qu'il a couverts et ceux " 
;
00311     echo " qui ne sont pas encore pris en compte par son algorithme." 
;
00312     finp
() ;
00313     
00314     p
("texte") ;
00315     echo "Enfin, pour savoir \"si on sait programmer\", il faut passer par de nombreux exercices, souvent de difficulté croissante. " 
;
00316     echo " Ce n'est pas à l'apprenant de choisir ces exercices ni leur progression. C'est bien à une équipe pédagogique qu'il revient de construire ces " 
;
00317     echo " séries d'exercices, parfois de m&ecirc;me nature car nous pensons qu'apprendre à programmer, c'est comme apprendre à parler une langue&nbsp;: " 
;
00318     echo " seule une pratique assidue vérifiée et validée peut permettre de considérer que les compétences sont acquises. " 
;
00319     echo " Seul un environnement automatisé permet de laisser l'apprenant essayer et ré-essayer encore, jusqu'à tant qu'il ou elle réussisse un exercice " 
;
00320     echo " avant de passer au suivant et, au final, disposer d'un certificat qui atteste de ses efforts et de sa compétence via une pratique " 
;
00321     echo " jugée suffisante par une équipe pédagogique. " 
;
00322     finp
() ;
00323     
00324     $a 
ghrouge("a") ;
00325     $b 
ghrouge("b") ;
00326     $c 
ghrouge("c") ;
00327     $d 
ghrouge("d") ;
00328     $p 
ghrouge("p") ;
00329     $m 
ghrouge("m") ;
00330     $g 
ghrouge("g") ;
00331     $x 
ghrouge("x") ;
00332     $y 
ghrouge("y") ;
00333     
00334     p
("texte") ;
00335     echo " Un exemple d'une telle progression est présentée dans la séquence didactique nommée " 
;
00336     echo "  "
.ghbleu("PMG")." (".ghbleu("P")."etit ".ghbleu("M")."oyen ".ghbleu("G")."rand) " ;
00337     echo " qui consiste, étant données " 
;
00338     echo " 3 variables d'entrée 
$a,$b,$c non nécessairement numériques, à écrire au moins 5 algorithmes avec des contraintes différentes pour " ;
00339     echo " réussir à mettre dans les 3 variables de sortie 
$p,$g,$m respectivement la plus petite valeur, la " ;
00340     echo " plus grande et celle du milieu. La page liée à ce problème algorithmique est " 
;
00341     echo href
("pmg.php","ici").". " ;
00342     finp
() ;
00343     
00344     finli
() ;
00345     
00346     finol
() ;
00347     
00348     finblockquote
() ;
00349     finSection
() ;
00350     
00351     ##########################################################################################
00352     
00353     debutSection
() ;
00354     $tdmCRLM
->afficheRubrique("oui") ; # Quel type de plate-forme&nbsp;?
00355     
00356     ## -------------------------------------------------------------------------------------------
00357     
00358     blockquote
() ;
00359     
00360     p
("texte") ;
00361     echo "Une interface à distance de type "
.href("https://fr.wikipedia.org/wiki/Learning_management_system","LMS").", disons " ;
00362     echo em
(href("https://fr.wikipedia.org/wiki/Moodle","à la Moodle","nou gnoir")).", " ;
00363     echo em
(href("http://eat-tice.ec-nantes.fr/wp-content/uploads/2011/09/vialle-magnin-moreau-MarkUs-complet.pdf","à la MarkUs","nou gnoir"))." ou " ;
00364     echo em
(href("https://fr.wikipedia.org/wiki/Sakai_(formation_en_ligne)","à la Sakai","nou gnoir"))." " ;
00365     echo " est sans doute le type de plate-forme le plus simple à réaliser et à utiliser.  " 
;
00366     echo " Nous avons déjà indiqué que l'apprenant devra réussir l'écriture et l'exécution de nombreux exercices avant de disposer d'une " 
;
00367     echo s_span
(" attestation de compétence en algorithmique","bleu").". Cela implique donc d'avoir d'une part ".ghVert("une base de données d'exercices")." et des listes de progression pédagogique " ;
00368     echo " et d'autre part "
.ghVert("une base de données des apprenants et de leurs essais ")." afin " ;
00369     echo " d'assurer le suivi de la réalisation des exercices. " 
;
00370     finp
() ;
00371     
00372     p
("texte") ;
00373     echo "Les plate-formes actuelles "
.em("à la Moodle")." sur Internet sont suffisamment au point quant au stockage et à la restitution des informations " ;
00374     echo " pour garantir à la fois "
.ghRouge("un accès facile pour l'apprenant")." et ".ghRouge("un suivi pratique pour l'enseignant").". " ;
00375     echo " Utiliser une telle plate-forme ne requiert qu'un navigateur sur ordinateur sans doute -- plut&ocirc;t qu'une tablette, à cause de la saisie de texte -- " 
;
00376     echo " ce qui rend cette solution \"simple et universelle\". " 
;
00377     finp
() ;
00378     
00379     
00380     p
("texte") ;
00381     echo "Le point fort de cette solution est qu'il n'y a "
.b("aucun logiciel ni langage à installer sur ordinateur").". Il n'y a donc pas de risque " ;
00382     echo " qu'un apprenant ne réussisse pas à utiliser la plate-forme. De plus les interfaces "
.em("à la Moodle")." semblent &ecirc;tre bien intégrées " ;
00383     echo " aujourd'hui aux enseignements de licence, ce qui signifie que les apprenants n'auront besoin d'aucun temps d'apprentissage supplémentaire " 
;
00384     echo " pour utiliser cette interface. " 
;
00385     finp
() ;
00386     
00387     p
("texte") ;
00388     echo "Par contre, et contrairement à l'usage traditionnel restreint de "
.em("Moodle").", il " ;
00389     echo " faudra que cette plate-forme puisse &ecirc;tre utilisée "
.ghBleu("en accès libre par tout internaute").", étudiant angevin " ;
00390     echo " ou pas, afin de permettre de tester cette plate-forme par de nombreux utilisateurs. " 
;
00391     finp
() ;
00392     
00393     finblockquote
() ;
00394     finSection
() ;
00395     
00396     ##########################################################################################
00397     
00398     debutSection
() ;
00399     $tdmCRLM
->afficheRubrique("oui") ; #  Faisabilité du projet
00400     
00401     ## -------------------------------------------------------------------------------------------
00402     
00403     blockquote
() ;
00404     
00405     p
("texte") ;
00406     echo " La question la plus cruciale du projet est sans doute " 
;
00407     echo em
("&laquo;Est-il possible de faire analyser du code et l'exécuter par un ordinateur à distance&nbsp;?&raquo;").". "  ;
00408     finp
() ;
00409     p
("texte") ;
00410     echo " Heureusement, la réponse est "
.ghVert("OUI").". " ;
00411     finp
() ;
00412     
00413     p
("texte") ;
00414     echo "Il existe déjà en effet sous "
.em("Moodle")." au moins une plate-forme d'exécution de contenu, désignée par le terme " ;
00415     echo " de "
.b("VPL")." (Virtual Programming Lab). " ;
00416     echo " Historiquement développée en 2012 pour le langage C++ (voir l'" 
;
00417     echo href
("http://worldcomp-proceedings.com/proc/p2012/EEE3753.pdf","article fondateur")."), " ;
00418     echo " le "
.href("http://vpl.dis.ulpgc.es/","plugin")." développé en Espagne "  ;
00419     echo " a notamment été utilisé en France à Grenoble pour l'enseignement du langage Java " 
;
00420     echo " dans le cadre du projet  "
.href("http://caseine.gi.grenoble-inp.fr/","CaseInE").". " ;
00421     finp
() ;
00422     
00423     p
("texte") ;
00424     echo " La "
.href("http://vpl.dis.ulpgc.es/index.php/home/news/79-release-of-vpl32","version 3.2") ;
00425     echo " de ce VPL supporte de nombreux langages de programmation dont PERL et il ne reste sans doute qu'à interfacer " 
;
00426     echo " notre script d'analyse et d'exécution  pour le langage algorithmique "
.href("galg_pre.htm","GALG") ;
00427     echo " pour disposer d'un environnement opérationnel servant de preuve de concept une fois que les premiers exercices algorithmiques " 
;
00428     echo " et les premières listes de progression auront été rédigés." 
;
00429     finp
() ;
00430     
00431     p
("texte") ;
00432     echo "La première ressource nécessaire à ce projet est donc " 
;
00433     echo " des "
.ghVert("enseignants-chercheurs")." pour concevoir les exercices et les listes de progression. " ;
00434     echo " Il nous semble que le nombre de participants actuels est suffisant pour créer ces listes. " 
;
00435     echo " Il faudra sans doute rajouter " 
;
00436     echo " un "
.ghVert("ingénieur pédagogique")." ou ".ghVert("un chargé de mission") ;
00437     echo " pour mettre en forme ces exercices et ces listes. " 
;
00438     finp
() ;
00439     
00440     p
("texte") ;
00441     echo "Les "
.b("ressources informatiques")." à déployer ne sont pas très importantes non plus&nbsp;: ".em("Moodle")." est déjà installé à l'université d'Angers " ;
00442     echo " et à Nantes. Il faut \"juste\" un "
.ghVert("développeur PHP confirmé")." ou ".ghVert("un ingénieur pédagogique sachant programmer")." pour interfacer ".em("Moodle")." afin  ";
00443     echo " d'intégrer les bases de données d'exercices, de progression et de suivi des étudiants et mettre en place l'interface d'analyse et " 
;
00444     echo " d'exécution." 
;
00445     finp
() ;
00446     
00447     p
("texte") ;
00448     echo "Enfin, les "
.b("ressources financières")." n'ont pas besoin non plus d'exiger un budget très conséquent et " ;
00449     echo " ne devraient pas dépasser "
.ghRouge("trois mille euros").". Nous n'avons besoin que de payer quelques  " ;
00450     echo " déplacements et rencontres, peut-&ecirc;tre pour faire venir le développeur " 
;
00451     echo " du plugin ou une enseignante de Grenoble afin de profiter de leur expertise et de leur " 
;
00452     echo " retour d'expérience. " 
;
00453     echo " Voici, à titre très approximatif, une répartition envisageable de la somme à dépenser&nbsp;:" 
;
00454     finp
() ;
00455     
00456     ul
() ;
00457     
00458     debutli
() ;
00459     p
("texte") ;
00460     echo "environ 1&nbsp;500 euros pour des déplacements internationaux " 
;
00461     echo " car le développeur du plugin VPL est espagnol&nbsp;;" 
;
00462     finp
() ;
00463     finli
() ;
00464     
00465     debutli
() ;
00466     p
("texte") ;
00467     echo " environ 900 euros pour des déplacements nationaux pédagogiques, " 
;
00468     echo " des EC de Grenoble utilisent déjà ce VPL pour le langage Java&nbsp;;" 
;
00469     finp
() ;
00470     finli
() ;
00471     
00472     debutli
() ;
00473     p
("texte") ;
00474     echo " environ 600 euros pour des déplacements nationaux stratégiques " 
;
00475     echo "(COMUE,académie, région, ministère...)." 
;
00476     finp
() ;
00477     finli
() ;
00478     
00479     finul
() ;
00480     
00481     
00482     p
("texte") ;
00483     echo "En ce qui concerne la partie informatique et développement, deux pistes de cofinancement sont à l'étude. " 
;
00484     echo " D'une part l'appel à projets de pédagogies innovantes de l'université d'Angers (printemps 2017), d'autre part une collaboration avec " 
;
00485     echo " la DDN-UA et le LAB-UA. Une réunion a déjà eu lieu le 17 janvier 2017 avec des représentantes de ces structures angevines. Une machine virtuelle pour supporter l'éxécution à " 
;
00486     echo " distance des algorithmes sera sans doute mise à disposition et une évaluation du temps de programmation à prévoir pour " 
;
00487     echo " l'interfaçage avec "
.em("Moodle")." est en cours..." ;
00488     finp
() ;
00489     
00490     finblockquote
() ;
00491     finSection
() ;
00492     
00493     ##########################################################################################
00494     
00495     debutSection
() ;
00496     $tdmCRLM
->afficheRubrique("oui") ; #  Feuille de route non calendaire
00497     
00498     ## -------------------------------------------------------------------------------------------
00499     
00500     blockquote
() ;
00501     p
("texte") ;
00502     echo " Il est difficile de prévoir quel temps mettra le développeur pour fournir une intégration complète du plugin " 
;
00503     echo b
("VPL")." pour ".em("Moodle").". Toutefois il est raisonnable de penser qu'".ghRouge("à la fin du premier semestre")." nous \n" ;
00504     echo "disposerons à la fois d'une base de données intégrant des exercices avec leurs listes de progression, d'une base \n" 
;
00505     echo "de données permettant le suivi de la progression des apprenants et d'au moins une interface d'exécution \n" 
;
00506     echo "des algorithmes. "
.ghRouge("Le second semestre")." viendra ajouter une interface \"pédagogique\" à l'analyse des \n" ;
00507     echo "algorithmes avant exécution, une gestion fine des erreurs d'exécution et de la progression à effectuer \n" 
;
00508     echo "et, si le temps le permet, l'intégration d'un éditeur \"intelligent\" d'algorithmes. \n" 
;
00509     finp
() ;
00510     
00511     p
("texte") ;
00512     echo "En ce qui concerne les "
.ghVert("contenus pédagogiques").", le nombre important de participants \n" ;
00513     echo "permet d'assurer l'écriture de nombreux exercices et de listes de \n" 
;
00514     echo "progression pour que la plate-forme soit suffisamment alimentée \n" 
;
00515     echo "une fois opérationnelle. Il est prévu "
.ghVert("une réunion mensuelle")." sur l'avancement de ces \n" ;
00516     echo "contenus. Les participants se sont aussi engagés pour servir de beta-testeurs \n" 
;
00517     echo "de la plate-forme "
.ghRouge("au cours du deuxième semestre").". \n" ;
00518     finp
() ;
00519     
00520     finblockquote
() ;
00521     finSection
() ;
00522     
00523     ##########################################################################################
00524     
00525     debutSection
() ;
00526     $tdmCRLM
->afficheRubrique("oui") ; #  Une extension nationale possible
00527     
00528     ## -------------------------------------------------------------------------------------------
00529     
00530     blockquote
() ;
00531     
00532     p
("texte") ;
00533     echo "A notre connaissance, il n'y a aucun projet similaire, m&ecirc;me si&nbsp;:" 
;
00534     finp
() ;
00535     
00536     ul
() ;
00537     debutli
() ; p("texte") ;
00538     echo " il y a des tentatives d'enseignement de l'algorithmique avant l'université " 
;
00539     echo ' via Scratch, les "'
.href("https://pixees.fr/classcode/accueil/","class codes").'", ' ;
00540     echo ghRouge
("mais pas d'évaluation des compétences").". " ;
00541     finp
() ; finli() ;
00542     
00543     debutli
() ; p("texte") ;
00544     echo "au niveau post-bac, il y a des plate-formes d'exécution distante, des " 
;
00545     echo " plate-formes de dépot et de suivi pour des langages donnés, " 
;
00546     echo ghRouge
("mais pas de certification de compétences algorithmiques")."." ;
00547     finp
() ; finli() ;
00548     
00549     finul
() ;
00550     
00551     p
("texte") ;
00552     echo "Il semblerait que le \n" 
;
00553     echo href
("https://fr.wikipedia.org/wiki/Certificat_informatique_et_internet","C2I") ;
00554     echo " (certificat informatique et internet) \n" 
;
00555     echo "instauré ministériellement par la circulaire du 30 avril 2002 \n" 
;
00556     echo "soit remplacé/complété par  un nouveau cadre national de certification et de positionnement \n" 
;
00557     echo "car &laquo;"
.em("les B2I (scolaires et adultes) et C2I (étudiants et niveau 2) ont été évalués comme ")." \n" ;
00558     echo em
("étant des certifications riches mais insuffisamment connues et reconnues&raquo;").". \n" ;
00559     echo "La mise en place de ce nouveau cadre a commencé en janvier 2016. \n" 
;
00560     echo "Il est issu d’une réflexion européenne, le  \n" 
;
00561     echo href
("https://ec.europa.eu/jrc/en/digcomp/digital-competence-framework","DIGCOMP").". \n" ;
00562     finp
() ;
00563     
00564     p
("texte") ;
00565     echo "Le développement de l'outil de positionnement numérique nommé\n" 
;
00566     echo href
("http://cache.media.education.gouv.fr/file/11_-_novembre/60/1/pix-presentation_(2)_664601.pdf?ts=1479392982","PIX")." \n" ;
00567     echo "a débuté mi-juin 2016 avec une startup d'Etat : \n" 
;
00568     echo href
("https://pix.beta.gouv.fr/","pix.beta.gouv.fr").". \n" ;
00569     echo ghRouge
("PIX")." est &laquo;".em("un service d'évaluation et de certification des compétences numériques,")." \n" ;
00570     echo em
(" qui vise à stimuler et à accompagner la formation nécessaire à la transformation digitale")." \n" ;
00571     echo em
(" de nos sociétés")."&raquo; comme indiqué sur le site \n" ;
00572     $url 
"http://ecolenumerique.education.gouv.fr/2016/11/17/pix-un-service-public-pour-evaluer-et-certifier-les-competences-numeriques-bientot-ouvert/" ;
00573     echo href
($url,"ecolenumerique.education.gouv.fr").". " ;
00574     finp
() ;
00575     
00576     p
("texte") ;
00577     echo "En conformité avec le cadre de référence européen "
.ghBleu("DIGCOMP").", ".ghRouge("PIX")." \n" ;
00578     echo "est un projet public de plate-forme en ligne \n" 
;
00579     echo " dont l'objectif \n" 
;
00580     echo "est de \"Mesurer, développer et valoriser ses compétences numériques\". \n" 
;
00581     finp
() ;
00582     
00583     p
("texte") ;
00584     echo "Après évaluation du "
.href("https://pix.beta.gouv.fr/","site")." mis à disposition en version beta \n" ;
00585     echo "il nous semble que ce site n'est pas vraiment adapté à l'évaluation de compétences \n" 
;
00586     echo "algorithmiques, ne serait-ce que par le format des questionnaires en "
.b("QCM").", \n" ;
00587     echo " m&ecirc;me si le terme "
.em("évaluation de compétence algorithmique")." est employé sur ce site." ;
00588     finp
() ;
00589     
00590     p
("texte") ;
00591     echo "Il serait intéressant, avec un peu d'ambition, \n" 
;
00592     echo "de coupler  la plate-forme de notre projet à un référentiel national d'enseignement \n" 
;
00593     echo "et de la faire valider par un organisme national \"sérieux\" comme la \n" 
;
00594     echo href
("http://www.societe-informatique-de-france.fr/","SIF") ;
00595     echo " (société informatique de France) \n" 
;
00596     echo "afin d'en faire un outil d'aide à l'apprentissage en ligne de \n" 
;
00597     echo "la programmation, en tant que complément à un enseignement de la programmation algorithmique en présentiel ou en distanciel. \n" 
;
00598     finp
() ;
00599     
00600     p
("texte") ;
00601     echo "En conclusion, " 
;
00602     echo " une fois "
.b(em("la preuve de concept démontrée")).",  " ;
00603     echo " notre projet sera une alternative crédible pour une \"vraie\" évaluation de compétences algorithmiques " 
;
00604     echo " et pourra faire place à un projet national. " 
;
00605     finp
() ;
00606     
00607     finblockquote
() ;
00608     finSection
() ;
00609     
00610     blockquote
() ;
00611     
00612     
00613     ##############################################################################
00614     
00615     pvide
() ;
00616     
00617     p
() ;
00618     echo href
("montresource.php?nomfic=audition.php","Code-source de cette page","orange_stim nou")."." ;
00619     finp
() ;
00620     
00621     ##############################################################################
00622     
00623     finblockquote
() ;
00624     finPage
() ;
00625     ?>

Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.

 

 

retour gH    Retour à la page principale de   (gH)