Archive for Enseignement

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.

Compilation d’exercices sur les Circuits

Régulièrement je compile quelques exercices sur les circuits (venant d’examen ou de td) pour mes formations (en vrac, avec  des redondances, désolé), vous pouvez les retrouver :

Matières enseignées

Matières enseignées

  • Architecture des ordinateurs
    • représentation de l’information
    • circuits logiques combinatoires et séquentiels
    • automate de contrôle, architecture de von Neumann
    • langage machine
  • Programmation logique avec contraintes
    • introduction
    • algorithmique classique
    • langages formelles (introduction)
    • graphe (introduction)
  • Algorithmique
    • introduction
    • paradigme actionnel
    • paradigme fonctionnel
    • paradigme déclaratif
    • récursivité
  • Autres (naguère, pour la plupart)
    • Système, Réseau
    • Outils formels pour l’informatique (calcul de complexité, preuve de programmes)
    • Outils mathématiques pour l’informatique (structures algébriques, graphes)
    • Histoire de l’informatique
    • Compilation
    • Projet

Plagiat, référence, hommage – originalité

Il semble y avoir continuité -du coté de l’objet- entre plagiat, emprunt, référence, hommage, … mais les contextes peuvent varier -qui entrainent des glissements de sens et de jugement-, et la dénomination que l’on en fait introduit des ruptures dans l’œil de l’observateur : entre la condamnation et le plaisir d’un clin d’œil partagé.

À l’université, coté étudiant, coté chercheur, le sujet diffère (et il y a d’autres points de vue possible), l’un doit faire preuve d’un travail personnel, l’autre d’un travail original ; l’un et l’autre peuvent faire des emprunts s’ils sont explicitement cités, référencés ; pour les autres (emprunts, emprunts non attribués), il faudrait connaitre l’intention de son auteur, un emprunt trop évident pour l’alourdir d’une référence ? un vol à dissimuler ? une absence d’intention (un emprunt inconscient, involontaire ou aléatoire) ? Selon, l’étudiant pourra être pardonné là où le chercheur sera condamné, mais il restera toujours un doute -l’intention réelle n’est pas accessible- lié à l’honnêteté ou à la bonne foi de l’individu, ainsi qu’à sa clairvoyance (à la distance entre ce qu’il croie et prend pour la vérité/réalité et la réalité elle-même).

Faire la preuve de la faute … difficile.

Peut-on croire à l’originalité ? Il me faudrait être omniscient pour être sûr que ce que je viens d’écrire, ou ce que j’ai écrit est/était original ; ça et là je sens des influences, je pourrais ailleurs remonter la piste vers des emprunts, faire l’analyse de « ma » culture, autre part encore je pourrais rendre explicite ce qui me semble une évidence, … ou en rester là, serein de ma bonne foi, n’ayant eu aucune volonté de voler une idée qui n’aurait été la propriété de tous, dans un raisonnement que chacun aurait pu faire -en quoi m’appartiendrait-il ?-, satisfait d’avoir, au moins pour moi, pu éclaircir un peu ce qui touche au plagiat et rencontre mon opposition par rapport à « ma » conception de la propriété intellectuelle.

en résumé, pour un étudiant, il y aura faute s’il copie là où il aurait dû faire un travail personnel, s’il emprunte consciemment sans citer, si la somme des emprunts conscients est plus importante que la partie qui lui revient, s’il a une intention malhonnête, … (?)

pour le chercheur, c’est encore à voir … les idées ont-elles des propriétaires ? …

Algorithmique, un art de la programmation ou simplement du bricolage informatique ?

D’un coté il y a l’algorithmique que l’on souhaite enseigner aux étudiants, avec des concepts spécifiques (les structures de contrôle, les structures de données, …), des problématiques de modélisation, de validation et d’évaluation, … Cette science repose sur les facultés de notre cerveau à organiser et prévoir, manipuler des objets, réaliser une action, une activité, pour « faire ». Elle nécessite et mobilise la pensée « algorithmique » (si on peut la définir ainsi).

Tant que l’on reste au niveau d’un petit problème, le travail se fait en contact quasi direct avec les objets manipulés ; quand le problème devient plus gros, l’habitude consiste à réduire le problème à un ensemble de sous-problèmes plus simples, à prévoir plusieurs couches (par exemple) pour résoudre le problème, et  à chaque niveau on est en contact avec des objets -certes- mais ceux-ci sont de plus en plus complexes. S’observe alors la nécessité d’un basculement vers une autre forme de pensée, plus organisatrice (de haut niveau), on passe de l’algorithmique au génie logiciel.

Le passage de l’algorithmique au génie logiciel s’accompagne souvent de l’introduction de bibliothèques de programmes prêts à l’emploi et, à la suite, permet une autre forme de programmation qui ne demande ni conceptualisation, ni sens de la prévision, ni sens de l’organisation : la programmation-bricolage. Qu’est-ce que la programmation-bricolage ? C’est -face au problème- regarder dans sa boîte à outils quel est l’ustensile le plus facile à utiliser pour arriver à résoudre le problème, quitte à utiliser l’outil à mauvais escient, à écraser une mouche avec un marteau. C’est déplacer le travail sur la recherche de l’outil plutôt que la construction du programme. C’est préférer un programme d’une ligne à une exécution en temps constant. C’est préférer un programme d’une ligne même s’il engendre une exécution en un temps indéterminé à une exécution en temps constant à partir du moment celui-ci demande l’écriture d’un long programme.C’est bien connu, tout a déjà été fait, il ne faut pas réinventer la roue, allons sur internet ou dans la boite à outils de notre langage voir si la fonction n’existe pas déjà ou comment d’autres ont résolut le problème et copions-collons le résultat.

Espérons que celui qui agit ainsi ne perd pas le sens de ce qu’il fait, qu’il a su construire des outils pour valider et évaluer son travail …

Même si la distance entre le programmeur maître de ce qu’il fait et celui qui agit en croisant les doigts est grande, la frontière entre ces deux pratiques est parfois difficile à définir (dans tel domaine on peut agir en connaissance de cause, et ailleurs [devoir] faire confiance ; -et il y a du bon aussi à ne pas toujours réinventer la roue), il est donc délicat d’encenser l’un et condamner l’autre, mais j’ai tout de même le sentiment de voir chez l’un de la responsabilité, là où je ne vois chez l’autre qu’une envie de finir son travail le plus vite possible, à moindre coût (pour lui).