Archives de l’auteur : admin

Documents pédagogiques avec tablette et stylet

J’ai fait l’acquisition (à titre personnel) d’un iPad pro et du stylet Apple pour me lancer dans la production de supports pédagogiques et de vidéos comportant des dessins et des textes écrits à la main. Il me reste à trouver l’application idéale à chaque usage. Voici un essai fait avec Grafio 3.

Le rendu me plait, mais j’ai galéré un peu parce que l’application n’était pas très réactive et ne formait correctement les caractères manuscrits que si je les dessinais lentement. Grafio est très ergonomique pour le dessin d’organigrammes, mais pas adapté à l’écriture manuscrite au stylet. Evidemment, je voudrais avoir dans une même application la possibilité de faire les deux.

Les limites des enquêtes auprès des étudiants.

Je demande régulièrement à mes étudiants de répondre à des questionnaires anonymes, en ligne, pour connaitre leur ressenti au regard de mes pratiques pédagogiques. C’est important pour moi car j’expérimente presque chaque année de nouvelles approches et je sais qu’on ne peut pas obtenir de bons résultats si, même avec les meilleures intentions du monde, on fait des choses qui « braquent » les principales personnes concernées. Il me semble que les récents événements l’ont parfaitement illustré à l’échelle nationale.

Mais lorsque je soumets un questionnaire à mes étudiants, je me heurte toujours à la même difficulté, qu’il s’agisse d’une promotion de deuxième, troisième ou cinquième année, qu’il s’agisse d’un enseignement professionnel ou général, qu’il s’agisse d’une classe de 30 ou de 90 étudiants, le taux de réponse est toujours d’à peu près 50%. En soit, ce n’est pas si mal, mais le problème c’est que les étudiants qui répondent ne constituent pas nécessairement un panel représentatif de l’ensemble du public ciblé.

Une expérience faite l’année dernière m’a montré à quel point les résultats peuvent être biaisés. Dans le questionnaire, j’avais demandé aux participants d’indiquer le positionnement de leur note de contrôle continu parmi 4 intervalles : inférieur à 8, entre 8 et 10, entre 11 et 14, et au-delà. Il s’est avéré que le taux de participation a été très élevé parmi les étudiants ayant obtenus de très bonnes notes, alors qu’il a été très faible parmi ceux qui avaient été en difficulté. Il était clair que les avis exprimés n’étaient donc pas représentatifs.

Ordinateurs sans microprocesseurs

microproAvant l’apparition des microprocesseurs, les ordinateurs étaient réalisés uniquement à partir de deux sortes de « briques de construction », les portes logiques et les bistables (eux-mêmes constitués de portes logiques). Les premiers microprocesseurs, apparus dans les années 1970, comportaient des milliers de portes logiques et de bistables rassemblés sur une même puce qui valait tout de même près de 200 dollars de l’époque, ce qui représente (compte tenu de l’inflation) de l’ordre de 1000 dollars actuels.

Depuis cette époque, tous les ordinateurs commercialisés comportent des microprocesseurs. Mais il existe quelques passionnés qui construisent eux-mêmes des ordinateurs « à l’ancienne », sans microprocesseur. Pourquoi se lancent-ils dans un tel projet ? Par défit intellectuel, par passion, pour comprendre et faire comprendre le fonctionnement d’un ordinateur en s’appuyant sur un système à dimension humaine, pour revisiter un pan entier de l’histoire de l’informatique… Fabriquer un ordinateur de toute pièce est une démarche d’ingénierie dans laquelle il faut faire preuve d’une grande exigence intellectuelle pour décomposer de manière simple et efficace un système complexe en parties plus simples dont les rôles sont clairement spécifiés. Et une fois que la partie physique est terminée, il reste à l’exploiter en réalisant des programmes, qui ne sont rien d’autre que des systèmes complexes constitués de « briques logicielles » plus simples. Quiconque parvient à ce stade a les idées parfaitement claires sur tous les concepts sous-jacents.

