Beau comme un algorithme

Pour célébrer la publication des ebooks « The Art of Computer Programming (TAOCP) » (L’Art de la programmation informatique), informit a demandé à plusieurs personnes de poser chacune une question à l’auteur Donald E. Knuth. Don est une légende vivante de l’informatique. Binaire publie la traduction d’une question, et de sa réponse. Nous vous encourageons à aller lire les autres.

Dennis Shasha : Comment se compare un bel algorithme à un beau théorème ? En d’autres termes, quels seraient vos critères de beauté pour chacun des cas ?

Don Knuth : La beauté a de nombreuses facettes, bien sûr, et reste dans l’œil du croyant. Je trouve certains théorèmes et algorithmes beaux parce qu’ils ont de nombreuses applications différentes ; d’autres me plaisent parce qu’ils réussissent des trucs si puissants avec des ressources extrêmement limitées ; d’autres parce qu’ils impliquent des motifs esthétiques ; d’autres enfin parce qu’ils ont une pureté de concept véritablement poétique.

Par exemple, je peux parler de l’algorithme de Tarjan  pour les composantes fortement connexes. Les structures de données que Tarjan a conçues pour résoudre ce problème se combinent d’une manière étonnamment belle, de sorte que les quantités que vous avez besoin de considérer dans l’exploration d’un graphe orienté sont comme par magie à votre portée. Et, en passant, son algorithme réalise aussi le tri topologique.

On arrive aussi parfois à prouver un beau théorème en présentant un bel algorithme. Regardez, par exemple, le Théorème 5.1.4D ou le Corollaire 7H dans mon livre, TAOCP.

Et, pour conclure, une citation de Don :

« Science is what we understand well enough to explain to a computer.
Art is everything else we do. »

La science est ce que nous comprenons assez bien pour l’expliquer à un ordinateur.
L’art, c’est tout ce que nous faisons d’autre.

Le goût de l’archive … du Web

Les pages et les sites du Web vont et viennent donnant à l’éphémérité des dimensions encore récemment inconnues. Mais comment les chercheurs dans cinquante ans, dans cent ans, pourront-ils comprendre notre monde où le Web tient une place aussi centrale ? Pour les aider dans leur futur travail, on s’efforce d’archiver le Web. C’était au cœur des discussions de l’AG de l’IIPC à la BnF. Heureusement pour vous, Binaire avait deux reportrices sur place. Elles nous font partager la passion des professionnels des archives du Web, des chercheurs qui en ont fait leurs objets d’étude, de Julien Masanes, le directeur de l’Internet Memory Foundation, et de ses amis.  Serge Abiteboul

 

memoire-web-binaire-rayclid@Ray Clid
[Un éléphant qui se balançait
Sur une toile toile toile d’araignée.
C’était un jeu tellement tellement amusant que,
Tout à coup : Badaboum!]

Lundi 19 mai 2014 s’est ouverte à la Bibliothèque Nationale de France l’assemblée générale annuelle de l’International Internet Preservation Consortium, créé en 2003, qui réunit aujourd’hui 49 institutions travaillant ensemble à la préservation du Web mondial. La BnF, l’INA et l’Internet Memory Foundation ont uni leurs efforts pour faire de la première journée, ouverte au public, un moment d’échange entre les acteurs de la conservation du Web et les chercheurs qui utilisent ses archives.

Dessine-moi une archive du Web !

Archives_nationalesArchives nationales (Paris).
Grands dépôts, l’Armoire de fer ouverte
@Archives Nationales

Le Web est archivé depuis 1996, grâce à l’initiative de Brewster Kahle de créer Internet Archive et la Wayback Machine. Une entreprise titanesque comme l’expliquait son fondateur à Xavier Delaporte (Place de la Toile) en juin 2011:

L’Internet Archive est une bibliothèque numérique à but non lucratif. Elle est située aux États-Unis et sa visée, à la fois sociale et technologique, est de permettre un accès universel à l’ensemble de la connaissance : tous les livres, toute la musique, toutes les vidéos, accessibles partout, par tous. Notre but est de collecter le travail de l’humanité et de le rendre accessible à ceux qui voudraient l’utiliser pour s’instruire. Notre base, c’est ce qui a été publié, c’est-à-dire les choses qui ont été pensées pour être publiques : un livre, une page web ou un billet de blog ; même les tweets… Brewster Kahle, Internet Archive : “Le meilleur du web est déjà perdu”, internet Actu

wayback

