Archive for Programmation logique avec contraintes

[:fr]NoteBook ProLog[:]

[:fr]Les notebooks existent depuis pas mal de temps … il y en même un maintenant pour ProLog !

swish.swi-prolog.org

 

J’ai fait quelques essais :

 

Espérons qu’il durera longtemps.[:]

[:fr]EDBA et PLC[:]

[:fr]J’ai cherché pendant un temps une corrélation entre le niveau d’Xp atteint sur EDBA et la réussite à l’examen de PLC. Sans succès. Et pourtant j’avais de nombreuses données : l’XP, mais aussi le détail des tests, le temps passé, etc. Je regardais le premier test, ou le nombre de test, ou le meilleur test, … mais les résultats obtenus n’étaient pas convaincant. J’avais abandonné.

Et puis, un jour, j’ai voulu tracé une courbe Evolution de l’Xp en fonction du temps. En fait, la variable de temps était plutot le nombre de tests effectués (le temps et l’activité sont liés, mais l’Xp ne dépend pas du temps mais du nombre de tests effectués). Le résultat n’était pas concluant, quand je voulais comparé l’évolution d’un étudiant aux résultats finaux obtenus par d’autres étudiants, les affichages ne coincidaient pas. Pour tenter de ramener ces tracés, les uns sur les autres, j’ai essayer de tracer Xp/nb test en fonction du nb de test au lieu de Xp en fonction du nb de test. L’affichage était plus concluant et même, il semblait y avoir une corrélation entre les résultats finaux des étudiants. Je suis donc revenu à la recherche d’une corrélation entre le niveau d’Xp atteint sur EDBA et la réussite à l’examen de PLC.

En prenant tous les étudiants que j’avais sous la main, le premier résultat Note à l’exam de PLC en fonction de Xp/nb test fut le diagramme de la partie haute de l’image ci-dessous :

Le résultat n’était pas complètement concluant, mais en regardant les points éloignés, il s’est avéré que le temps d’utilisation d’EDBA ou le nombre de tests effectués n’étaient pas significatif. J’ai donc choisi d’enlever les 10% de données les moins significatives (pour une raison ou une autre). J’ai fait le netoyage en ne regardant pas le graphique mais les données. Après nétoyage, le graphique avait moins de points, mais la corrélation était plus nette (bas de l’image ci-dessus).

C’est même assez étonnant de trouver une corrélation aussi forte pour des données -coté examen- qui sont en général, assez imprécises (la notation d’examen donne souvent des notes pouvant varier …). Il y a peut-être un peu de chance. Et l’effectif n’est plus très gros (8 étudiants). Il faudrait voir avec un peu plus de monde.

Si cela se confirmait, ce serait interressant. Dans tous les cas, cela propose une interprétation de la notation en examen, elle est moins corrélées au niveau d’expertise atteint ou au temps passé sur EDBA (en tout cas je n’ai pas observé grand chose de ce coté là), mais à l’efficacité de l’étudiant, c’est à dire la capacité de l’étudiant à trouver maximiser les résultats aux tests en minimisant le nombre de tests effectués.[:]

Evolutions pédagogiquesCursus changes

D’une année à l’autre, les cours changent. Ce ne sont pas forcément de gros changements. Les étudiants (redoublants ou pas) ne le voient pas forcément. Mais dans les détails, il y a souvent des tentatives, modifications, etc.