Si tous les ordinateurs « faits mains » dont j’ai trouvé des descriptions sur le WEB m’ont impressionnés, j’ai été vraiment bluffé par certaines réalisations particulièrement élégantes, telle que « The Anitra Computer », un ordinateur 8 bits pouvant adresser 32K octets de mémoire réalisé par un thésard du MIT à titre de loisir ! Cet ordinateur a été conçu de manière à simplifier au maximum son circuit électronique et à minimiser le nombre de composants utilisés. Le langage machine de cet ordinateur ne comporte que deux instructions placées dans 16 blocs de 8 instructions consécutives. L’une permet de transférer une valeur d’une adresse A vers une adresse B, et l’autre additionne une valeur située à une adresse A et une autre située à une adresse B, place le résultat à l’adresse B, et réalise un saut en avant jusqu’au début du bloc suivant s’il y a un débordement arithmétique (retenue). L’ensemble du programme est constitué d’une séquence de 16 blocs d’instructions qui est répétée indéfiniment. A première vue, la taille du programme est très limitée, mais elle est suffisante pour réaliser un interpréteur capable d’exécuter un programme plus long – et écrit dans un langage de plus haut niveau – situé dans le reste de la mémoire.

Dans le même esprit, Jack Eisenmann a conçu et réalisé un ordinateur 8 bits adressant 64K de mémoire appelé « DUO COMPACT » dont le langage machine ne comporte qu’une seule instruction : NOR A B C D, où A, B, C et D sont des adresses mémoire, qui effectue une opération logique OU / NON entre les valeurs pointées par A et B, place le résultat dans B, puis branche en C si le résultat est 0 ou en D sinon. Cette seule instruction permet de simuler toutes les instructions d’un microprocesseur classique. L’auteur a réalisé un programme calculant une racine carrée et même un petit jeu vidéo de plateforme s’exécutant en mode texte sur un écran à cristaux liquides acheté dans le commerce.

Dans une autre optique, un ingénieur électronicien nommé Dennis Kuschel a réalisé un ordinateur 8 bits complètement câblé avec des circuits logiques TTL (technologie datant des années 1960) nommé « MyCPU ». Il supporte le jeu d’instructions du microprocesseur 6502 qui équipait l’Apple II. Dennis a également réalisé un contrôleur vidéo permettant à cet ordinateur de réaliser des affichages graphiques sur écran, une carte lui permettant d’utiliser une mémoire de masse, et une carte réseau lui permettant de se connecter à Internet. C’est un travail absolument énorme qui relève de l’exploit.

Pour découvrir d’autres exemple de réalisations extraordinaires, vous pouvez consulter le site Home build computers web ring.

Intelligence artificielle

robotsQu’est-ce que l’intelligence artificielle ou IA ? Mon activité de recherche, qui est ciblée sur la résolution d’équations logiques relevant de ce qu’on appelle le raisonnement automatique, ne couvre qu’un fragment du domaine au périmètre assez flou désigné par ce sigle. Quand peut-on dire qu’une machine est intelligente ? Une calculatrice, par exemple, peut exécuter des opérations qui pendant très longtemps n’étaient réalisables que par des humains. Est-elle pour autant intelligente ? Je gage que la plupart des gens répondraient non à cette question, mais sur quelle base argumentaire ?

La machine à calculer effectue une suite d’actions très simples pour parvenir à réaliser une multiplication ou une division. Mais les programmes capables de battre aux échecs des maîtres internationaux, qui exploitent des bases de données contenant des milliers de parties déjà jouées, utilisent des algorithmes complexes, et qui sont même capables d’apprendre de leurs erreurs, ne font rien d’autre qu’exécuter un grand nombre d’opérations très simples. Sont-ils « plus intelligents » qu’une machine à calculer ? Et un cerveau humain fait-il autre chose qu’exécuter un très grand nombre d’actions très simples à l’échelle des neurones et synapses dont il est constitué ?

Au-delà de ces considérations philosophiques se pose la question des risques liés à l’existence de machines autonomes, capables de réaliser des missions sans intervention humaine, et dont le comportement ne peut être prévu sur la base d’une observation extérieure. On sait depuis longtemps réaliser des machines pouvant blesser ou tuer des êtres vivants, qu’il s’agisse ou pas de leurs fonction première. Les progrès réalisés dans le domaine des technologies numériques ont permis de rendre de telles machines parfaitement contrôlable à distance, et les progrès dans le domaine logiciel ont permis de les rendre capables d’assurer des missions complexes sans aucune intervention humaine, c’est-à-dire de leur donner une certaine autonomie.