L’archivage du Web a pris place au rang des initiatives institutionnelles nationales, à l’instar de celui opéré en France par la Bibliothèque nationale de France et l’Institut national de l’audiovisuel. Depuis le 1er août 2006, la BnF a pour mission de collecter, conserver et communiquer les sites Internet du « domaine français » au titre du dépôt légal. Quant à l’INA, il collecte les sites de médias audiovisuels, des sites qui enrichissent ou documentent les contenus de ces médias, comme les sites officiels de programmes mais aussi les blogs ou sites de fans essentiellement consacrés aux programmes de la radio ou de la télévision, et des sites des services de médias audiovisuels à la demande.
Si les archives conservées par la BnF et l’INA sont consultables en salle, celles d’Internet Archive, en ligne, donnent un aperçu de leur étendue. En entrant l’URL d’un site dans la Wayback Machine, vous pouvez remonter dans le temps… Ces archives ont une valeur inestimable pour les chercheurs : elles ouvrent la possibilité de retrouver un événement et son traitement sur la Toile, que ce soit le 11 septembre ou les élections présidentielles, de recomposer l’histoire du Web et de l’Internet, de retrouver des archives presse en ligne, etc., mais aussi des traces d’expressions individuelles et collectives de multiple nature et sur une diversité de sujets. Reste pour les chercheurs à s’emparer de ces sources aux possibilités infinies, mais qui soulèvent aussi des questions méthodologiques inédites : ces archives abondantes posent la question de la constitution de corpus, des outils de fouille, des métadonnées ou encore de la gestion d’un véritable déluge informationnel, alors que le nombre de pages archivées se compte en milliards. Elles comportent aussi des lacunes (collecte et préservation plus ou moins profonde et/ou ponctuelle des sites, droit de reproduction et accessibilité, etc.)

« Partager des besoins, des rêves, des visions, des expériences, des données, des outils »

Telles étaient les ambitions annoncées à l’ouverture de l’Assemblée Générale de l’IIPC. Et le pari était réussi au terme d’une journée où s’est succédée une vingtaine d’intervenants.
L’initiative de l’IIPC d’associer les chercheurs à cette rencontre entre professionnels de l’archivage est assez remarquable pour être soulignée. Ceux qui se sont unis pour préserver la mémoire du Web travaillent depuis plusieurs années en interaction avec le monde de la recherche, comme en témoignent par exemple l’existence depuis 5 ans des Ateliers du DL Web organisés à l’INA par Claude Mussou (INA) et Louise Merzeau (Université Paris Ouest Nanterre La Défense) qui mêlent professionnels des archives et chercheurs.

Le second point notable est l’extraordinaire diversité des disciplines concernées et des voies de recherche : mémoires de la Grande Guerre analysées par Valérie Beaudoin (Télécom ParisTech) et Philippe Chevalier (BnF) en lien avec la BDIC, chansons francophones étudiées par Dominic Forest (Université de Montréal), élections présidentielles françaises décryptées sur la Toile par Jean-Marc Francony et une équipe de l’université de Grenoble, histoire du Web danois par Niels Brügger de l’université d’Aarhus, etc.

Le troisième constat est celui de l’extrême richesse des enjeux méthodologiques et de recherche que posent les archives du Web : des keynotes de Dame Wendy Hall (University of Southampton) et Wolfgang Nejdl (Université d’Hanovre) mettant en avant les enjeux d’ouverture, d’interopérabilité, d’accessibilité, de droit à la mémoire comme à l’oubli, à la conclusion de Niels Brügger, instigateur du projet RESAW (a Research Infrastructure for the Study of Archived Web Materials), qui vise à développer un réseau de la recherche et une infrastructure européenne pour l’étude du Web archivé, tous les intervenants de cette première journée ont contribué à souligner le potentiel mais aussi les défis que posent ces Big Data du passé en termes :

  • de politiques de conservation,
  • d’ouverture (voir l’initative Common Crawl et son usage par des chercheurs sur Webdatacommons.org),
  • d’outils (ceux créés par l’Internet Memory Research comme mignify ou Proprioception développé à l’INA, programme WebArt à l’université d’Amsterdam),
  • de corpus et d’indexation à grande échelle (corpus de 10 milliards de mots étudiés au National Institute for Japanese Language and Linguistics),
  • de stabilité et pérennité (le projet Hiberlink du Los Alamos National Laboratory, en lutte contre la dérive des liens et leur abandon),
  • de cartographie du Web (à la British Library derrière Helen Hockx-Hu),
  • de conservation institutionnelle, etc.

