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 : " ;
00033 echo " S. Quiniou, B. Duval, B. Da Mota, A. Goeffon, D. Lesaint, V. Barichard, F. Lardeux, G. 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 = 0 ;
00048
00049 $idr++; $tableauDesRubriques[$idr] = " Rappel des objectifs du projet" ;
00050 $idr++; $tableauDesRubriques[$idr] = " Pourquoi une algorithmique en français simplifié ?" ;
00051 $idr++; $tableauDesRubriques[$idr] = " Quel type de plate-forme ?" ;
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("«programmation algorithmique»")." 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é ;" ;
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 ;" ;
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ô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ô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 :" ;
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 ;" ;
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 ;" ;
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û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ô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 ?
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 :" ;
00163 finp() ;
00164
00165 ol() ;
00166 debutli() ; p("texte") ;
00167 echo " savoir mettre en place de façon très codifiée un enchaînement d'actions compréhensibles par la machine (l'algorithme) ;" ;
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ê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 «intelligent»")." d'algorithmes qui écrit ses messages en français :" ;
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é :" ;
00216 finp() ;
00217
00218 pre("cadre") ;
00219 echo "\n" ;
00220 echo ' TESTER si reponse="OUI" '."\n" ;
00221 echo ' alors AFFECTER score <-- 1 # sous-entendu : 1 point '."\n" ;
00222 echo ' sinon AFFECTER score <-- 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ême " ;
00230 echo " action que l'algorithme :" ;
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 «fautes d'orthographe» et les erreurs de syntaxe, il est plus aisé de se corriger soi-mê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 ê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 :" ;
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 ! " ;
00282 echo " En fait, bien sû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ûr possible) nous semble ê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 ê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ê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ême nature car nous pensons qu'apprendre à programmer, c'est comme apprendre à parler une langue : " ;
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 ?
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ô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 ê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 ê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("«Est-il possible de faire analyser du code et l'exécuter par un ordinateur à distance ?»").". " ;
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 : ".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-ê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 :" ;
00454 finp() ;
00455
00456 ul() ;
00457
00458 debutli() ;
00459 p("texte") ;
00460 echo "environ 1 500 euros pour des déplacements internationaux " ;
00461 echo " car le développeur du plugin VPL est espagnol ;" ;
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 ;" ;
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ême si :" ;
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 «".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»").". \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 «".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")."» 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ê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 à la page principale de (gH)