Pourquoi je suis favorable à l’enseignement de la programmation à l’école

Cliquez sur l'image

Cliquez sur l’image

C’est un débat qui revient régulièrement, et pour une fois avec une certaine symétrie des deux cotés de l’Atlantique : doit-on enseigner la programmation à l’école ?

Les arguments contre, je l’avoue, me convainquent assez peu : la programmation n’est pas vraiment une discipline au même titre que les maths ou la littérature (mais on enseigne aussi la flute à bec, la cuisine et le sport que je sache – et si la définition d’une discipline c’est d’être patiné par les ans, par définition on n’en n’aura jamais de nouvelle) ; pas tout le monde aura besoin de programmer (bin pas tout le monde aura besoin d’avoir lu Victor Hugo et de savoir calculer une dérivée) ; les profs ne sont pas formés (à nouveau, avec cet argument on n’aura par principe jamais de nouvelles matières). L’argument le plus étrange pour moi, mais qui apparemment fait mouche : c’est pas avec ça qu’on va résoudre tous nos problèmes ! (Beaucoup de discussion en suivant ce lien ; l’article lui-même me paraît poser de fausses dichotomies ; et je précise que je n’ai pas lu tous les commentaires.) Euh non, mais si on n’a rien le droit de faire si ce n’est pas la seule solution à tous nos problèmes, c’est un peu limitant (ça me rappelle certains débats sur le riz doré).

Pour être clair : le manque de profs est un problème, mais si c’est le principal problème, alors il n’y a pas d’opposition de principe, et c’est un problème auquel il est possible de chercher des solutions : formation de profs volontaires (et je ne vois vraiment pas pourquoi ça serait limité ni même davantage encouragé pour les profs de maths), embauche en temps partiel d’étudiants, flexibilité sur les diplômes si expérience professionnelle, … bon après je ne m’aventure pas dans les débats sur les statuts de fonctionnaires en France, mais ce n’est plus une question de principe donc.

Alors pourquoi suis-je favorable à l’enseignement de la programmation à l’école ?

D’abord, l’informatique me paraît une matière importante, et c’est en programmant qu’on l’appréhende le mieux. De même qu’on fait des expériences en chimie et physique, des calculs en maths, des rédactions en français, c’est en programmant qu’on comprend à la base l’informatique. Ceci n’exclut pas d’aller plus loin et plus théorique pour ceux qui le veulent, mais il me semble que la compétence de base s’acquiert vraiment au pied du mur en devenant forgeron (ou quelque chose comme ça). J’ai eu une discussion Twitter avec un collègue bioinformaticien à ce propos, où il défendait qu’apprendre à programmer était comme apprendre la mécanique automobile plutôt que la physique. Je maintiens que c’est plus comme écrire des rédactions ou des dissertations, ou résoudre des calculs. De plus, l’informatique est quand même à mon avis à la fois une science et une technologie (voir les avancées et théoriques et pratiques d’un très bon informaticien dans ce billet). (La bioinformatique aussi d’ailleurs.)

Ensuite, lorsque l’on sait programmer, je pense que même si l’on ne programme pas (ou plus) en pratique, on en retire la compréhension de deux choses importantes :

  • On comprend mieux l’intuition du programmeur, et donc on comprend mieux comment utiliser les logiciels et on comprend mieux ce que l’on peut demander ou pas à l’informatique. On comprend ce qui doit forcément être sauvé dans un fichier, sinon ça ne serait pas gardé, ce qui devrait logiquement être modifiable parce que c’est facile, et ce qui n’est pas vraiment possible. C’est facile de se moquer du maire de New York qui affirme vouloir apprendre à programmer, parce qu’en effet dans son travail il ne doit pas en avoir besoin. Mais s’il comprend mieux ce qu’il peut demander, ce qui améliorerait la vie et serait vraiment facile à faire, ce serait un sérieux progrès pour la gestion des grandes villes à mon avis. Et juste pour prendre en main un nouveau logiciel, ou un nouvel appareil (iBidule ou autre), de comprendre ce qu’est un programme et comment ça marche est un sérieux plus. Vous comprenez ce que ça veut dire, que les apps soient « sandboxés » sur un iphone ? Sans savoir programmer, cela reste forcément un peu obscur je pense.
  • On comprend au moins intuitivement plein de notions qui sont en général pertinentes à notre relation avec le monde, y compris hors informatique. C’est un bénéfice de devoir formaliser la manière de penser et d’exécuter. Ce que sont un algorithme (comment résoudre une tache), une heuristique (une solution approximative, rapide et qui marche la plupart du temps), que de mauvaises données ne donneront pas de bonne solutions (Garbage in garbage out), qu’un ordinateur ne peut pas « comprendre » au même sens qu’un humain, etc etc, sont des notions à mon avis fondamentales. Notions que l’on peut bien sur pousser pour ceux qui le choisissent, mais dont on peut donner une intuition à la plupart des gens en leur faisant utiliser.