La table ronde animée par Clément Oury (BnF) a montré que les enjeux sont variés et loin d’être stabilisés, alors que l’archivage du Web lui-même n’a cessé de connaître des mutations depuis son origine. Louise Merzeau a ainsi distingué trois temps de cet archivage : celui du modèle documentaire et des pratiques amateurs et pionnières, qui vise l’universalité de l’archivage tout en reposant sur des formes anciennes, à commencer par celle de la bibliothèque (les années 1990, avec le grand projet fondateur Internet Archive), le temps de l’archive comme mémoire, qui retrouve le modèle de la copie savante ou de l’exemplar tout en procédant par bricolage, faute de mieux (le début des années 2000, où l’on cherche à conserver, voire à figer la navigation en sauvegardant page par page les éléments de son corpus), et enfin le temps de l’archive temporelle qui intègre pleinement l’instabilité du Web (de la fin des années 2000 à aujourd’hui, où se développe un archivage dynamique à l’image du Web lui-même).

Comprendre ce qui se passe au niveau des machines et des institutions d’archivage est un enjeu important pour les chercheurs : c’est comprendre les conditions de l’expérience scientifique, en refusant la logique de boîte noire. Ainsi, les accès à des données peu visibles, comme les logs informatiques pendant une récolte, peuvent être cruciaux, comme l’avancent Jean-Marc Francony et Anat Ben-David.

Si la somme de pages et de données est telle que la mission d’un archivage universel est d’emblée vouée à l’échec, des initiatives comme celle présentée par Anthony Cocciolo de la « Archive Team » rappellent aussi que des groupes de passionnés, nourris de culture hacker sauvent en les sauvegardant les sites en danger, en particulier les grands réseaux sociaux désaffectés à la suite d’un changement de mode dans les usages du Web : Geocities, MobileMe, sont des exemples d’environnement populaires et peuplés du Web qui ont du jour au lendemain disparu ou vu leur accès verrouillé, privant leurs utilisateurs des données qu’ils avaient produites en leur sein. L’expérience de frustration du chercheur face à l’absence ou la perte des données est ainsi proche de celle des utilisateurs investis affectivement dans l’usage de leurs applications en ligne préférées. No-more-404 ?  Certainement pas, mais les archives du Web soulèvent des enjeux de mémoire et de recherche passionnants, autant pour ce qu’elles conservent que pour leurs lacunes, de nature à stimuler l’imagination et l’ingéniosité des ingénieurs, des professionnels de l’archivage comme des chercheurs.

Valérie Schafer (ISCC, CNRS) & Camille Paloque-Bergès (HT2S, CNAM)

PS: Un coup d’œil au passé avec le site Web de lemonde.fr, 19 octobre 1996 sur la Wayback machine (web.archive.org)

LeMonde0ct96

 

Journées pédagogiques : Informatique et MOOC

https://www.flickr.com/photos/92641139@N03/
https://www.flickr.com/photos/92641139@N03/

Les 23 et 24 juin prochain, la SIF (Société informatique de France), le CNAM, le CNRS, Inria, l’Institut Mines-Télécom, et le Groupe thématique Logiciel Libre de Systematic Paris-Region organisent les journées pédagogiques sur l’Informatique et les MOOC. 

Ces journées permettront dans un premier temps de découvrir les MOOC, Massive Open Online Courses, ces cours en ligne interactifs, gratuits, et ouverts à tous. Au delà de cet état de l’art, ces journées proposeront de réfléchir aux relations particulières entre l’informatique en tant que discipline et les MOOC.

Des intervenants de différents horizons (académiques, associatifs, enseignants) aborderont des sujets liés au métier d’enseignant et/ou chercheur :

  • les MOOC qui enseignent l’informatique,
  • les MOOC dans/pour la formation des enseignants de l’informatique,
  • le renouveau de l’enseignement (de l’informatique) avec les MOOC,
  • ressources libres et ouvertes pour les MOOC
  • technologies et recherche en informatique autour des MOOC.

En avril dernier, Jean-Marie Gilliot publiait sur binaire un article intitulé « Moi je mooc, et vous ? » qui nous permettait de faire un tour d’horizon de ces fameux Cours en Ligne Ouverts et Massifs (CLOM étant la traduction française de Massive Open Online Course). Jean-Marie Gilliot concluait son article par ces mots :

« L’homme est un animal social. L’appétence pour les échanges entre pairs montrent bien que l’on apprend en enseignant. Et pour rester pertinent en tant qu’enseignant, on n’arrête jamais d’apprendre, donc de contribuer. »