Il faudra sans doute instaurer des garde-fous pour limiter les risques d’utilisation malveillante et/ou d’accidents liés à l’utilisation non malveillante de ces machines autonomes. Cela ouvre d’ailleurs de nouvelles problématiques de recherche : Comment quantifier ou qualifier le degré d’autonomie d’un système complexe ou « intelligent » ? Comment valider son niveau de sécurité ? La puissance de calcul des circuits qui composent une machine impose-t-elle une limite à sa capacité à réaliser des missions de manière autonome ?

A une époque où beaucoup de gens s’inquiètent du développement de machines capables de prendre des décisions dans des domaines naguère réservé à l’intelligence humaine, ce qui m’inquiète le plus, ce sont les êtres humains qui prennent des décisions à la manière d’une machine, en appliquant à la lettre un protocole appris par cœur. A vouloir trop codifier les activités professionnelles, il pourrait bien arriver que les machines fassent un travail de meilleur qualité que les employés humains, y compris pour des tâches « intellectuelles ».

Scrivener, un traitement de texte non linéaire.

machchine-a-ecrirePour rédiger un document scientifique de quelques pages, l’idéal est de disposer d’un traitement de texte permettant un formatage immédiat dans un style agréable à lire, ainsi que la création, l’insertion et la modification intuitive, rapide et confortable de figures, dessins, équations, et courbes ayant un aspect professionnel, sobre et esthétique.

J’avoue n’avoir jamais trouvé un logiciel, ni même une combinaison de plusieurs logiciels, qui réponde à ces critères au niveau d’exigence correspondant à mes attentes, mais c’est un sujet que je ne développerai pas dans ce billet. Aujourd’hui, je vous présente un traitement de texte dédié à la conception et la réalisation de documents comportant des dizaines, voire des centaines de pages recelant des milliers d’informations, de concepts, d’idées, de descriptions, etc.

De tels documents sont constitués de très nombreuses briques documentaires, entendez par là de petits morceaux de textes à différents stades de maturité, allant d’une simple idée ou observation jusqu’à une partie finalisée du document en cours de réalisation. La force de Scrivener est de permettre d’organiser ces briques documentaires dans une structure arborescente, c’est à dire constituée de dossiers pouvant contenir des briques documentaires et des dossiers pouvant eux-même avoir une structure arborescente.

Chaque élément (brique documentaire ou dossier) peut être facilement déplacé à l’aide de la souris. On peut lui associer des notes, commentaires, étiquettes, un résumé, une couleur. Il est possible de sélectionner un ou plusieurs dossiers et/ou briques documentaires dont les contenus s’affichent les uns à la suite des autres sous la forme d’un document continu pouvant être lu et modifié. Cette « vue » particulière d’une partie du contenu en cours de rédaction est préservée lorsque le l’utilisateur quitte l’application.

Cette fonctionnalité, qui change complètement la manière de travailler, n’existe pas (jusqu’à plus ample informé) dans les traitements de textes classiques tels que Word et OpenOffice. Ce qui s’en rapproche le plus dans Word est la possibilité de « replier » des chapitres et sections pour ne rendre visibles que certaines parties du document. Mais la « vue » ainsi créée est malheureusement perdue lorsqu’on quitte l’application. Par ailleurs, Word permet de visualiser l’arborescence des sections d’un document, mais la réorganisation de ces sections ne peut se faire qu’avec des « copier / coller » laborieux.

Scrivener permet de produire le document final sous différents formats, tels que pdf, word, et les deux principaux formats de livres électroniques, Epub et Kindle. C’est lors de cette étape dite de « compilation » qu’est réalisée la mise en forme définitive d’après un modèle définit par l’utilisateur.

