En Estonie, la programmation à l’école dès 6 ans

19
7
sept.
2012
Éducation

Le programme ProgeTiiger prépare les enfants estoniens au développement d’applications Web et mobiles en leur apprenant les bases de la programmation à l’école dès l’âge de six ans !

L’Estonie est l’un des pays les plus connectés à Internet au monde, ce qui a contribué à l’essor de sociétés comme Skype ou Playtech.

Ce programme pourrait à long terme faciliter la tâche aux employeurs qui ont actuellement du mal à trouver de la main d’œuvre compétente dans le domaine du développement. Il est d’ailleurs parrainé par des compagnies de la sphère technologique.

Il ne concernera pour cette rentrée que quelques écoles pilotes, mais l’initiative pourrait s’étendre à toutes les écoles publiques du pays.

Peu de détails ont été révélés, mais la nouvelle soulève encore une fois des questions concernant la meilleure façon d’enseigner l’informatique pour des enfants d’âge scolaire :

  • Quels sont les langages de programmation les mieux adaptés ? LOGO ? BASIC ? Python ? Java ? JavaScript ?
  • Faut‐il commencer par les bases théoriques, comme dans le livre Computer Science Unplugged — qui a, par ailleurs, été traduit en français par l’équipe d’Interstices ?
  • À quel âge peut‐on commencer ?