Nous vous invitons donc à relire l’intégralité de son article et à vous inscrire rapidement à ces journées pédagogiques afin de partager avec lui et d’autres sur les enjeux liés à l’informatique et au MOOC.

Site des journées pédagogiques : Informatique et MOOC
Inscription obligatoire avant le 14 juin : formulaire en ligne
Et n’hésitez pas à soutenir la SIF en y adhérant

Marie-Agnès Enard

 

À chacun sa logique !

LogiqueEtInformatiqueLa logique tient une place importante en informatique. Est-ce la même logique que celle dont parlent les mathématiciens ? À quoi la logique sert-elle en informatique ? Guillaume Cano, un jeune docteur en informatique, nous parle de ces sujets. Je vous encourage à lire son texte passionnant « Une petite histoire pas très sérieuse de deux très sérieuses logiques« , paru dans Images des Maths du CNRS.  Un jeune philosophe, Baptiste Mélès, reviendra bientôt dans nos colonnes sur ces liens étroits entre logique et informatique.

Thierry Viéville

Analepse et prolepse pour une science du numérique à l’École

L’informatique doit-elle rester un simple outil à l’École? Faut-il ou pas apprendre à « coder » et « programmer » à l’École ?  Ces questions qui divisent, Binaire les a posées à Michèle Drechsler. Nous imaginons avec elle ce que l’informatique et la programmation pourraient apporter à l’École. Un exemple : l’expérience de la programmation permet de montrer aux élèves que les erreurs peuvent être riches d’enseignement.

Étant donné la densité des programmes en vigueur, l’intégration de l’enseignement de l’informatique à l’École pourrait-elle se faire au détriment de priorités actuelles ? Quel serait son impact sur l’égalité des chances et la réussite de tous élèves ? A ce propos, il est intéressant de procéder à une analepse pour poser le focus sur cet enseignement à l’école, il y a presque 20 ans, et d’imaginer une prolepse pour réfléchir à l’intégration d’un tel enseignement à l’école maintenant.

Analepse pour l’informatique

Si la question se pose actuellement et déclenche de nombreux débats à l’ère du B2I (brevet Internet et informatique), il faut se rappeler que l’informatique était  introduit dans les programmes scolaires  comme nous le montre ce tableau récapitulatif des programmes avant 2008.

MicheleDreshlerProgramme
Synthèse proposée au colloque Eprep 2008.

Actuellement, les élèves du primaire et du collège doivent acquérir des compétences et des connaissances dans de nombreux domaines avec l’arrivée du socle commun de connaissances, de compétences et de culture. Depuis 1996, nous pouvons noter qu’aucune réforme des programmes n’a modifié en profondeur cette répartition des responsabilités entre « objet d’enseignement » et « outil » d’enseignement dans le domaine de l’informatique.

Un curriculum pour développer  une culture numérique  ?

Apprendre à l’heure du numérique, c’est acquérir à la fois la culture numérique et la maîtrise  des outils numériques. «Ce sont les deux facettes indissociables d’une évolution qui affecte l’ensemble de la société, mais semble peiner paradoxalement à toucher l’école», comme le précise le rapport Fourgous de 2012. La question fondamentale que nous devons nous poser est de savoir si, de nos jours,  les élèves ont besoin de développer des compétences dans le domaine des sciences du numérique. Le programme de physique-chimie des collégiens actuel ne fait pas référence à une science du numérique en tant que telle même s’il s’appuie sur des sciences dites «  d’observation, d’expérimentation et technologies ». Au cycle central, dans le programme de technologie,  les activités proposées doivent faciliter notamment l’appropriation du troisième domaine du B2i : « créer, produire, traiter, exploiter des données » à travers la programmation et la modélisation,  mais les notions  relatives aux sciences du numérique ne sont pas approchées d’une façon  spécifique  et progressive tout au long de la scolarité du collège et de l’école primaire (voir par exemple le programme du collège). Les programmes du collège prévoient des notions à construire autour de l’électricité, l’astronomie, avec « les mouvements de la Terre, de la Lune, des planètes qui donnent une première structuration de l’espace et du temps, introduisent l’idée qu’un modèle peut fournir une certaine représentation de la réalité ». Pourquoi ne pourrait-on pas prévoir aussi des modèles équivalents, une construction progressive des connaissances relatives au monde du numérique qui, de nos jours est omniprésent dans notre vie quotidienne, chez soi ou dans le monde du travail ?  Il est important de pouvoir donner des « clés » pour mieux appréhender le monde du numérique et  comme je le précisais déjà dans un article du Monde de l’éducation de mars 2008 et en attendant la mise en place des « nouveaux programmes » 2008 de l’époque :  « Il est nécessaire d’avoir un lieu de réflexion, d’abstraction, par rapport à une pratique quotidienne. Il ne doit pas se réduire à un cours dénué de sens. Il doit y avoir un va-et-vient entre les usages dans chaque discipline et cet enseignement plus général car usages et études de l’objet sont indissociables si on veut agir et comprendre les phénomènes, ou les fonctionnements comme pour la maîtrise de la langue.»