En revanche, il faut bien admettre que les possibilités offertes par Scrivener pour l’édition de chaque brique documentaire sont très limitées au regard de celles de Word ou même d’OpenOffice. Scrivener est encore loin de répondre complètement à mes besoins en matière de rédaction de documents scientifiques, mais c’est ce que j’ai trouvé de mieux pour la prise de notes, le suivi, et la rédaction progressive de rapports dans le cadre de projets de recherche. Il est à mon avis tout aussi adapté à la réalisation de supports de cours et autres documents pédagogiques, ainsi que de mémoires et rapports d’étudiants.

Projets à la carte pour l’enseignement de la programmation.

projetC’est en pratiquant, en faisant soi-même les choses, qu’on acquière des compétences et des savoir-faire et c’est la raison pour laquelle les projets à réaliser par les étudiants ont une place importante dans l’enseignement de l’informatique.

Les projets classiques que j’ai toujours connus dans mon cursus universitaire et dans ma carrière d’enseignant consistent à fixer un objectif (typiquement la conception et le développement d’une application) devant être atteint à une certaine date. L’évaluation se fait sur la base d’un rapport remis par les étudiants (travaillant seuls, en binôme, voire en groupes plus importants), souvent complété par une démonstration de l’application réalisée, et parfois par une soutenance orale. La note dépend notamment de la qualité de la réalisation, de la démarche intellectuelle de conception, de la maîtrise des technologies et des concepts utilisés, de la qualité de la présentation écrite et (si applicable) orale, et du bon fonctionnement de l’application livrée. Il n’y a pas toujours un barème précis donné à l’avance aux étudiants, ce qui a l’inconvénient d’une certaine opacité, mais l’avantage de permettre la prise en compte tous les aspects du travail fourni par les étudiants, y compris lorsqu’ils se sont investis dans des fonctionnalités non demandées dans le sujet, ou dans l’exploration de certaines solutions allant au-delà des objectifs fixés.

Cette année, j’ai décidé d’innover en proposant à mes étudiants de L2 des projets « à la carte » comportant plusieurs objectifs, ou « missions » pouvant chacun rapporter un certain nombre de points. Certains objectifs sont faciles à atteindre, d’autres plus difficiles, et certains peuvent être des « challenges » permettant aux étudiants les plus expérimentés et/ou talentueux de montrer de quoi ils sont capables. Un projet peut être livré en plusieurs fois, ce qui permet aux étudiants de valider d’abord les objectifs les plus accessibles objectifs en ayant un retour critique de leurs enseignants, puis d’aller ensuite, et de manière progressive, aussi loin qu’ils le peuvent au regard de leurs capacités, de leur motivation, et du temps disponible. Après chaque étape, les étudiants connaissent le nombre de point qu’ils ont acquis et le nombre de points qu’ils peuvent encore potentiellement acquérir en reprenant certaines parties mal réalisées ou en s’attaquant à des missions plus difficiles. Plusieurs projets peuvent être menés en parallèle, en traitant prioritairement les objectifs les plus simples à atteindre qui relèvent de compétences de base dont l’acquisition est essentielle.

Une machine de Turing

mt-all-1000J’ai enfin terminé cette réalisation qui m’a occupé pendant de nombreuses soirées cet hiver. Son originalité réside dans l’utilisation d’une même brique de construction (constituée d’une bascule D et de quelques portes NAND) pour élaborer toutes les parties de la machine : bande, tête de lecture/écriture, automate de contrôle… La finalité est essentiellement pédagogique.

Une présentation plus détaillée est proposée sur ce site.

Bonne année 2016

2016Le deuxième semestre universitaire commence et je passe beaucoup de temps à préparer mes enseignements, que j’essaie d’améliorer chaque année pour les rendre plus attractifs et plus efficaces. C’est donc en coup de vent que je passe souhaiter à tous mes lecteurs une très bonne année 2016, pleine de découvertes. Je pense en particulier aux étudiants : soyez actifs, curieux, créatifs, faites preuve d’exigence intellectuelle, et n’oubliez pas que de votre attitude en classe dépend aussi la réussite des autres étudiants de votre promotion.

Concevoir un sujet d’examen

examen-bisDans ce billet, je vais vous parler d’un travail à très haute responsabilité qui fait partie des missions des enseignants universitaires, la conception de sujet d’examen.