Un bénéfice je trouve moins critique mais quand même appréciable est de pouvoir utiliser l’informatique dans la zone grise qui n’est pas vraiment de la programmation au sens strict, mais manipule les mêmes objets et concepts : éditer du HTML pour une page web ou un blog, éditer le code dans Wikipedia, utiliser un logiciel de statistiques avancé comme R, écrire des macros Excel, etc.

Débats secondaires : à quel niveau à l’école ? Dès 6 ans, 10 ans, ou seulement à 17 ans ? Et quel languages ? Il me semble qu’il faut d’abord être d’accord sur les objectifs avant de s’occuper des moyens de les réaliser. En l’état des choses, je vote 10-12 ans, programmation de robots puis Python, mais je suis très ouvert à ce niveau-là. 🙂

29 réponses à “Pourquoi je suis favorable à l’enseignement de la programmation à l’école

  1. Je suis presque d’accord.
    L’age 10-12 ans, me semble trop jeune. Je pense que les années de lycée seraient la bonne période.
    D’autre part, on ne peut pas apprendre à programmer et mettre réellement la main à la pâte sans y investir beaucoup de temps. Je pense qu’il serait inutile de mettre un enseignement minimal qui ne permettrait pas aux élèves d’expérimenter réellement par eux mêmes. C’est une difficulté, mais je pense que mettre un petit enseignement marginal serait plutôt contre productif. Bref, faut mettre le paquet ou s’abstenir.

    Quant à l’affirmation suivante « qu’un ordinateur ne peut pas « comprendre » au même sens qu’un humain », elle mériterait d’être nuancée. Certes, il y a des naïfs qui pensent que les ordinateurs sont super intelligents et qui déchantent lorsqu’ils comprennent que l’ordinateur ne comprends que « IF … THEN … ELSE ». Alors, ils deviennent moins naïfs et tombent dans l’excès inverse en pensant que les ordinateurs sont totalement idiots, incapable d’approcher les capacités humaines. Et pourtant, avec des IF…THEN…ELSE, on peut en faire des choses, même pourquoi pas être plus intelligent qu’un humain. Ok, ça reste encore à démontrer, mais ça vient … un peu de patience.

    • wow 3 réponses d’un coup! 🙂

      Bien sûr, pas du tout d’accord sur l’investissement minimal, mais je détaille dans ma réponse.

      En ce qui concerne l’intelligence des ordinateurs, ce qui me semble amusant avec les ordinateurs, c’est qu’ils passent de zero à imbattables, apparemment sans limite.

      Des tâches qui paraissaient réservées aux humains, comme comprendre le langage parlé ou manuscrit, sont en train de devenir non seulement faisables par l’ordinateur, mais mieux que par l’humain. Bientôt, devant un mot illisible ou une phrase incompréhensible, on en appellera à l’ordinateur qui le déchiffrera (en fonction du contexte, d’infos statistiques etc). C’est presque déjà le cas d’ailleurs.
      (et c’est déjà le cas dans la fiction, avec les photos zoomées à l’infini)
      (ce qui n’est d’ailleurs pas aussi aberrant qu’on le montre dans les parodies, mais c’est un autre débat)

      On peut penser aux échecs. Les premiers ordis étaient pathétiques et servaient à s’entrainer, maintenant ils sont simplement imbattables.

      C’est particulièrement visible dans la robotique: un robot a du mal à marcher comme un humain. Mais le jour où il le peut, il court plus vite et ne tombe jamais.
      D’ailleurs MRR m’avait dirigé vers un texte d’un expert en robotique qui affirmait qu’avant d’avoir une invasion par des robots il faudrait que lesdits robots sachent sortir du labo sans trébucher sur la marche. Mmmh… faut voir la mule robotique du DARPA, il ne trébuche ni sur une marche ni sur la glace ou la gadoue.

      J’ai vu des résultats d’analyse d’image dans lesquels le premier plan est distingué du fond mieux qu’un humain: dans une simple image sans autre contexte, l’ordi qui avant confondait le loup avec la forêt (moins bien que l’humain) peut maintenant distinguer chaque poil du loup (mieux que l’humain!).

      Et bien sûr récemment un ordi a passé le test de Turing, il parait. De toutes façons c’est juste une question de temps.

      • jrobinss : « Des tâches qui paraissaient réservées aux humains, comme comprendre le langage parlé ou manuscrit, sont en train de devenir non seulement faisables par l’ordinateur, mais mieux que par l’humain. »

        Heu…. pas que je sache. Si la techno a fait un pas sur la qualité de la reconnaissance vocale, on n’arrive pas encore à transcrire correctement ne serait-ce qu’un SMS de façon suffisamment fiable pour que ce soit pratique.

        « Et bien sûr récemment un ordi a passé le test de Turing ».

        Effet d’annonce : les conditions réelles du test étaient trop simplifiées.

    • Pour l’age, j’avoue qu’étant enseignant du supérieur, je n’ai pas un avis très tranché. Je vois juste mes enfants et d’autres aimer programmer les robots dès 9-10 ans.

      Pour l’affirmation « ne pas comprendre », je suis d’accord qu’elle doit être nuancée, en ce que je ne vois pas pourquoi l’intelligence articifielle ne réussirait pas éventuellement. Mais pour le moment, il faut surtout que tout le monde comprenne qu’un programme n’a pas de contexte culturel ou émotionnel : il ne comprend que ce qu’il est programmé pour comprendre. D’où une partie des problèmes « c’est la faute de l’ordinateur ». Je pense qu’en fait on est d’accord.

  2. Depuis que j’ai lu cet article, je n’arrive plus à me défaire de l’image du forgeron au pied du mur. Je l’imagine avec son tablier et son gros marteau en train de regarder, dubitatif, le sommet du mur.

  3. J’ai changé d’avis récemment sur ce sujet. J’étais contre, pas tellement pour les raisons évoquées, mais parce que je n’aime pas les écrans (les cours par video!) ou l’approche technoïde de l’éducation, ni l’approche purement utilitaire. Je vais me permettre de ne pas développer.

    Je suis maintenant pour, pour des raisons de culture générale.

    La culture générale, c’est savoir des choses sur le monde qui nous entoure. Au premier rang des éléments de culture générale qui ne « servent à rien », l’histoire, la géographie, le belles lettres, la bio (ou SVT), les maths, bref, tout ce qu’on apprend. Tout ça, ça sert à rien, mais en fait ça sert. C’est de la culture G.

    Et le monde qui nous entoure est informatique, depuis le four à micro-ondes jusqu’à la voiture, et le facebook sur lequel les milléniaux ont établi des records de participation (une étude a montré que des ados américains passaient plus de 24h par jour sur les réseaux sociaux… record à battre! 🙂 ).

    J’en déduis qu’un minimum serait une matière secondaire, au même titre que la musique, l’éducation manuelle ou les langues mortes, consacrée à l’informatique. On y apprendrait d’une part un peu de programmation, et d’autre part comment ça se fait qu’une machine puisse avoir l’air intelligente.
    Ben oui, c’est quoi qui fait qu’une puce électronique ça marche? Combien de gens savent vraiment, au fond, ce qui fait qu’un ordi réfléchit?

    Comparons effectivement avec la voiture. La culture G comprend le principe du moteur à explosion. Je pense que c’est enseigné en physique, au moment où c’est pertinent, avec des histoires de combustion et de pression. Donc même si je ne sais pas tout sur le dessous du capot, la culture G c’est de savoir
    1. conduire
    2. vérifier les trucs de base et jeter un oeil à l’intérieur
    3. pourquoi que ça avance, en gros
    Le 1 et 2 font partie du permis de conduire (oui, même la mécanique, même si c’est souvent négligé). Le 3 c’est en physique qu’on l’apprend. Et perso, je trouve que le 1 et 2 pourraient faire partie du cursus scolaire, mais bon c’est mon avis.

    L’ordi c’est, de même:
    1. utiliser -> ça c’est en principe enseigné au primaire en France, sauf que faute de moyens c’est pas terriblement efficace. Mais c’est important pour éviter des forts écarts dans la population face à l’ordinateur. C’est cliquer, écrire, sauvegarder, surfer.
    2. savoir les trucs de base -> ça c’est la programmation, je préconiserais savoir éditer un peu de HTML (ce qui au passage fait comprendre mieux word etc!) et écrire un test if / then / else, si possible avec une ressource externe (horloge, base de données, user input). C’est aussi savoir rebooter ou brancher un truc USB sur un mac, un PC ou un linux.
    3. pourquoi ça marche -> pas évident, mais au moins avoir une idée de comment on passe du sable à l’iPad.

    Ce débat est vif aussi parce qu’il requiert du matériel. D’expérience personnelle, depuis moi à mes enfants, ça fait 30 ans que les écoles et collèges français peinent à avoir des salles informatiques utilisables. Je pense qu’il y a un effort à fournir pour inventer le support de tels cours, un équivalent au petit feu de gaz et pipette qu’on a en physique, qui sont sans nul doute datés et inutilisables dans la vraie vie mais suffisants pour savoir qu’un combustion dégage du CO2.
    Pas des PCs, ptet des trucs écran + arduino. Des proto de PC. Des supports de cours, éventuellement jetables, ou qu’on pourrait rendre pour les devoirs.

    Le vrai risque me paraît la portée du cours. Je trouve légèrement complexes les analyses grammaticales demandées à des élèves de 7-10 ans qui ont du mal à écrire convenablement. En informatique, j’aurais peur qu’on leur bourre le crâne avec des notions complexes et peu pérennes.

    L’informatique ça bouge vite, il faut enseigner les invariants.

    Sur ce, je m’en vais pratique ça avec mes enfants. On va voir ce qu’on va voir. 🙂

    • Matériel : il y a des projets « one laptop per child » pour l’Afrique sub-saharienne, on doit pouvoir équiper les écoles européennes, non ? Ca pourrait être des Rasberry Pi ou autre truc pas très cher et robuste. Surtout que programmer finalement ça prend beaucoup moins de resources informatiques que Microsoft Office. 😉

      https://fr.wikipedia.org/wiki/One_Laptop_per_Child

      J’adore la phrase « L’informatique ça bouge vite, il faut enseigner les invariants. », je l’ai tweetée avec joie.

      • je savais que tu apprécierais, c’est pourquoi je l’ai séparée du reste 😉

        pour « one laptop per child », oui je connais, et je donnais l’exemple d’arduino passque je confondais avec raspberry pi tout simplement. On est d’accord. Où est le proto de simili-ordi qu’on peut perdre sans souci, rendre comme on rend un devoir, allumer et coder trois lignes et voir ce que ça donne? Un bon sujet d’innovation, je vais en parler autour de moi.

  4. En tant qu’ingénieure en Intelligence Artificielle, j’ai longtemps été contre cette idée d’apprendre à tout prix l’informatique à l’école. Pas tellement parce que c’est nouveau ou que les profs ne sont pas formés, mais parce qu’il y a déjà, à mon sens, beaucoup de matières (plus ou moins utiles) et de choses à voir (dont on pourrait peut-être se passer) (Je vais me faire taper…) et que rajouter encore des cours supplémentaires risque de détourner des enseignements plus importants. Et puis finalement, je suis d’accord que l’informatique devient de plus en plus indispensable, et que donc enseigner les rudiments de programmation devient important, à condition qu’ils soient complétés par des cours sur le fonctionnement d’un PC. Je suis d’accord que la programmation est comme une dissert en français ou des calculs en maths, mais en français et en maths on ne fait pas que des disserts et des calculs : on fait aussi de la théorie.
    Il me semble donc qu’il est important d’enseigner la théorie de l’informatique (et surtout ses invariants, comme le dit jrobinss) et d’utiliser la programmation comme « TD » pour appliquer.
    Concernant l’âge, 10-12 ans me paraît beaucoup trop jeune. Je ne suis pas sûre que des enfants de cet âge aient l’abstraction nécessaire pour bien appréhender les concepts. Je serais plutôt du 14-15 ans, fin collège-début lycée.
    Pour les robots, oui c’est chouette et c’est ludique d’apprendre sur des robots, mais c’est pour moi déjà plus complexe qu’un ordinateur de famille et le fonctionnement est quand même très différent (capteurs, actuateurs, déplacement…). Je pense qu’on peut faire des choses tout aussi ludiques sur un PC classique pour leur apprendre, et pourquoi pas proposer une initiation robotique à la fin.

    • Nous ne parlons peut-êter pas du même enseignement. Je suis mitigé sur des vrais cours d’informatique (avec TPs? On est à combien d’heures par semaine là?). Je pense personnellement plus à une sensibilisation, comme ça existe théoriquement déjà au primaire. Mais pas l’informatique uniquement comme allumer un ordi et cliquer, ce que font les primaires actuellement, mais la programmation avec quelques-unes de ses spécificités et conséquences.

      Il existe des goûter-codage organisés dans une école primaire du nord parisien, j’ai appris ça récemment par une collègue qui y a emmené ses enfants de 6 et 9 ans. La programmation se fait par langage graphique avec des blocs, on construit un petit jeu, les éléments sont les actions utilisateur et quelques tests. Bref, un genre de programmation par messages. Et ça marche.

      Personnellement je ne suis pas fixé sur l’âge. Certains enfants de 6 ans parlent de racines carrées, certains jeunes adultes scolarisés ne savent pas encore écrire convenablement.
      Le tout c’est de sortir du système avec une idée, comme je dis à côté, de ce qui se passe dans le browser.
      (la différence entre code client / serveur / browser / OS, les tests pour savoir quoi afficher, la prog défensive face aux inputs, la culture de l’IHM, toussa)

      Je suis d’accord qu’il y a bcp de matières actuellement. Parfois il m’arrive de penser qu’on devrait avoir un cours de « tout », qui comprendrait une ébauche de latin, de cuisine, de mécanique, d’astronomie, de couture, de dessin, de musique, de langues vraiment exotiques avec leur mode de pensée, de magie, d’économie etc. Histoire de savoir qu’il existe des tas de choses à savoir, et que rien n’est magique, qu’il y a toujours des techniques, des technologies, des spécialistes et des amateurs, et des livres pour apprendre tout ça.
      (vous aurez remarqué que certaines de ces matières existent, d’autres pas, et à des importances diverses)

      • Parallèlement aux mouvements du type « il faudrait enseigner le code à l’école » (et aller à la piscine, et faire des projets « la main à la pâte », etc…), on saucissonne et diminue les horaires en primaire, parce qu’il serait contre-productif pour les enfants de passer trop de temps à l’école…
        N’y a t il pas une contradiction ?

  5. Houla !!!! enseigner la programmation !!!!! autant rendre obligatoires les cours de meca auto pour les candidats au permis de conduire -d’accord j’sais que ça existe mais quand même!!!! l’Informatique se limiterait elle à un cours sur Py , validé comment ? comme le BIC ?? all things foutaise et compagnie . Moi j’aime bien la comparaison programmation et latin (latin lui quasi validé au bac (nombreux sont les abandons)) Qu’il existe un enseignement info (très bugetivore) OUI mais validé et pas limité à un apprentissage de l’algorithme et pas renvoyé à la poub des a

    • ben comme ça au moins c’est clair 😀

    • Ben justement, pour apprendre à conduire on prend minimum 20 heures de conduite pour gérer le comportement du véhicule et respecter la signalisation routière. Et on doit connaître les commandes de base pour mettre le clignotant, gérer correctement le régime moteur et passer les vitesse puisque nous sommes un pays qui majoritairement utilise des boîtes manuelles. Il ne faut pas savoir dépanner sa voiture, mais savoir contrôler les niveaux d’huile en ouvrant le capot est fortement recommandé.

      Alors vous me direz, oui mais libre à vous de ne pas passer le permis.
      Pourtant on initie bien les enfants aux bases du code de la route au collège avec le Brevet de Sécurité Routière et même avec des vélos en primaire. Peut être par ce que le législateur a considéré que dans le monde qui nous entoure, cela doit faire partie de la culture générale.

      Et donc dans le monde dans lequel nous vivons, connaître un minimum comment un ordinateur fonctionne et quels sont les grands principes de la programmation (ce qui se résume beaucoup à l’application des grands principes de l’algorithmie ce qui ne nous rajeunit pas comme dirait Abu Abudllah Muhammad bin Musa al-Khwarizmi 🙂 ) cela peut servir autant que le BSR ou l’enseignement de l’historie géo.

  6. En CM1 si je ne me trompe, j’ai bénéficié du plan informatique pour tous.
    Certes les machines étaient des To7 et des Mo5 obsolètes et cher cari l fallait subventionner Thomson alors que les Amstrad étaient bien mieux.

    Mais cela permettait d’avoir une première approche des notions de bases de l’informatique de l’époque (ce qu’est un clavier, la RAM, la ROM, un bit – ce mot faisait bcp rire des loulous de CM1, allez savoir pourquoi 🙂 ) et de la programmation (le concept de variable, les entrées / sorties, les structures conditionnelles, les boucles).

    Et avec le recul j’en ai été bien content. Mais même un pékin lambda un tant soit peu avancé sera peut être amené à faire trois bouts de code dans une macro d’un tableur à la maison ou dans son emploi. Certes je fais du développement informatique et donc c’est mon métier mais même les non développeurs sont souvent amenés dans le contexte d’un emploi qualifié à toucher de près ou de loin à la programmation.

    Les grands algos tarte à la crème (tri, recuit simulé / monte-carlo, FFT, path finding, moindre carré, etc.) sont utilisés un peu partout. On trouve bien des gens qui adaptent des algos utilisés en biologie moléculaire pour étudier la parenté des langues !

    Exemple vécu lors de la mise en œuvre de certains de ces algos durant mes études scientifiques : J’avais les bases suffisantes en programmation pour me focaliser juste sur l’algo là où certains peinaient rien qu’à la maîtrise du langage en lui même. Base acquises en primaire grâce à l’école puis via le club d’info de mon collège et puis par moi même au lycée avec mon propre ordi.

    Donc je pense que connaître les principes de bases cela devient de la culture générale. Ensuite certains vont approfondir d’autres non. Quand, au collège, on voit (un peu) les vecteurs en troisième, c’est pareil. On est très loin de comprendre tout ce qui se cache derrière. Mais ce qu’on en sait est suffisant pour approfondir par la suite en fonction des filières.

    • Merci, cool ce témoignage !

      Avez-vous des copains qui ont eu la même initiation, mais n’ont pas poursuivi en informatique ? Qu’en pensent-ils ?

      • @MRR: Difficile à dire car cela fait bien longtemps que j’ai perdu de vu la grande majorité des gens avec qui j ‘étais scolarisé dans le primaire et le secondaire. Et ceux avec lesquels je suis resté en contact, ce sont ceux avec qui on a le plus d’affinité et donc des goûts proches. Et pour le coup, ceux là aussi avaient aussi un ordi à la maison.

        Pour répondre à Jrobinss, effectivement, peut être que même sans plan informatique pour tous, de toute façon je me serai formé avec mon prorpre ordi. Je me souviens avoir dévoré un bouquin d’initiation à la programmation à la maison.

        Et sinon nous sommes donc d’accord jrobinss et moi : l’info comme culture G.
        Je suis toujours sidéré de voir comment nombre de gens voient l’informatique comme un truc étrange vaguement magique.

    • Juste pour laisser entendre un son de cloche différent: j’ai fait des études d’informatique, mais j’ai utilisé mon premier ordinateur à 20 ans (oui, c’était un record parmi mes camarades de classe). Donc à l’opposé de ce témoignage. Et ça ne m’a jamais gêné.
      (oui, même à l’époque c’était considéré bizarre, même si sans doute pas autant qu’aujourd’hui)

      Pourquoi est-ce que ça ne me fait pas penser que l’info à l’école ça sert à rien?

      1. ben, ça me le fait penser. Comme je disais, j’ai changé d’avis récemment. Je ne pense pas que l’informatique soit dans un but pratique, mais de culture générale. Je sais d’expérience que le jour où on doit s’y mettre, ben, on s’y met et voilà.

      2. je suis dans une catégorie socio-pro assez favorisée, et pis bon en maths et tout ça. Quid des autres? De même que j’aime bien l’idée qu’un apprenti boulanger ait comme moi étudié l’Egypte antique et le déplacement des planètes, j’aime bien l’idée qu’il ait eu un jour eu à réfléchir au contenu de son browser.

  7. Encore un truc utile qu’on apprends en faisant de la programmation : lire le f*** manuel avec de commencer à tout bidouiller. Une méthode de travail très utile et applicable dans de nombreux domaine.

  8. Ping : Pourquoi je suis favorable à l’ens...

  9. J’étais tombé sur une approche intéressante de cette question dans un article qui faisait un parallèle avec l’enseignement du latin ( http://www.drgoulu.com/2013/09/07/la-programmation-latin-du-futur/ ).

    Je ne connais personne qui soit « contre » l’enseignement du latin ou de la programmation. Les critiques sont plutôt de l’ordre « est-ce plus important que l’histoire, la géographie, l’allemand … », et là, personnellement, je ne réponds pas systématiquement que la programmation est plus importante. Dans une filière scientifique certainement. Commerciale, peut-être. Littéraire, probablement pas.

    Alors une petite initiation faite par des pros itinérants avec du matériel adéquat (robots) vers 10-12 ans pour susciter des vocations, pourquoi pas. Mais pour moi, la programmation doit surtout être liée aux cours de maths dès qu’ils abordent l’algorithmique, méthodes itératives, graphes etc.

    • Ah oui je me rappelle de ce billet, j’avais beaucoup aimé.

      Mais je ne suis pas d’accord que cela doit être lié aux maths. Beaucoup de gens bloquent sur les maths pour une raison ou une autre, mais l’informatique est partout (voir humanités digitales…). Je pense que la programmation a un coté jeu qui peut attirer bien largement que les maths. Alors ensuite c’est sur que pour aller plus loin ça devient matheux, mais pour le niveau de base, comme présenté par Jrobinss dans un autre commentaire, je pense que le lien aux maths est davantage une distraction potentiellement négative qu’autre chose.

    • Et on peut aussi rappeler ce billet de Tom Roud « Dépasser le latin scientifique  » :

      http://tomroud.cafe-sciences.org/2014/01/04/macrotweet-2-depasser-le-latin-scientifique/

    • bien sûr et comme le suggère Marc, pas du tout d’accord. We agree to disagree 🙂

      Pas d’accord sur le latin: oui, beaucoup sont opposés à l’enseignement du latin, d’ailleurs le latin disparait peu à peu des cursus et options disponibles.
      On parle bien d’opposition pratique, qui prend en compte les temps dispos etc, pas d’opposition théorique genre guerre religieuse, hein. Mais c’est la même chose pour toute matière (sauf peut-être le satanisme).
      Je ne donnerai pas ma position là-dessus car c’est un autre débat 🙂

      Pas d’accord sur les maths: la culture G, c’est justement l’exact contraire: que les littéraires sachent des choses sur les maths (gasp!) et l’informatique (argl!) et que les matheux sachent des choses sur la littérature (ourgl!) et la philo (shudder!). Liste plus complète mais non exhaustive disponible dans mon autre commentaire.

  10. Je suis informaticien de métier et de formation. J’interviens également au sein de différentes formations universitaires en tant « qu’intervenant extérieur ».

    Pourtant je ne suis pas spécialement favorable à l’enseignement de la programmation à l’école. Du moins, pas au sens où nous autres informaticiens l’entendons.

    En effet, même si j’ai suivi une formation informatique, je ne considère pas qu’elle ait « vraiment » fait de moi un informaticien.
    Avant cette formation, je ne savais pas faire grand chose avec un ordinateur, je n’étais pas très « geek ». J’avais déjà vaguement lu/modifié du Basic et réalisé quelques pages en HTML, mais ça s’arrêtait là.
    Malgré tout, ma formation m’a donné le « déclic » qui a activé l’informaticien qui était en moi.
    Oui, je pense que l’informatique est quelque chose d’inné et que ça ne s’apprend pas vraiment.
    Bien entendu ma formation m’a apporté toutes les notions théoriques, l’algèbre de Boole, l’agorithmique, etc.
    Mais ce que m’a surtout apporté ma formation, c’est ma capacité à chercher l’information par moi même afin d’appréhender à peu près n’importe quel langage.
    Cependant, pour moi, tous ces éléments ne suffisent pas. Il manque la « colle », et cette colle, d’après moi, c’est de la Logique.
    Chose que l’on apprend pas en cours informatique. On la travaille tout au plus, mais on ne l’apprend pas.

    La logique, c’est quelque chose qui grandit avec nous en fonction de ce que l’on fait, en fonction de la vie. Et avant de faire de l’informatique, il faut un certain niveau de logique.

    Par contre, et c’est un autre débat, je suis pour l’initiation à l’informatique des enfants. Ces derniers sont confrontés aux nouvelles technologies de plus en plus tôt, mais il me semble important de leur expliquer que ces outils ne sont pas magiques et qu’ils sont effectivement contrôlables par les humains.

    J’ai donc réalisé une « expérience » que je décris dans un billet de blog à l’adresse suivante : http://ziirish.info/blog/post-79-retour_dexperience_changement_de_rythme_scolaire.html

    Certes dans cet article je parle de « programmation visuelle », mais le but était d’apprendre à contrôler un ordinateur de façon ludique, sans forcément regarder du code. Mon objectif n’était pas de faire de ces enfants des « codeurs ». Juste leur faire prendre du recul par rapport à ces outils numérique qu’ils manipulent avec une tant d’aisance. Le second objectif était de leur faire travailler la logique afin des les réconcilier avec certains jouets « traditionnels » qui sont pour moi importants dans le développement de cette logique nécessaire aux informaticiens.

  11. Je pense personnellement que les débats secondaires sur l’age et le temps à attribuer à la matière sont inutiles, il existe déjà une matière parfaite pour accueillir ces sujets : la techno au collège.

    Alors oui fabriquer un boitier avec une led qui s’éclaire quand on appuie sur le bouton c’est rigolo, mais on pourrait ajouter une puce programmable et faire jouer des séquences uniques à la led en fonction du programme de chaque élève.

    Et puis merci de m’avoir appris à utiliser un outil de dessin vectoriel dont je me sert environ… jamais, merci pour les cours de « sur un plan la vue de gauche tu la mets à droite » faut dire je dessine tous les jours ce genre de plan.
    Par contre, apprendre un « hello world » en c/python/java/js c’est vraiment inutile, comprendre une structure en arborescence comme le DOM ça sert à rien, comprendre les enjeux de sécurité et de vie privée à chaque fois qu’on utilise un programme c’est que pour les gens qui ont des choses à cacher et savoir utiliser des outils comme Stylish pour « reformater » certaines pages web c’est complétement inutile.
    (Attention, de l’ironie s’est cachée dans ce commentaire, sauras-tu la retrouver)

    Apprendre les bases de la programmation c’est pas chercher à leur donner les moyens de programmer une application « web asynchrone responsive design connecté avec google, facebook, twitter avec api rest identification kerberos et tactacbadaboum ». C’est leur faire prendre conscience que c’est pas magique et lancer des vocations.
    C’est comme en chimie, au début quand on te parle de ph tu trouves ça cool parce que ça change la couleur du papier, mais tu sais pas ce que ph veut dire, par quel procédé le papier change de couleur. Quand on te parle d’hydrogène, tu trouves ça cool parce que ça fait des bulles qui explosent dans de l’eau savoneuse, le fait qu’il faille X machin pour produire une mole d’hydrogène tu t’en cognes, tu sais même pas ce que c’est une mole dans ce contexte.
    C’est justement donner le « déclic » (pour reprendre l’expression de @Ziirish) qui fera qu’un gamin voudra s’intéresser aux filières de l’informatique plutôt que d’aller prendre un filière par défaut car rien dans les matières qui lui sont enseignées ne l’intéresse.

  12. Une bonne idée : enseigner la programmation dès l’école primaire ou secondaire pour en dégoûter définitivement les élèves.
    Pour apprendre à programmer il n’y pas pas besoin d’ordinateur, il suffit d’un projet comme une dissertation par exemple.

  13. Pour info, l’avis de Benjamin Bayart sur le thème abordé dans ce billet :
    http://www.nextinpact.com/news/88717-interview-initier-enfants-au-code-pas-urgent-selon-benjamin-bayart.htm