Tout l’art de la pédagogie est de construire des notions et des concepts avec progression «en perçant les boîtes noires» à bon escient et en proposant des situations appropriées.  Il nous faudrait définir une «grammaire» de l’informatique permettant la construction progressive des concepts qui sont associés comme nous le faisons bien pour la grammaire, les notions de respiration, d’énergie … .  Un  curriculum  pourrait prévoir des situations, des  projets numériques permettant aux élèves de développer des formes d’activité dans le domaine des sciences du numérique et de construire progressivement les notions et compétences à maîtriser. À ce propos, beaucoup de pays s’y intéressent en Europe. Un groupe de travail Informatics-Europe et ACM-Europe a rédigé un rapport commun sur l’enseignement de l’informatique dans le primaire et le secondaire : « Informatics education: Europe cannot afford to miss the boat, avril 2013. » (Parmi les membres du groupe de travail : Gérard Berry du Collège de France,  Antoine Petit d’Inria et Michèle Drechsler). Ce rapport, basé sur une analyse de la situation actuelle et des expériences dans de nombreux pays, identifie les problèmes et propose des recommandations opérationnelles (schéma directeur) pour les décideurs politiques. Il établit une distinction entre la «culture numérique» (digital literacy) et la science informatique (computer science). Tous les citoyens devant être formés aux deux. Ce rapport nous donne des  recommandations et nous rappelle que «littératie numérique» et science informatique sont indispensables comme composantes d’une éducation du 21ème siècle, avec le développement d’une culture du numérique dès l’école primaire. L’incapacité à le reconnaître peut nuire gravement à l’avenir de l’Europe qui doit former non pas que de simples « consommateurs » de technologie.

Programmation à l’école

La programmation a des effets bénéfiques sur les  apprentissages comme nous le montrent les travaux menés en robotique dans une classe de CE2-CM1-CM2 en 1989. De ce fait, elle a toute sa place à l’école. À travers ce projet, nous approchons le concept d’information et de fonction à partir de situations de «robotique». Les élèves découvrent que l’ordinateur ne peut rien faire si on ne lui donne pas tous les «ordres» à partir d’un langage. À travers ces projets de robotique, nous arrivons à un premier niveau de formulation du concept d’information qui, exprimé par les élèves, est assez proche de la définition simple qu’en donne J. De Rosnay :  «l’information est le contenu d’un message qui déclenche une action». Dans le cadre de projets de robotique avec une interface Légo au CE2-CM1-CM2 (voir «Analepse et prolepse pour une informatique retrouvée ?» pour les détails), nous avons des outils pédagogiques motivants entre les mains des élèves.

MicheleDreshlerRobotique
Activités de programmation pour commander des feux. (Projet C.A.F.I.P.E.M.F. Drechsler), 1989
MicheleDreshlerFeux
Activités de programmation pour commander des feux. (Projet C.A.F.I.P.E.M.F. Drechsler), 1989

Les élèves de CE2-CM1-CM2 ont pu également visiter une ferme robotisée près de l’école et comprendre le dispositif «des vaches branchées» à un ordinateur. Ils ont réalisé un reportage (voir la vidéo : « vaches branchées à un ordinateur ») en situation. Quelques représentations des élèves sont disponibles en ligne.

Une réhabilitation de l’erreur au centre du processus d’apprentissage

Les activités de programmation invitent les élèves à réfléchir sur leurs erreurs, face à une situation donnée en fonction du problème posé. C’est la machine qui donne un retour à  l’élève lui permettant d’analyser les traces de ses erreurs et comme nous le montre le constructivisme, l’erreur n’est plus considérée comme une simple déficience de l’élève comme dans le modèle transmissif. Elle est placée au cœur du processus d’apprentissage. Giordan nous rappelle que l’enseignant doit d’abord faire émerger les conceptions des élèves pour ensuite, lorsque certaines de celles-ci s’avèrent inexactes, convaincre les élèves qu’ils se trompent ou que leurs conceptions sont limitées. Apprendre consiste donc d’abord à «s’apercevoir que ses savoirs sont peu ou pas adéquats pour traiter une situation et ensuite à dépasser ses conceptions initiales pour progresser vers des connaissances plus pertinentes». Les activités de programmation rentrent bien dans cette définition qui situe clairement l’apprentissage dans une perspective cognitiviste en soulignant le rôle des conceptions antérieures et plus particulièrement des conceptions erronées. La prise en compte des erreurs en  est une des clés.