Je considère qu’idéalement, un examen doit être une évaluation sommative dans le sens où il doit couvrir toutes les compétences décrites dans les objectifs pédagogiques de l’unité d’enseignement concernée et permettre de déterminer, au regard de chacune de ces compétences, ce que sait faire et ce que ne sait pas faire chacun des candidats passant l’épreuve.

Cet idéal est très difficilement atteignable, mais j’essaie de m’en rapprocher, ce qui suppose de bien identifier chacune des compétences à évaluer, puis de trouver des exercices respectant les critères suivants :

  1. Chaque exercice doit être facilement traitable par toute personne maîtrisant la ou les compétences concernées au niveau défini par les objectifs pédagogiques.
  2. Les exercices ne doivent pas être traitables par les candidats qui ne maîtrisent pas les compétences à évaluer.
  3. Les exercices doivent être différents de ceux donnés en cours, en travaux pratiques, en travaux dirigés, et de ceux donnés lors des sessions d’examen précédentes.
  4. Les énoncés doivent être faciles à comprendre et ne doivent pas comporter de tournures ambigües.
  5. L’épreuve doit être largement réalisable en totalité dans le temps imparti par tout candidat maitrisant raisonnablement les compétences à évaluer. Ce point ne fait pas nécessairement l’unanimité parmi les enseignants, mais il doit en tout cas être en accord avec les objectifs pédagogiques. Je défends l’idée que si la vitesse d’exécution n’a pas été présentée comme un facteur critique, et n’a pas fait l’objet d’un entrainement particulier, alors il n’y a pas de raison qu’elle devienne une variable d’ajustement de la difficulté de l’épreuve de jour de l’examen.

Tenter de respecter tous ces critères est un challenge auquel je suis régulièrement confronté, puisque je dois concevoir 7 à 8 sujets d’examen par an, sans compter les sujets de contrôles continus qui doivent répondre aux mêmes exigences, la principale différence étant que le nombre de compétences couvertes par chaque épreuve est plus petit. Le temps nécessaire est très variable car parfois les idées viennent vite, et parfois pas, mais il se chiffre en dizaines d’heures par sujet.

Les examens arrivent : quelques conseils

révisionsVoici quelques conseils pour vous aider à préparer vos examens.

Identifiez précisément ce que vous devez savoir faire

Dans les universités françaises, ce sont les enseignants responsables d’un module qui font les sujets d’examen. Il est donc important de bien cerner leurs attentes en écoutant attentivement ce qu’ils disent en cours. Si vous n’avez pas été assidus, pensez-y pour le prochain semestre.

Sauf précision contraire de la part de vos enseignants, vous pouvez considérer que les exercices les plus difficiles vus en TD sont représentatifs de ce qui pourrait vous être demandé à l’examen. En cas de doute, posez leurs la question.

Décortiquez les annales des épreuves des années précédentes, mais en ayant bien vérifié que le programme n’a pas changé !

Identifiez précisément ce que vous savez et ce que vous ne savez pas faire

Êtes-vous capables de faire seul et sans aide tous les exercices ayant été traités en TD ? Et les exercices donnés en examen les années précédentes ? Quels sont les étapes, les points précis que vous ne savez pas traiter ? Attention, lire des solutions ou corrigés ne vous fera pas progresser. Vous devez faire vous-mêmes des exercices de difficulté progressive pour acquérir les compétences qui vous manquent.

Faites des fiches de révision

Le but est de rendre facilement accessibles toutes les informations pouvant vous être utiles pour traiter tous les types d’exercices susceptibles de « tomber » à l’examen. Classez ces informations de manière cohérente, facilitant leur recherche. Utilisez des couleurs, des dessins.

Consultez régulièrement ces fiches dans les semaines et les jours qui précèdent l’examen. Si les documents sont autorisés, ne les oubliez pas le jour J.

Ne foncez pas tête baissée

Pendant l’épreuve, prenez le temps de parcourir le sujet, d’identifier les questions que vous êtes à même de traiter aisément. Commencez par ces questions si l’organisation de l’épreuve le permet. Ne restez pas bloqué trop longtemps sur un exercice si sa résolution n’est pas critique pour la suite.