Par exemple, pour le cours de PLC, que j’effectue en L3-Miage, à Grenoble, depuis une demi-douzaine d’années, il y a eu :

  • Variations sur le contenu :
    • Versions avec +/- de gel et pseudo-parallélisme
    • Versions avec +/- d’arbres infinis rationnels et d’algorithmique des graphes
    • Versions avec -/+ de langages formels
    • Versions avec différentes présentations/explicitations/formalisations de la récursivité
  • Variations sur le cours/td :
    • Versions avec -/+ de démo dans le cours (dont première séance, en particulier)
    • Versions avec -/+ d’algorithmique
    • Versions avec -/+ d’exercices en cours
  • Variations sur les documents :
    • Versions avec -/+ de documents
    • Versions avec vidéos
    • Versions avec documents sur web perso/Moodle
  • Variations sur ProLog :
    • Versions avec arbre/listes de listes
    • Versions avec +/- d’arithmétique
    • Versions avec swi/edba
  • Variations sur EDBA
    • Versions avec -/+ d’exercices enregistrés
    • Versions avec -/+ d’exercices associés aux tp
    • Versions avec -/+ d’aide
    • Versions avec -/+ d’arithmétique aidée
  • Variations sur les tps :
    • Version avec 1 tp en salle + 3 tp pour le cc à la maison
    • Version avec 2 tp pour le cc à la maison
    • Version avec 1 tp en cours + 2 tp pour le cc à la maison
  • Variations sur les CC en cours :
    • Version avec des 2 CC + 1 QCM
    • Version avec des 2 CC dont un avec sujet double
    • Version avec 1 CC
    • Version avec x CC de 1h/1h30
  • Variations sur les examens :
    • Versions avec +/- d’exercices indépendants
    • Versions avec +/- de questions indépendantes

Pour autant, la matière reste difficile et les résultats des étudiants aux examen à peine satisfaisants.

EDBA, nouvelle adresse => edba.imag.fr

Edba vient de changer d’adresse ! C’est maintenant https://edba.imag.fr/index_EDBA_Full.html ou plus court edba.imag.fr
(les comptes ont été basculés, l’ancien site va fonctionner encore quelques temps [mais seulement pour tests/dvpts])

Des interpréteurs javascript …

(rédaction initale en Juin 2007)

Quelle surprise il y a quelques semaines quand j’ai cherché sur le web si, par hasard, il existait un interpréteur C écrit en javascript qui pourrait tourner dans une fenêtre web. Bon, pour l’insant je n’ai pas trouvé ce que je voulais (j’ai tout de même fait connaissance avec CINT (http://root.cern.ch/root/Cint.html) et Ch (http://www.softintegration.com/), et c’est déjà une bonne chose), mais j’ai découvert plein d’autres langages possédant sur le web un interpréteur javascript (ou au moins une version web), en particulier ProLog ! :

par ordre alphabétique (pour les plus connus) :

quelques uns moins connus :

et enfin, quelques interpréteurs de pseudo-code :

(et il y a aussi des machines amiga / zx / hp / Apple II / … qui sont émulées et des langages visuels Lily, … )

d’autres : http://del.icio.us/search/?all=javascript%20interpreter (ou faire une requête interpreter in javascript)
Attention : il s’agit bien de langage interprété par javascript, et pas le contraire (il y a aussi beaucoup d’interpréteur de javascript dans des langages différents et variés, en particulier en C)

Associé à un éditeur texte web un peu performant, j’imagine des pages possédant un editeur de texte, un interpreteur, et un peu de logique pour analyser/diagnostiquer les productions d’élèves, cela donnerait une page web facile à intégrer à toute plateforme de e-learning et aussi puissante que les rares LispTutor (Elm-Art : http://www.psychologie.uni-trier.de/projects/ELM/elmart.html), et autres rares tuteurs disponibles sur le web (pour un coût beaucoup moindre) …  J’imagine même des composants génériques pour le diagnostic/analyse des langages de programmation.

Pour les éditeurs web de textes, il y a ce qu’il faut sur le web :

Il reste à produire les outils d’analyse/diagnostic génériques et lier le tout … (le tout en javascript, biensur)

Bien à vous,
Denis.

ps : Si quelqu »un connait un autre interpréteur javascript d’un langage, qu’il l’ajoute, en particulier pour C, je cherche encore. Et si vous avez des exemple de pages web ou des interpréteurs sont utilisées à des fins éducatives, je suis aussi interressé.

MAJ 2012  :

Pour ARM, voila un début d’interptéteur écrit en javascript : http://bdenis.pbworks.com/w/page/50436980/mini%20interpreteur%20ARM

Pour le projet de plateforme d’edition, d’interprétation, d’analyse de code voila : http://edba.imag.fr