L’ordinateur : des objets pour penser avec, des instruments pour réfléchir

Margarida Romeo dans son article « métacognition et environnement informatique d’apprentissage humain » nous montre que dans un environnement où l’apprenant se retrouve seul face à la machine, par exemple à l’ordinateur, le besoin «métacognitif» devient d’une grande importance. En fait, les élèves peuvent réfléchir sur leurs procédures de pensée, revenir sur les traces de leurs programmes et comprendre leurs erreurs. Papert impressionné par la façon de Piaget de «considérer les enfants comme des constructeurs actifs de leurs propres structures intellectuelles» avait déjà développé cette  vision dans son livre, «Le jaillissement de l’esprit» :

«Ma vision est celle d’une culture informatique particulière, une culture mathématique , autrement dit, une culture qui n’aide pas seulement à apprendre, mais à apprendre pour l’apprentissage. Il  nous a montré que le travail sur l’ordinateur peut faciliter l’accès à la notion de « mode de pensées », ce qu’il appelle le « style of thinking ». L’informatique permet donc de construire des univers dans lesquels un enfant peut par un comportement actif et constructif acquérir des méthodes d’analyse et de résolution de problèmes» et comme il nous le précise : «Penser sur sa pensée c’est devenir épistémologue, c’est entrer dans une étude critique de sa propre réflexion. Une expérience que bien des adultes ne vivent jamais !»

Pour  Loarer, «Il est important que l’école développe une éducation cognitive qui peut être définie comme la recherche explicite, dans la mise en œuvre d’une démarche de formation, de l’amélioration du fonctionnement intellectuel des personnes».  Les outils cognitifs via l’ordinateur et les activités de programmation sont des instruments qui peuvent médiatiser des apprentissages métacognitifs pour lesquelles les erreurs sont au centre.  Proposer des activités de programmation aux élèves,  c’est aussi leur donner la  liberté d’explorer les coulisses derrière l’interface des systèmes de jeu.  C’est l’occasion de découvrir et comprendre la source du jeu, de montrer que l’on peut créer ce que l’on veut au-delà de l’interface, en programmant. Les ordinateurs peuvent être considérés comme de véritables machines à apprendre, de «véritables machines à représenter, à nous représenter nous-mêmes». Ils deviennent l’outil cognitif par excellence. Ils  agissent comme un amplificateur pour l’exploration de l’esprit humain dans tous les dédales de ses erreurs. Ils sont une des clés pour mettre en une véritable éducation cognitive à l’école.

Des langages ou des logiciels dès l’École primaire.

Si Logo a été très utilisé depuis les années 80, le logiciel Scratch est un  environnement de programmation visuel et multimédia  destiné à la réalisation et à la diffusion de séquences animées sonorisées ou non. Il s’agit d’un logiciel de programmation grâce auquel les élèves peuvent animer des objets qu’ils auront préalablement choisis, ou eux-mêmes dessinés. L’intégration de Scratch peut se faire rapidement au premier cycle du primaire permettant ainsi aux élèves de développer rapidement l’apprentissage de la programmation. L’élève peut ainsi suivre des procédures simples comme mettre en place un décor, prévoir des personnages, concevoir des «sprites » (lutins animés), utiliser les briques ou « kits »  de commandes toutes prêtes pour programmer. Le principe est donc comme un légo, de briques que l’on monte et que l’on  démonte, selon son projet à réaliser.

L’élève peut trouver la  liberté de faire des erreurs autant qu’il veut pour mener son projet à bien. Comme le précise une enseignante québecoise, Martine Trudel : «Terrain de jeu illimité afin d’amener nos élèves à problématiser, à raisonner à l’aide du langage mathématique et à mettre en œuvre leur pensée créatrice, Scratch captive les élèves… Plus ils progressent, plus ils sont motivés à relever des défis plus élevés. C’est merveilleux de voir tous les élèves persévérer malgré les difficultés rencontrées…»

Conclusion