Aller plus loin

  • # Langages

    Posté par  (site web personnel) . Évalué à 2.

    Scratch, Linotte ?

    • [^] # Re: Langages

      Posté par  (site web personnel) . Évalué à 1.

      Au secours pas Linotte! :)

      (C'est certain que pour un petit estonien, un langage de programmation en français, ca fait beaucoup de sens… Raison pour laquelle développer un langage pas en anglais en premier lieu n'en a aucun, de sens.)

      • [^] # Re: Langages

        Posté par  . Évalué à 3.

        (Car le petit estonien de 6 ans parle couramment anglais, c'est bien connu)

        • [^] # Re: Langages

          Posté par  . Évalué à 10.

          Le petit estonien se fout complètement de la susceptibilité nationaliste de la génération de dinosaures qui prend des décisions pour lui. Le petit estonien apprend que "if" symbolise le test conditionnel, et que "or" est un "ou" inclusif, ce qui est au passage beaucoup moins trompeur que d'utiliser des notions approximatives existantes dans sa langue.

          Je pense que l'idée d'exprimer un programme à l'aide d'une langue naturelle est vouée à l'échec : 1) une langue contient beaucoup trop de subtilités, et 2) beaucoup trop de choses sont implicites dans la communication entre êtres humains. Je pense que c'est à l'origine de beaucoup d'incompréhensions, les gens pensent qu'ils peuvent communiquer avec un ordinateur comme avec un être humain, et ils sont malheureusement encouragés à faire ça par des développeurs et des marketteux débiles qui considèrent que c'est un objectif. Actuellement, un ordinateur se programme grâce à des instructions mathématiques rédigées dans un langage non-ambigü, pas avec des mots. Ce message passerait beaucoup mieux, à mon avis, si on omettait dès le départ la possibilité d'utiliser une langue humaine.

          • [^] # Re: Langages

            Posté par  (site web personnel) . Évalué à 6.

            Brainfuck et hop ! Plus de problème de langue !

            Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.

            • [^] # Re: Langages

              Posté par  . Évalué à 1.

              Non mais un problème de cerveau…

          • [^] # Re: Langages

            Posté par  (site web personnel) . Évalué à 1.

            Le petit estonien se fout complètement de la susceptibilité nationaliste de la génération de dinosaures qui prend des décisions pour lui.

            Non, justement c'est un pays tres conservateur du point de vue linguistique, a cause du poids de l'histoire… Et puis va coder en Estonien ; meme les russophones d'Estonie codent pas en russe a ma connaissance.

            Pour en revenir au sujet : "if" et "or", cela provient toujours d'une langue naturelle, l'anglais ; mais je suis d'accord avec le fond, ce qui compte c'est la logique informatique, differente des langues naturelles.

            D'ailleurs il y a eu des langages francises (c'est le cas de WinDev il me semble), ca me fait toujours mal aux yeux de lire ca…

            • [^] # Re: Langages

              Posté par  . Évalué à 2. Dernière modification le 10 septembre 2012 à 00:49.

              Moi, ce sont les langages en anglais qui me font mal aux yeux : j'ai plus de mal à comprendre du code quand il est écrit en anglais qu'en français car cela m'oblige à faire une traduction. L'anglais n'est pas ma langue maternelle, mon cerveau n'associe pas les mots de la même manière qu'en français. En cela, je préfèrerai coder en français.

              (Et puis, je ne vois pas pourquoi les anglo-saxons coderaient dans leur langue et pas moi ! ‾‿‾ )

              • [^] # Re: Langages

                Posté par  (site web personnel) . Évalué à 3.

                Tu veux sans doute parler des anglophones au lieu des anglo-saxons.

              • [^] # Re: Langages

                Posté par  . Évalué à 6. Dernière modification le 10 septembre 2012 à 09:15.

                Tu as beau répéter plusieurs fois la même chose, ça ne le rend pas vrai. Il n'y a pas besoin de traduire "if (k==3) Faire_ci() then Faire_ca();". Ce n'est pas de l'anglais. Ce n'est pas un langage naturel, c'est une suite de symboles qui n'ont une signification que dans un contexte précis (langage de programmation particulier). Il y a tout un tas de mot-clés qui n'ont pas le même sens selon les langages (template, and, or, foreach…), et la maitrise de l'anglais ne peut pas aider à programmer à partir de la leçon n°2.

                Et puis zut, if, while et repeat, c'est quand même de l'anglais niveau primaire, il ne faut pas abuser. Tant qu'on y est, tu peux aussi critiquer les nombres en notation scientifique, la définition des constantes pi ou e, etc, qui nécessitent aussi des connaissances. Franchement, quand tu es capable d'apprendre la logique de la programmation objet, tu peux quand même te farcir 5 mot-clés dans la langue de communication internationale.

                En tout cas, personne ne code "dans sa langue". Si tu veux critiquer quelque chose, critique l'utilisation de paradigmes occidentaux (nombres, dates, ascii), pas la langue des mot-clés…

          • [^] # Re: Langages

            Posté par  (site web personnel) . Évalué à 3.

            l'idée d'exprimer un programme à l'aide d'une langue naturelle est vouée à l'échec

            Je pense que c'est vrai. Les mots n'ont pas toujours le même sens. C'est ce que j'ai essayé d'expliquer dans Les quatre sens des mots.

    • [^] # Re: Langages

      Posté par  . Évalué à 2.

      students in grades 1 to 12 will be introduced computer programming and creating web and mobile applications.

      Et vu la photo, je vais te dire objective-C & Flash

  • # Conférence TED

    Posté par  (site web personnel) . Évalué à 3.

    J'aime beaucoup ce discours TED :
    http://www.ted.com/talks/conrad_wolfram_teaching_kids_real_math_with_computers.html

    La partie calcul des maths ne sont qu'une partie des maths.
    Le reste :
    - formuler le problème
    - chercher une approche
    - répondre
    sont au moins voir plus importants.

    La réalité, c'est ce qui continue d'exister quand on cesse d'y croire - Philip K. Dick

    • [^] # Re: Conférence TED

      Posté par  . Évalué à 8.

      Il me semble que c'est exactement ce qu'on nous apprend avec les problèmes de trains qui remplissent des baignoires de 42l en partant à 13:37 en sens opposé.

      Tous les nombres premiers sont impairs, sauf un. Tous les nombres premiers sont impairs, sauf deux.

  • # Futur petit programmeurs modèles

    Posté par  . Évalué à 7.

    Cela ne choque-t-il que moi de voir que l'on veuille fortement induire un type de travail à tous les enfants de 6 ans d'un pays ?

    Il est loin le monde libre et sans soucis de l'enfance…

    • [^] # Re: Futur petit programmeurs modèles

      Posté par  . Évalué à 8. Dernière modification le 07 septembre 2012 à 15:35.

      Non ça ne choc pas que toi.
      Bienvenue dans notre magnifique monde ou la finalité de l'école est de permettre de trouver un boulot et non d’éduquer et de cultiver.

      • [^] # Re: Futur petit programmeurs modèles

        Posté par  . Évalué à 10.

        Le rôle de l'école est aussi de donner aux enfants les clefs pour comprendre le monde dans lequel ils vivent et les outils pour interagir avec lui.

        À l'école on apprend des maths, cherche-t-on à faire de tous les enfants des mathématiciens ? On y apprend aussi de la biologie ? Est-ce pour leur permettre de trouver un boulot dans la recherche pharmaceutique ou pour les cultiver ?

        Nous vivons dans un monde où de plus en plus de choses passent par l'ordinateur. Il est presque impossible d'échapper à l'utilisation de programmes. Connaître des bases de programmation, c'est comprendre un peu ce qui se passe derrière. Oui, c'est du domaine de la culture.

        Alors bon, 6 ans ça veux dire que les enfants savent à peine lire. Du coup c'est peut-être un peu trop tôt. Mais ça tient du détail d'implémentation.

        • [^] # Re: Futur petit programmeurs modèles

          Posté par  . Évalué à 2.

          C'est ce que j’entends par "éduquer et cultiver". le rôle de l'école est de permettre aux enfants d'être en phase avec le monde dans lequel ils évoluent, de leur donner un maximum "d'armes" pour y évoluer le mieux possible selon leurs souhaits pas de les enfermer.
          Vouloir donner une finalité professionalisante à l'école dés 6 ans c'est renforcer l'idée, dès le plus jeune age, que travailler est une fin en soit.
          Attention ça ne veut pas dire que j'estime que seul l'enseignement général doit être prodiguer mais chaque écolier devrait pouvoir le choisir en connaissance de causes, en raison de ces gouts et non parce qu’il faut bien bosser un jour.

          • [^] # Re: Futur petit programmeurs modèles

            Posté par  (site web personnel) . Évalué à 3.

            chaque écolier devrait pouvoir le choisir en connaissance de causes

            Je pense que le but de faire apprendre la prog à de jeunes enfants n'est pas de former des armées d'informaticiens, mais bien de leur permettre, quand la question de leur spécialisation et donc du choix du domaine de leur futur boulot se posera, d'avoir connaissance de ce qu'est l'informatique, et donc de correctement choisir ou non l'informatique comme futur métier.

            Logiquement, donner les clés de l'informatique aux enfants leur permettra de faire un choix plus éclairé et donc d'avoir de meilleurs informaticiens :
            - ceux qui ont aimé et sont bons, ont de forte chance de se spécialiser en info
            => découverte d'une vocation parce que s'ils ne connaissaient pas la prog, ils auraient fait des maths ou tout autre chose
            - ceux qui n'aiment pas n'iront pas dans l'info
            => éviter ceux qui vont dans l'info parce que ça reste un secteur en mouvement et donc qu'il y a de l'embauche dedans. Ça peut éviter à de mauvais programmeurs d'en faire leur métier (oui oui, mauvais programmeur, c'est un métier, et même assez répandu il paraît)

            Personnellement, je me suis réorienté vers l'informatique après différents cursus, ayant abouti à des diplômes mais sans trouver de boulot derrière. J'avais toujours aimé bidouillé les ordis, mais on ne m'avait jamais parlé de dut info ou d'une autre filière vraiment informatique quand j'étais au collège ou au lycée. Et c'est pas les cours de bureautique qui me faisaient penser que l'informatique, c'était que du bonheur. Je suis tout à fait certain que je me serais directement dirigé vers l'informatique si j'avais eu des cours de vraie informatique étant jeune (ceci dit, 6 ans… Bof, c'est quand même lieu de savoir lire/écrire correctement avant de passer à la programmation, mais bon).

            Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.

            • [^] # Re: Futur petit programmeurs modèles

              Posté par  . Évalué à 8.

              Je pense que le but de faire apprendre la prog à de jeunes enfants n'est pas de former des armées d'informaticiens, mais bien de leur permettre, quand la question de leur spécialisation et donc du choix du domaine de leur futur boulot se posera, d'avoir connaissance de ce qu'est l'informatique, et donc de correctement choisir ou non l'informatique comme futur métier.

              Surtout qu'il y ait beaucoup de chance qu'ils aient besoin de savoir programmer quelque soit leur métier. Par exemple, beaucoup de scientifique ont besoin un jour ou l'autre de manipuler des données de manière un peu poussé avec des outils comme Matlab, scilab, R, python… beaucoup de gens gagneraient beaucoup de temps en écrivant quelques macros dans leur traitement de texte/outils de présentation…

              « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

      • [^] # Re: Futur petit programmeurs modèles

        Posté par  . Évalué à 8. Dernière modification le 07 septembre 2012 à 15:49.

        Apprendre à programmer un ordinateur dans un monde où, de manière prévisible, les frigos, les voitures, les maisons et les aspirateurs seront des ordinateurs, ne me semblent pas vraiment insensé. C'est avant tout quelque chose qui ne peut qu'améliorer le bien être de la société, pouvoir maitriser les outils qui nous entourent est indispensable à la nouvelle génération.

        Le fait que ça puisse aider à trouver du boulot par la suite est un argument de politicien, si c'est vrai, tant mieux, mais c'est ridicule de ne pas voir les avantages pour le citoyen et la société d'une telle politique parce qu'elle est présentée de manière astucieuse.

        • [^] # Re: Futur petit programmeurs modèles

          Posté par  . Évalué à 0.

          En quoi ça améliorerait le bien être de la société?

          De plus, j'ai appris à programmer, ce n'est pas pour ça que je maîtrise plus que n'importe qui les appareils électroniques qui m'entourent. Je pense que peu parmi les futurs programmateurs peu reprogrammeronnt leurs aspirateurs, frigos, voitures, maisons, et je ne suis pas du tout convaincu qu'ils sauront mieux les utiliser que les autres personnes.

          • [^] # Re: Futur petit programmeurs modèles

            Posté par  . Évalué à 8.

            L'ignorance des consommateurs est la raison majeure pour laquelle les produits qu'on achète sont fermés, obsolètes rapidement, et liberticides : ils ne voient pas l'intérêt de les modifier ou de les bricoler. L'incompétence informatique est à l'origine de milliards d'euros de coûts de tous genres tous les ans : spam, virus, problèmes de sécurité. Je n'arrive pas à imaginer comment tu peux ne pas imaginer l'avantage d'une société cultivée informatiquement : Hadopi, les brevets logiciels, les machines à voter, la vente liée, les problèmes de sécurité dûs aux données sensibles dispersées dans "le cloud", les logiciels propriétaires incontournables, les spécifications matérielles fermées, tous ces problèmes qui nous pourrissent la vie au quotidien et qui menacent sérieusement la liberté des prochaines générations sont dues à une très grande part à l'ignorance et à l'incompétence des consommateurs et des citoyens. Et toi, tu ne vois pas l'avantage pour la société de comprendre comment fonctionnnent les outils qu'ils utilisent au quotidien et à qui ils confient leurs données, leur vie privée, et de plus en plus leur vie tout court?

            • [^] # Re: Futur petit programmeurs modèles

              Posté par  . Évalué à 2.

              L'ignorance des consommateurs est la raison majeure pour laquelle les produits qu'on achète sont fermés, obsolètes rapidement, et liberticides : ils ne voient pas l'intérêt de les modifier ou de les bricoler.

              Eh bien, je ne savais pas que savoir programmer rendait expert en voitures ou en machines à laver.

              Quant à l'idée que les programmeurs soient majoritairement attachés aux libertés informatiques, heu… faudra sortir de son petit cocon libriste un jour. La plupart des informaticiens professionnels sont des pisseurs de code qui s'en tapent le coquillard du libre, des standards ouverts, etc.

              • [^] # Re: Futur petit programmeurs modèles

                Posté par  . Évalué à 2.

                Eh bien, je ne savais pas que savoir programmer rendait expert en voitures ou en machines à laver.

                Relis mon argument : dans quelques années, tous ces outils seront programmables.

            • [^] # Re: Futur petit programmeurs modèles

              Posté par  . Évalué à 0.

              Mais apprendre l'informatique, ce n'est pas nécessairement apprendre à programmer. C'est vrai,les questions que tu soulèves sont un enjeu citoyen. C'est ce qui fait toute la différence entre "former (dès l'école primaire) des gens pour un but précis (fournir de la main d'oeuvre en informatique)" et "apprendre un savoir permettant de comprendre des enjeux de société (et éventuellement en faire son travail, ou son passe-temps)". C'est la question de l'école pour toutes les matières, finalement: veut-on former des citoyens (également capables d'acquérir des savoirs-faire pratique débouchant sur un métier) ou des travailleurs formés dans un but spécifique?
              En outre, réduire l'informatique à la programmation, c'est dommage.

              • [^] # Re: Futur petit programmeurs modèles

                Posté par  . Évalué à 2.

                Dans les faits, dans les cours d'"informatique" avant la fac, quand on n'apprend pas à programmer, on apprend à jouer avec un tableur ou avec un traitement de texte. Je ne vois pas le rapport avec l'informatique non plus, je pense que c'est nettement plus formatteur que d'apprendre à programmer.

                • [^] # Re: Futur petit programmeurs modèles

                  Posté par  . Évalué à 1.

                  J'ai aussi eu à « jouer » avec un traitement de texte au collège. Ce fut une expérience très désagréable. Arrivé en troisième, tous les élèves savaient utiliser le logiciel au moins aussi bien que le prof. Il n'y avait aucune réflexion, juste l’apprentissage bête de recettes à peine transposable d'un logiciel à l'autre. Ce n'est pas vraiment ce que j'appelle « formateur ». Mais j'avais sans doute une mauvaise prof.

                  Le tableur est tout de suite plus intéressant. D'abord parce que les élèves savent moins l'utiliser. Ensuite parce que le logiciel implique un minimum de réflexion. De là à dire que c'est plus formateur que la programmation…

                  • [^] # Re: Futur petit programmeurs modèles

                    Posté par  . Évalué à 2.

                    Toutes mes confuses, je voulais bien sûr dire "moins formateur". Relis le début du fil, je suis vraiment favorable à l'apprentissage pour tous de la programmation.

          • [^] # Re: Futur petit programmeurs modèles

            Posté par  . Évalué à 4.

            Je pense qu'apprendre à des gamins le bricolage des ordinateurs a les mêmes bienfaits que les cours de bricolages dans les écoles d'antan : ça forme l'esprit pratique, la curiosité, l'envie de bidouiller. Et ça c'est super.

            Je me plais même à imaginer une augmentation du nombre d'estoniennes scientifiques dans 20 ans : il me semble qu'en France, la pression sociale éloigne fortement les filles de tout ce qui est bricolage/mécanique/bidouillage informatique, et que c'est ça qui leur manque plus tard pour être "bonnes" en maths, physique etc…

          • [^] # Re: Futur petit programmeurs modèles

            Posté par  (site web personnel) . Évalué à 7.

            En quoi ça améliorerait le bien être de la société?

            Peut-être que cela permettra de voir un jour émerger une génération de citoyens capables de comprendre sans difficulté pourquoi remplacer une urne électorale par un ordinateur est une connerie.

        • [^] # Re: Futur petit programmeurs modèles

          Posté par  . Évalué à 4.

          Le fait que ça puisse aider à trouver du boulot par la suite est un argument de politicien, si c'est vrai, tant mieux, mais c'est ridicule de ne pas voir les avantages pour le citoyen et la société d'une telle politique parce qu'elle est présentée de manière astucieuse.

          Ben justement, si l'avantage c'est d'instruire les gens sur le monde dans lequel ils vivent, l'argument politicien devrait être quelque chose comme :

          L'avantage c'est d'instruire les gens sur le monde dans lequel ils vivent.

          et pas

          c'est cool on les forme à un métier à 6 ans !

          Tous les nombres premiers sont impairs, sauf un. Tous les nombres premiers sont impairs, sauf deux.

      • [^] # Re: Futur petit programmeurs modèles

        Posté par  . Évalué à 2.

        la finalité de l'école est de permettre de trouver un boulot et non d’éduquer et de cultiver.

        Pour moi, l’école doit cultiver et instruire. L’éducation ne devrait-elle pas être faites par les parents ?

        Argh, dommage qu’on ne soit plus vendredi tiens ! Ça nous aurait fait un beau troll sans sexisme ni systemd…

        • [^] # Re: Futur petit programmeurs modèles

          Posté par  (site web personnel) . Évalué à 0.

          Pour moi, l’école doit cultiver et instruire. L’éducation ne devrait-elle pas être faites par les parents ?

          < smiley >
          Je sais pas, quel est le ministère qui s'occupe des écoles :
          - le ministère de la culture nationale
          - le ministère de l'instruction nationale
          - le ministère de l'éducation nationale

          Les parents doivent accompagner l'école dans sa mission, faire un boulot complémentaire bien que parfois redondant. L'éducation, la culture, l'instruction tout ça fait partie de la mission des parents ET de l'école.
          < /smiley >

          Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.

          • [^] # Re: Futur petit programmeurs modèles

            Posté par  . Évalué à 2.

            Justement, il est intéressant de remarquer que la dénomination a changé au cours des époques :

            « En 1932, le gouvernement d'Édouard Herriot décide de rebaptiser l'instruction publique "éducation nationale". L'expression date de la fin du 18e siècle, où elle était employée par les partisans de la prise en main par l'État des affaires d'enseignement. Elle était réapparue dans les années 1910-1920 sous la plume des adversaires de la division du système éducatif en filières distinctes. Anatole de Monzie est le premier ministre à porter cette nouvelle titulature. Il explique dès sa prise de fonction qu'elle est synonyme d'égalité scolaire et de développement de la gratuité et que, en somme, qui dit "éducation nationale" dit "tronc commun". »

            http://www.education.gouv.fr/pid289/le-ministere-de-l-education-nationale-de-1789-a-nos-jours.html

      • [^] # Re: Futur petitprogrammeurs modèles

        Posté par  (site web personnel) . Évalué à 3.

        permettre de trouver un boulot et non d’éduquer.

        Le rôle de l'école ne serait-il pas d'instruire plus que d'éduquer ?

    • [^] # Re: Futur petit programmeurs modèles

      Posté par  (site web personnel) . Évalué à 7.

      On pourrait en dire autant de l'apprentissage de l'écriture. Les enfants ne sont pas voués à devenir scribes, c'est juste que l'écriture est une base dans notre société, contrairement à ce qui se faisait il y a des siècles.

    • [^] # Re: Futur petit programmeurs modèles

      Posté par  . Évalué à 2.

      Ça dépend si l'objectif est une génération de scientifiques ou de pisseurs de code opérationnels des 15 ans.

      Please do not feed the trolls

  • # On en apprend, des choses

    Posté par  . Évalué à -1.

    L’Estonie est l’un des pays les plus connectés à Internet au monde, ce qui a contribué à l’essor de sociétés comme Skype ou Playtech.

    Ah bon, c'est grâce à l'Estonie que Skype est si utilisé ?

    Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

  • # Mon dépucelage

    Posté par  . Évalué à 1.

    Ma première relation avec la programmation c'était à l'école primaire, certainement en cour moyen (soit 9 ou 10 ans), le LOGO sur un TO-7 (made in France…). J'ai pas pu m'empêcher d'y regoûter il y a quelques années pour le fun, il y a un tas d'interpréteur de LOGO qui fonctionne sous GNU/Linux. On peut faire de jolis dessins en LOGO :)

    Par contre le LOGO me paraît pas forcément le meilleur choix. Le Pascal, dont l'ensemble des mots clés peuvent être traduit dans d'autres langues et qui est un langage généraliste, pourrait être un choix. Mais sinon, pourquoi ne pas attaquer directement sur du C avec nos petites têtes blondes ?

    • [^] # LOGO, Pascal et C

      Posté par  . Évalué à 6. Dernière modification le 07 septembre 2012 à 21:19.

      Par contre le LOGO me paraît pas forcément le meilleur choix. Le Pascal, dont l'ensemble des mots clés peuvent être traduit dans d'autres langues et qui est un langage généraliste, pourrait être un choix. Mais sinon, pourquoi ne pas attaquer directement sur du C avec nos petites têtes blondes ?

      Tu as déjà donné des cours de programmation à des gens qui n'ont pas de culture scientifique ? Moi oui. Même des adultes qui "bidouillent" leurs PC depuis 10 ans peinent à comprendre le principe des boucles. Et ils sont à la rue pour les fonctions à paramètres. Je sais que j'ai beaucoup de progrès à faire dans l'enseignement de ces concepts élémentaires, mais je crois tout de même qu'ils sont très difficiles à faire passer.

      Même à un niveau licence, avec des étudiants qui ont déjà une culture mathématique (fonctions, variables, etc) et forcément une plus grande capacité d'abstraction que des gamins de 6 ans, l'enseignement du C n'est pas une sinécure. C'est plus facile pour les boucles et les fonctions, mais il faut un paquet d'heures pour que la majorité comprenne les pointeurs.

      Commencer par des langages restreints, mais avec un retour immédiat (LOGO et Cie), me semble plutôt une bonne idée.

      • [^] # Re: LOGO, Pascal et C

        Posté par  . Évalué à 3.

        Le LOGO est quand même super spécifique. Il s'agit de programmer un objet qui va se déplacer sur un plan en levant ou baissant son crayon, et en changeant éventuellement la couleur du crayon… Ce n'est à mon avis pas suffisant pour appréhender la programmation dans son ensemble.

        Quel est le meilleur langage pour enseigner la programmation c'est une bonne question.

        KTurtle

      • [^] # Re: LOGO, Pascal et C

        Posté par  (site web personnel) . Évalué à 3.

        C'est plus facile pour les boucles et les fonctions, mais il faut un paquet d'heures pour que la majorité comprenne les pointeurs.

        Ce n'est pas étonnant, il y a même des programmeurs professionels qui passent leur temps à les utiliser n'importe comment…

        À mon avis, c'est plus facile de commencer à programmer en assembleur qu'en C, car l'assembleur ne fait pas de mystère sur les adresses tandis que les pointeurs servent à manipuler des adresses sans en parler vraiment. Au lieu de travailler sur les adresses on travaille en C sur un objet encapsulant les adresses, donc c'est forcément un peu compliqué quand on ne sait pas ce que c'est qu'une adresse. (Les objets plus communs, comme les queues, sont bien plus facile à apréhender.)

        Pour s'initier à la programmation, les langages de choix sont l'assembleur, le Pascal et le Scheme tous les autres sont beaucoup plus compliqués.

        • [^] # Re: LOGO, Pascal et C

          Posté par  (site web personnel) . Évalué à 3.

          À mon avis, c'est plus facile de commencer à programmer en assembleur qu'en C, car l'assembleur ne fait pas de mystère sur les adresses tandis que les pointeurs servent à manipuler des adresses sans en parler vraiment.

          De quel assembleur tu parles ?
          Car il y a des assembleurs plus digestes que d'autres (et non l'assembleur x86 n'est pas la meilleure cuvée à ce jour).

          Préconiser l'assembleur pour débuter me semble une vaste blague. Je suis en école d'ingé et nous avons débuté par le C et nous avons vu un langage assembleur (du ST8 en l’occurrence). Je peux te dire que peux de gens ont apprécié le langage assembleur et je les comprends. Oui l'assembleur est moins abstrait, mais c'est ce qui fait sa difficulté ! Rein que pour des opérations simples tu galères un max, tu as du coup plus de contraintes dans la gestion du programme car tu as moins de possibilités simples et puis tu n'as pas de résultat directement exploitable.

          Pour le ST8, il faut utiliser un IDE spécial pour compiler et pour voir l'état des variables tu n'as le droit qu'à un visualiseur de variables (qui n'est utile qu'en fonctionnement instruction par instruction du programme). En C tu as toute la puissance de la console de disponible, tu peux afficher des résultats directement et très simplement. Et l'abstraction, toute relative, du langage C par rapport à un assembleur simplifie grandement la vie car tu gagnes en confort et lisibilité du programme (et possibilités également).
          Débuter par un assembleur, je pense que tu veux dégoûter des gens de l'informatique inutilement.

          • [^] # Re: LOGO, Pascal et C

            Posté par  (site web personnel) . Évalué à 1.

            Préconiser l'assembleur pour débuter me semble une vaste blague.

            Je ne suis pas du tout d'accord. Si tu programmes en assembleur tu peux utiliser quelques boîtes noires magiques du type printf pour l'affichage (qui de toute façon va finalement passer par une boîte noire appel système ).

            L'écriture des algorithmes d'Euclide ou des algorithmes de tri n'est pas plus compliquée qu'en C et ce sont les exemples classiques de toute introduction à la programmation. Le manque d'expressivité de l'assembleur n'est pas du tout un obstacle à une introduction et on peut déjà aborder beaucoup de problèmes fondamentaux de programmation avec l'assembleur.

            D'ailleurs l'assembleur a été mon deuxième langage de programmation (après l'AMOS Basic) et mon premier langage sur PC, car c'est le seul langage pour lequel j'avais dégotté un compilateur gratos. (Le a86 de Isaacson.) Vu qu'à l'époque j'avais douze ans, je ne vois rien qui puisse rébuter des élèves ingénieurs.

            Débuter par un assembleur, je pense que tu veux dégoûter des gens de l'informatique inutilement.

            Pas du tout, c'est bien mieux de commencer par l'assembleur que par le C.

            • [^] # Re: LOGO, Pascal et C

              Posté par  (site web personnel) . Évalué à 4.

              Pluzun. L'assembleur n'est peut-être pas idéal, un BASIC peut être plus approprié à mon avis, mais il faut de toute façon commencer bas et monter, et surtout pas l'inverse. Commencer en haut niveau avec des abstractions et tout, c'est le meilleur moyen de ne rien comprendre à ce qui se passe vraiment.

            • [^] # Re: LOGO, Pascal et C

              Posté par  (site web personnel) . Évalué à 0.

              Génial, l'algorithme d'Euclide nécessite la division et le reste. La plupart des assembleurs ne gèrent pas de telles opération.
              Oui ça permet de revenir à l'étape de comprendre comment on calcul une division, tout ça, mais ça met des bâtons dans les roues très rapidement pour un gain inutile.

              Je suis d'accord que de débuter par un niveau d'abstraction trop élevé peut perturber un éventuel apprentissage du bas niveau (et prive la possibilité de comprendre les manipulations haut niveau). Cependant je reste persuadé qu'un niveau d'abstraction trop faible, typiquement celui d'un assembleur, peut être tout aussi problématique à l'apprentissage. Le C me semble un niveau d'abstraction raisonnable, pas trop haut, ni trop bas.

              Après c'est mon point de vue, lié à mon expérience et ce que j'ai vu de l'assimilation par des élèves d'environ 20 ans.

              • [^] # Re: LOGO, Pascal et C

                Posté par  (site web personnel, Mastodon) . Évalué à 3. Dernière modification le 10 septembre 2012 à 14:27.

                Les gars, les gamins ont 6 ans et je vois mal comment on va leur expliquer les plans d'adressage mémoire d'une machine, les opérations avec offset, les registres, les interruptions…
                D'ailleurs, pour mémoire, l'addition se voit à peine en CP, la soustraction en CE1, la multiplication en CE2 et la division en CM1.
                De plus, jusqu'à preuve du contraire, il y a plein d'informaticiens qui s'en sont plutôt bien sorti en commençant par du Pascal, voire du Basic, en lieu et place du C.

                Perso, l'assembleur, je n'en ai fait qu'à partir du moment où j'ai eu un cours de microprocesseur et ça permettait au moins de comprendre pourquoi il fallait que le programme commence à l'adresse X.

                Pour finir (désolé mais j'aime bien les métaphores) pour conduire une voiture, on apprend d'abord des concepts de haut niveau et le bas niveau n'est même pas obligatoire.

        • [^] # Re: LOGO, Pascal et C

          Posté par  . Évalué à 2.

          Ça dépend à quel âge, avec quel bagage théorique on commence à faire de l'assembleur… Ce que tu propose reviendrait à apprendre les espaces vectoriels et les groupes avant d'apprendre à compter… Un peu ardu quand même.

      • [^] # Re: LOGO, Pascal et C

        Posté par  (site web personnel) . Évalué à 5. Dernière modification le 08 septembre 2012 à 09:17.

        Une grande difficulté que les informaticiens oublient souvent est l'affectation, déjà. Si on y pense bien, ce n'est pas si naturel, on ne l'emploie pas ailleurs. C'est avec l'affectation que vient la notion de variable (qui ne sont pas les même qu'en mathématique), de boucle etc., tout ce qui est compliqué. C'est pour cela qu'à mon avis les langages fonctionnels sont plus simples à comprendre car ils n'ont pas tout ça. Même si certains ayant commencé par l'impératif oublient les difficultés qu'ils ont eues au départ et sont réticents à changer de concepts.

        Pour rendre tout ça encore plus complexe, certains ont eu l'idée d'utiliser le signe d'égalité pour l'affectation… c'est sur que ça n'aide pas à comprendre ce qui se passe. Au moins en Pascal, c'est :=

    • [^] # Re: Mon dépucelage

      Posté par  (site web personnel) . Évalué à 2.

      J'ai également commencé à 6 ans, à l'école. A l'époque (86~88 ?), on apprenait le LOGO en primaire, à partir du CP (6 ans donc), puis arrivés au collège on passait au BASIC. Ca n'a pas fait de nous une armée de programmeurs hein, juste apporté un peu de culture à tout le monde, et plus personnellement m'aura permis de me découvrir une vocation après quelques années ;).

      Je suppose qu'il ne s'agissait que d'une expérimentation relativement «locale», car j'ai croisé peu de personnes ayant eu cette formation, et ma soeurette 3 ans plus tard n'a pas du tout eu cet apprentissage : ces cours ont été remplacés par du dessin sur ordinateur en primaire, puis de la dactylo sous Word au collège…

      alf.life

  • # Informatique ≠ programmation

    Posté par  . Évalué à 3.

    Faut‐il commencer par les bases théoriques, comme dans le livre Computer Science Unplugged

    Quand j'entends parler de débuter un enseignement en primaire par les bases théoriques, je pense tout de suite à l'enseignement des maths. En France, sous l'influence de Bourbaki et des USA, on a introduit pendant les années 60 les "mathématiques modernes". On commençait par introduire les notions abstraites (ex. définition d'un groupe abélien) puis on montrait les applications (ex. les nombres munis de l'addition sont un groupe abélien). Ça n'a pas été un franc succès (hmm, quelle surprise !) et les programmes ont fait machine arrière.

    Heureusement, "Computer Science Unplugged" n'a rien à voir avec cela. À mon avis, cela relève avant tout de l'opération de séduction des gamins : je doute que la découverte du binaire les marque beaucoup et que ça influence leur pratique des ordinateurs, pas meme de la programmation ; par contre ils se diront peut-être que l'informatique, c'est bien et que quand ils seront grands, ils seront pompiers-informaticiens.

    Enfin, le programme estonien vise à enseigner la programmation, ce qui est très différent de la computer science. On peut être un excellent programmeur sans rien connaître aux types algébriques ou à la théorie des graphes. Et réciproquement, on peut être un cador en traitement du signal ou en cryptographie mais patauger dans 10 lignes de C.

    • [^] # Re: Informatique ≠ programmation

      Posté par  (site web personnel) . Évalué à 2.

      Ça n'a pas été un franc succès (hmm, quelle surprise !) et les programmes ont fait machine arrière.

      Je pense au contraire que l'intro des «maths modernes» dans les années 60 a été un franc succès, on ne compte plus les mathématiciens brillants de réputation internationale issus de cette génération.

      Il ne faut pas oublier que le public de l'enseignement général de cette époque était bien plus restreint que ce qu'il n'est aujourd'hui et c'est l'élargissement du public qui a justifié cette «machine arrière».

      • [^] # Re: Informatique ≠ programmation

        Posté par  (site web personnel) . Évalué à 3.

        Et que les profs de maths de l'époque n'étaient pas formés pour ça et donc l'enseignaient plutôt mal. La situation aurait peut-être été différente après une génération de prof.

    • [^] # Re: Informatique ≠ programmation

      Posté par  . Évalué à 2.

      Perso j'ai découvert les groupes abéliens en prépa, et ça m'a laissé une franche amertume qu'on ne m'en ai pas parlé dès la 4ème, parce que tous les trucs sur lesquels je ramait en 4ème étaient devenus violemment simples une fois posés les notions abstraites dont tu dis tant de mal…

      Quel dommage qu'on ne m'ait pas "infligé" des maths modernes au collège…

  • # Pas une bonne idée dans le fond...

    Posté par  (site web personnel) . Évalué à 0.

    Je pense que tout simplement, c'est trop tôt pour la programmation à leur âge, en plus du fait que leur niveau d'anglais qui ne devrait pas être extraordinaire. Je verrais cela comme une matière imposée, ce qui aurait pour effet de rebuter les jeunes élèves.

    Je préfèrerais décaler cet apprentissage à l'école secondaire, là où la maîtrise de l'anglais (le minimum) et les bases logiques sont acquises.

    Blogueur PUR geek et libriste !

    • [^] # Re: Pas une bonne idée dans le fond...

      Posté par  (site web personnel) . Évalué à 0.

      Il est fort probable que ces même enfants de 6 ans aient un niveau d'anglais au moins équivalent à celui de nombreux ingénieurs concepteurs développeur Français .

      Mon interprétation de la "programmation" serrait plus de la logique booléenne…
      En tout cas, je ne suis pas d'accord, c'est bien de tenter de familiariser la jeunesse à l'informatique. Reste à voir si les prof seront formés à ce travail (contrairement à ce que l'on fait chez nous, au grand désespoir des élèves, comme des profs).

    • [^] # Re: Pas une bonne idée dans le fond...

      Posté par  (site web personnel) . Évalué à 4.

      Hier soir j'ai fait une longue réponse qui s'est perdue suite à une fausse manip' sur ma tablette et maintenant j'ai la flemme donc je vais simplement donner un résumer de mon propos :

      Les concepts nécessaires à l'apprentissage de la programmation nécessitent du temps pour pouvoir être assimilés. Il n'y a pas d'énormes pré-requis, il est tout à fait possible de commencer par une initiation dès le primaire. Savoir écrire une procédure pour enchaîner des actions, selon des conditions, et avec des boucles est pertinent pour de très nombreuses disciplines ! Autant pour celui qui veut faire cuisinier que celui qui veut faire ingénieur.

      J'ai personnellement appris à programmer (seul à l'aide d'un manuel) en basic avant d'apprendre l'anglais et cela n'était en aucun cas un problème. À part que je prononçais "elzé" à la place de "else"…

    • [^] # Re: Pas une bonne idée dans le fond...

      Posté par  . Évalué à 1.

      C'est exactement ça. Dans un sens, les politiques estoniens sont un peu comme les français, ils sortent une idée simpliste de leur chapeau, qui semble pertinente, mais ne l'est pas vraiment.

      Croire que l'informatique, c'est la programmation, et que des gamins qui savent coder à 6 ans feront systématiquement de bons informaticiens, c'est quand même se mettre le doigt dans l’œil. Il faudra expliquer à tout le monde qu'un informaticien ne passe pas sa vie à coder.

  • # algorithmie plutot que programmation

    Posté par  . Évalué à 8.

    comme en math, commencons par apprendre à decomposer un probleme en etape de base, en probleme simple.
    le langage viendra ensuite naturellement, quel qu'il soit.

    • [^] # Re: algorithmie plutot que programmation

      Posté par  . Évalué à 4.

      L'apprentissage se fait mieux quand il y a du plaisir, c'est encore plus vrai à 6 ans. Donc l'algorithmie théorique on s'en fout, il faut que les gamins puissent faire clignoter des lumières ou tracer des traits sur l'écran très vite, ils inférerons la théorie dans un deuxième temps.

  • # Ruby

    Posté par  . Évalué à 2.

    Pour avoir essayé de faire apprendre un langage à des non-geeks, le ruby passe très bien, surtout avec tryruby.org.

    « En fait, le monde du libre, c’est souvent un peu comme le parti socialiste en France » Troll

  • # Commentaire supprimé

    Posté par  . Évalué à 1.

    Ce commentaire a été supprimé par l’équipe de modération.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.