Listing du fichier projet_atlanstic.php
00001 <?php
00002 # # (gH) -_- projet_atlanstic.php ; TimeStamp (unix) : 16 Novembre 2016 vers 10:17
00003 header('Content-Type "text/html; charset=iso-8859-1"') ;
00004 include("std.php") ;
00005 debutPage("projet Atlanstic","strict") ;
00006 debutSection() ;
00007 blockquote() ;
00008 blockquote() ;
00009
00010 ##############################################################################
00011
00012 h1("Evaluation des savoir-faire algorithmiques," ) ;
00013 h1("un projet en innovation pédagogique" ) ;
00014
00015 pvide() ;
00016
00017 p() ;
00018 nbsp(20) ;
00019 echo ghVert("gilles.hunault \"at\" univ-angers.fr") ;
00020 finp() ;
00021
00022 pvide() ;
00023
00024 $nums = 0 ; # numéro de section
00025 blockquote() ;
00026
00027 ##############################################################################
00028
00029 $nums++ ; h2($nums.". Algorithmique, programmation et évaluation") ;
00030
00031 ## ---------------------------------------------------------------------------
00032
00033 blockquote() ;
00034
00035 p("texte") ;
00036 echo "Il faut sans doute, soyons prudents, distinguer " ;
00037 echo " la programmation au sens strict et celle au sens large. " ;
00038 sdl() ;
00039 echo " Ce que nous nommons ".ghBleu("la programmation au sens strict")." consiste en la traduction d'un algorithme déjà décidé " ;
00040 echo " en un programme dans un langage déjà choisi. " ;
00041 sdl() ;
00042 echo " A l'opposé, ".ghBleu("la programmation au sens large")." ou «".em("développement informatique")."» " ;
00043 echo " laisse la place aux problèmes d'analyse et de conception, " ;
00044 sdl() ;
00045 echo " à la discussion algorithmique, au choix du ou des langages à utiliser, " ;
00046 echo " à la définition des tests unitaires, au ".em("design")." de " ;
00047 echo " l'interface utilisateur, aux documentations comme le manuel de l'utilisateur, le manuel du programmeur " ;
00048 echo " et le livret des exemples." ;
00049 finp() ;
00050
00051
00052 p("texte") ;
00053 echo "L'enseignement de l'".ghRouge("algorithmique impérative fondamentale")." qui constitue le socle initial de " ;
00054 echo " l'apprentissage de la programmation est souvent difficile, que ce soit en formation classique ou continue." ;
00055 echo " Classiquement, les étudiants sont confrontés à au moins " ;
00056 echo " deux difficultés récurrentes majeures : écrire les algorithmes en français et tester les résultats " ;
00057 echo " de leurs programmes (pas des algorithmes). Il est en général impossible de tester un algorithme car la plupart du temps " ;
00058 echo " il est traduit dans un langage. Il est souvent compliqué pour les étudiants de savoir si un programme produit les " ;
00059 echo " résultats corrects car lorsqu'ils exécutent leurs programmes, les étudiants débutants se contentent en général " ;
00060 echo " d'une ou deux vérifications sommaires «dans les bons cas et avec des données minimales»." ;
00061 finp() ;
00062
00063 p("texte") ;
00064 echo ghVert("Evaluer le savoir-faire algorithmique")." est donc souvent relégué à une place secondaire " ;
00065 echo " dans l'enseignement universitaire classique où on vient plutôt tester des programmes que des algorithmes " ;
00066 echo " sans avoir de temps à consacrer ni aux tests unitaires ni à la documentation ou aux interfaces utilisateur." ;
00067 finp() ;
00068
00069
00070 p("texte") ;
00071 echo "Il y a donc ici deux innovations à la clé : une évaluation des savoir-faire au lieu de l'évaluation classique des connaissances " ;
00072 echo " et une analyse des algorithmes en dehors de leur traduction dans un langage." ;
00073 finp() ;
00074
00075 finblockquote() ;
00076
00077 ##############################################################################
00078
00079 $nums++ ; h2($nums.". Un projet pour une telle évaluation") ;
00080
00081 ## ---------------------------------------------------------------------------
00082
00083 $a = ghrouge("a") ;
00084 $b = ghrouge("b") ;
00085 $c = ghrouge("c") ;
00086 $d = ghrouge("d") ;
00087 $p = ghrouge("p") ;
00088 $m = ghrouge("m") ;
00089 $g = ghrouge("g") ;
00090 $x = ghrouge("x") ;
00091 $y = ghrouge("y") ;
00092
00093 blockquote() ;
00094
00095 p("texte") ;
00096 echo "Afin de fournir une place suffisamment conséquente à l'algorithmique fondamentale et s'affranchir au moins partiellement des" ;
00097 echo " langages -- le temps d'apprendre l'algorithmique, il pourrait être intéressant de développer, dans une première étape, ".ghRouge("une base de données d'exercices") ;
00098 echo " de ".b("«programmation algorithmique»")." suffisamment paramétrés au niveau des entrées et des sorties pour assurer " ;
00099 echo " une évaluation de l'exécution du code couplée à ".ghRouge("une interface de dépot, d'analyse, d'exécution et de suivi de progression") ;
00100 echo " dans la réalisation des exercices. " ;
00101 finp() ;
00102
00103
00104 p("texte") ;
00105 echo "Un exemple de tel exercice est celui nommé " ;
00106 echo " problème algorithmique ".ghbleu("PMG")." (".ghbleu("P")."etit ".ghbleu("M")."oyen ".ghbleu("G")."rand) " ;
00107 echo " qui consiste, étant données " ;
00108 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 " ;
00109 echo " réussir à mettre dans les 3 variables de sortie $p,$g,$m respectivement la plus petite valeur, la " ;
00110 echo " plus grande et celle du milieu. " ;
00111 finp() ;
00112
00113 p("texte") ;
00114 echo " Le détail des contraintes pour la séquence didactique de cet exercice est fourni sur la page ".href("pmg.php","PMG","bouton_fin vert_pastel nou")."." ;
00115 finp() ;
00116
00117 # Est-ce que MarkUs pourrait héberger un tel système ?
00118 # bases de données d'exercices mais surtout de progression pédagogique,
00119 # de séquences didactiques (meme exercice générique sur données numériques
00120 # puis sur données chaines de caractères, généralisation
00121
00122 p("texte") ;
00123 echo "L'interface de dépot, d'analyse et d'exécution d'algorithmes pourrait être développée autour d'un langage algorithmique comme " ;
00124 echo href("index.php","GALG","bouton_fin nou jaune_pastel")." via " ;
00125 echo " le ".em("plugin")." pour ".em("Moodle")." nommé " ;
00126 echo href("http://vpl.dis.ulpgc.es/","VPL","bouton_fin nou bleu_pastel")."." ;
00127 finp() ;
00128
00129 finblockquote() ;
00130
00131 ##############################################################################
00132
00133 $nums++ ; h2($nums.". Appel à partenariat et extensions du projet") ;
00134
00135 ## ---------------------------------------------------------------------------
00136
00137 # certification à l'algorithmique niveau 1, niveau 2, 3
00138
00139 blockquote() ;
00140
00141 p("texte") ;
00142 echo "Nous recherchons pour ce projet des enseignants intéressés par la mise en commun d'exercices algorithmiques " ;
00143 echo " et de séquences didactiques afin de pouvoir définir des programmes de ".b("certification en algorithmique")." comme par exemple : " ;
00144 finp() ;
00145
00146 ul() ;
00147
00148 debutli() ; p() ;
00149 echo "Certification niveau 1 : affectations, tests, boucles, tableaux et sous-programmes élémentaires... " ;
00150 finp() ; finli() ;
00151
00152 debutli() ; p() ;
00153 echo "Certification niveau 2 : structures de données, expressions régulières, tableaux associatifs, récursivité... " ;
00154 finp() ; finli() ;
00155
00156 finul() ;
00157
00158 p("texte") ;
00159 echo "Nous recherchons aussi des personnes ayant l'expérience de dépot et d'évaluation " ;
00160 echo "«".em(href("http://markusproject.org/","à la MarkUs","gnoir"))."»" ;
00161 echo " ou " ;
00162 echo "«".em(href("https://moodle.org/","à la Moodle","gnoir"))."»" ;
00163 echo " pour définir cette plate-forme de dépot, d'analyse, d'exécution et de certification." ;
00164 finp() ;
00165
00166
00167 p("texte") ;
00168 echo "A plus long terme, dans la mesure où il s'agit d'exécuter et d'évaluer du code dont les entrées et sorties sont " ;
00169 echo " connues et normalisées, il pourrait être possible d'étendre cette plate-forme à l'analyse de programmes informatiques " ;
00170 echo " en plus de l'analyse d'algorithmes, pour fournir éventuellement un cadre commun d'écriture de code et de benchmarks, " ;
00171 echo " de mettre en place une correction automatique des algorithmes, une évaluation de la qualité des algorithmes et des programmes. " ;
00172 echo " Toutes les compétences en génie logiciel sont donc les bienvenues." ;
00173 finp() ;
00174
00175 finblockquote() ;
00176
00177 ##############################################################################
00178
00179 pvide() ;
00180
00181 p() ;
00182 echo href("montresource.php?nomfic=projet_atlanstic.php","Code-source de cette page","orange_stim nou")."." ;
00183 finp() ;
00184
00185 ##############################################################################
00186
00187 finblockquote() ;
00188 finblockquote() ;
00189 finblockquote() ;
00190 finSection() ;
00191 finPage() ;
00192 ?>
Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.
Retour à la page principale de (gH)