À l’heure de la société de la connaissances où il est important que chaque citoyen ne soit pas un simple consommateur de technologie, nous avons des défis à relever autour des sciences du numérique et de l’informatique qui devraient avoir la même place que les sciences de la vie et de la Terre dans la formation d’un individu. Qu’en sera-t-il des nouveaux programmes pour la construction des notions pour une culture du numérique autour d’une sciences du numérique  ? Dépasseront-ils les simples compétences du B2I d’utilisation de l’informatique ? Sauront-ils intégrer des notions ou des connaissances à construire progressivement, en s’appuyant sur une « grammaire informatique » en interaction avec l’environnement, pour développer chez les élèves, des aptitudes à décrypter les enjeux des applications informatiques dans la société et utiliser le numérique d’une façon raisonnée ?  L’école saura-t-elle intégrer des logiciels comme Scratch, des logiciels pour apprendre à programmer, créer des objets numériques et qui facilitent le développement d’objectifs métacognitifs, un tiercé gagnant pour «apprendre à apprendre», une clé pour la réussite scolaire ?

Michèle Drechsler

Pour en savoir plus

sur l’auteure

Dessus, P, Erreur et apprentissage, 2006

Papert, S. Jaillissement de l’esprit, (Ordinateurs et apprentissage), Flammarion 1981

Giordan, A. Apprendre ! Paris: Belin (1998)

Linard, M. — Des machines et des hommes : apprendre avec les nouvelles technologies, Jacquinot Geneviève   Revue française de pédagogie     Année   1992   Volume   99   Numéro   99   pp. 131-133

Loarer, E. (1998). L’éducation cognitive : modèle et méthodes pour apprendre à penser. Revue Française de Pédagogie, 122, 121-161.

Dreschler, M. 2008 : Analepse et prolepse pour une informatique retrouvée ? Intervention au colloque ePrep

 

Les mots pour le dire : D comme décoder.

A ? comme Algorithme !

B ? comme … ah ben comme Binaire, pardi.

C ? comme … Codage

et D ?

D ? … comme Décoder le Codage.

 «Décoder le Codage ?» Cela veut dire très simplement comprendre comment marchent ces machines (ces robots/ordinateurs/tablettes/…) que l’on dit programmables.

Gérard Berry nous l’explique brièvement de manière lumineuse en reprenant la belle métaphore de Maurice Nivat sur Outils, machines et informatique. Et si nous prenions un peu plus de temps pour comprendre et …

… allons dans une cuisine. Faire un quatre-quart à l’orange. Oui c’est facile : on prend de la farine, des œufs, du beurre et du sucre, à parts égales, on ajoute le parfum d’orange et on met au four une demi-heure. Bien. Même un informaticien saura faire ça.

Mais que se passe-t-il si nous introduisons cette recette dans un ordinateur ou un robot… enfin une machine quoi ?1395178658_cake_7 Et bien il ferait exactement ce que nous lui avons commandé. Il mélangerait la farine, les œufs, le beu… Ah ! Les œufs : avec les coquilles, personne ne lui a dit de les retirer. Les humain-e-s savent ce qu’est un œuf, ce mot a du sens pour eux, elles ou ils comprennent le contexte dans lequel on parle. Mais une machine, voyons ? Quelle chance aurait-elle de savoir que (contrairement aux batailles d’œufs dans les cantines de potaches) on doit d’abord se débarrasser de la coquille ? De plus, bien plus précisément qu’un humain, le gâteau sera mis au four 30 minutes, 0 seconde, 0 dixième, … sans allumer le four. Puisque cela n’a pas été dit explicitement.

En bref : un ordinateur ou un robot, … c’est « très con ». 1395178709_kcronCe mot d’argot de la langue française ne dit pas que le sujet est « sans intelligence » mais qu’il agit sans discernement, sans comprendre le contexte, sans dévier ce qui reste implicite. De l’intelligence mécanique quoi ! Et non pas je ne sais quelle « intelligence artificielle » (qui dans l’imaginaire collectif renvoie à la science-fiction).

Alors à quoi bon détailler tout cela ? Cela aide à comprendre quelle est la différence entre mon intelligence et celle d’une machine. La machine « calcule de manière fabuleusement rapide et efficace mais reste totalement dénuée de pensée ». Qui ne comprend pas la différence entre l’intelligence mécanique et l’intelligence humaine, ne sait pas se positionner correctement par rapport à ces systèmes numériques. Et alors, très naturellement, ces objets virtuels sont personnifiés, vus comme magiques, donc nous dominent.

Bien, voilà un point d’acquis. Et pour comprendre le codage alors ?

Retournons dans notre cuisine, et pour apprendre à programmer, mettons-nous à deux.

Gnirut, un monstre codeur - © S. Auvin
Gnirut, un monstre codeur – © S. Auvin

L’un va faire le robot (donc exécuter ce qu’on lui demande de la manière la plus mécanique possible), et l’autre va lui faire faire correctement la recette. Si vous faites cela il va se passer quatre choses amusantes.

 1/ Vous allez lui donner la recette à exécuter dans ses moindres détails, pas à pas, sous forme d’une séquence d’instructions élémentaires que la mécanique du robot peut exécuter au niveau de ses mécanismes physiques (ce sera « avancer de trois pas dans la cuisine », « tendre le bras », « prendre le paquet de farine blanc dans le placard » … (qui sait ce qu’est un « paquet de farine » sans en avoir jamais vu ?).

2/ Et… que faire si il n’y a pas de beurre ? Disons : prendre de la margarine, pardi, sinon arrêter avant que ce soit un massacre. Tiens… ce n’est plus tout à fait une simple séquence, il y a aussi des tests (« si pas de beurre alors margarine… »)

Et voilà que notre « intelligence mécanique » qui se réduit à faire tester une condition binaire, puis, selon qu’elle est vraie ou fausse, exécuter une séquence d’instructions ou une autre.

3/ Bien. Voilà le robot en train de faire un quatre-quart à l’orange. Et pour le quatre-quart au citron ? Dois-je lui répéter toute la recette ou simplement lui dire… à la place de l’orange tu mets du citron ? Ou du chocolat ! Bref, voilà l’automate capable de faire tous les quatre-quarts du monde. Il sait faire un quatre-quart à « X ». Où X est une variable dont le nom est « parfum du gâteau » et dont la valeur est « orange » ou « citron »…

Une variable c’est donc une boîte avec une étiquette (son nom) et dans laquelle on met une valeur. Grâce aux variables on peut programmer « tous les quatre-quarts du monde », de même que sur notre machine à laver, la température de l’eau correspond à la variable qui permet de laver tout le linge de la maison.

4/ Nous y sommes presque. Pour faire 50 quatre-quarts pour la fête des voisins, je peux recopier la recette 50 fois pour mon robot. Ou mieux, faire une « boucle » : de 1 à 50 fait un quatre-quart, fait un quatre-quart…

D’ailleurs nous avons un peu menti : on ne met pas vraiment le gâteau au four une demi-heure, mais dix minutes, on plante un couteau dedans et si le couteau ressort mouillé, on refait cuire dix minutes. C’est donc une boucle (« tant que le couteau ressort mouillé fait cuire dix minutes ») qui gère la cuisson du gâteau. Et si le four n’a pas été allumé, la semaine suivante le robot est toujours là à planter un couteau dans un gâteau pas cuit et surtout immangeable.

Eh bien, à ce stade il y a un résultat énorme à partager.

© Dessin : Paul Gendrot
© Dessin : Paul Gendrot

Si un ordinateur, un robot… enfin quoi, une machine, peut exécuter ces ingrédients des algorithmes alors elle peut faire TOUS les programmes d’informatique du monde !! Il n’y a pas un seul logiciel, algorithme du Web, programme de robot… qui ne se décompose pas en ces ingrédients. C’est ça l’intelligence mécanique. C’est une machine qui va pouvoir exécuter un algorithme qui a été exprimé dans un langage qui permet de traiter de l’information.

Cela veut dire que mon smartphone, le processeur de ma machine à laver, le plus grand ordinateur au monde ou ma calculatrice programmable ont la même intelligence mécanique (donc sont tout aussi « con »). Bien entendu il y en a des plus ou moins rapides, efficaces, agréables à utiliser… Mais qualitativement, leurs capacités calculatoires (on va dire « computationnelles » en franglais) sont équivalentes : on peut coder des algorithmes dessus.

C’est ce résultat monumental (on parle de la Thèse de Church-Turing) qui a fondé les sciences informatiques et permis au monde de passer de l’ère industrielle à l’âge numérique. Ne pas savoir, ne pas comprendre ça, c’est se priver du levier primal pour maîtriser cet univers qui est le nôtre aujourd’hui.

Oui mais concrètement… Comment apprendre cette notion de codage à nos enfants ? Voici ici des éléments pour répondre à leur question « Dis maman (ou papa), c’est quoi un algorithme dans ce monde numérique ?
 »

Et au-delà ? Comment avec tout ça peut-on coder et traiter de l’information par exemple ?

… c’est une autre histoire de notre A.B.C. : À bientôt sur Binaire pour en Causer.

Thierry Viéville.