Codage informatique dès le primaire — Les-mathematiques.net The most powerful custom community solution in the world

Codage informatique dès le primaire

Je viens de lire ceci:
https://www.lefigaro.fr/secteur/high-tech/codage-informatique-l-ecole-42-de-xavier-niel-initiera-des-eleves-en-primaire-a-la-rentree-20210629
Pas vraiment de rapport avec les mathématiques mais à l’heure où cette matière est piétinée (comme d’autres) cela interroge.
Cela reste une expérimentation pour l’heure mais on voit bien que petit à petit le privé s’invite dans l’éducation nationale.
Onfray nous parle de ce projet ici:
«1

Réponses

  • Le Figaro a écrit:
    Aujourd'hui, moins de la moitié des professeurs enseigne le code informatique à l'école, alors que cette discipline figure dans les programmes depuis septembre 2016. Apprendre le code aux élèves n'est pas jugé prioritaire par beaucoup d'enseignants. Certains ne s'estiment par ailleurs pas compétents pour enseigner le sujet.

    Les professeurs dont il est question sont-ils ceux de l'enseignement primaire?

    Qu'est-ce qui pose un problème à enseigner ceci?(pourquoi ne devrait-on pas le faire?)


    Ecrire du code est une école de la rigueur à mon humble avis.

    NB:
    Evidemment si cela se fait au détriment de la lecture et du calcul je comprends que cela pose un problème.
  • Xavier Niel fait plus pour l'enseignement qu'une institution étatique qui prétend qu'il faut interdire de délivrer des contenus exigeants au nom de "l'égalité".

    De toute façon et en général, le privé répond à un manque.
    Une fonction est un ensemble $f$ de couples tel que pour tous $x,y,z$, si $(x,y)\in f$ et $(x,z)\in f$ alors $y = z$.
  • Il faut absolument interdire le "numérique" jusqu’en 3eme c'est une vrai catastrophe cognitive, aussi bien pour les élèves que pour les profs. Je pense que c'est une des raisons de l'effondrement.
    De plus pour apprendre à programmer ("coder") il existe des sites de qualité (peu mais bien faits) qui n'ont pas attendu ce type qui se fait passer pour un mécène.

    Un site efficace est : http://www.france-ioi.org/
    "J'appelle bourgeois quiconque pense bassement." Gustave Flaubert
  • xax a écrit:
    Il faut absolument interdire le "numérique" jusqu’en 3eme c'est une vrai catastrophe cognitive, aussi bien pour les élèves que pour les profs. Je pense que c'est une des raisons de l'effondrement.
    Il faudrait s'accorder sur ce que veut dire "numérique" dans cette phrase parce que s'il s'agit d'informatique en général, tu formules un voeu pieux (on est littéralement envahi de gadgets électroniques en tout genre et les enfants commencent à triturer les tablettes en tout genre dès le bas-âge).
    S'il s'agit d'informatique un peu sérieuse, le problème est plutôt l'efficacité de l'enseignement dispensé.
    Une fonction est un ensemble $f$ de couples tel que pour tous $x,y,z$, si $(x,y)\in f$ et $(x,z)\in f$ alors $y = z$.
  • XAX:

    Je ne suis pas un fan de ce milliardaire mais c'est bien un mécène (à ne pas confondre avec philanthrope).
    Il me semble que c'est aussi sûrement un donateur de l'association L214.
  • Enseigner le « code », ça fait peur, c’est du vocabulaire de marketteux, c’est pour faire les techniciens de surface de demain. Enseigner l’informatique (la vraie, la programmation avec un peu de recul et de subtilité, et dans un contexte où Microsoft n’est pas), oui.

  • Foys je vais t'exposer deux situations réelles d'apprentissage (uniquement pour les maths mais ça se généralise) tu vas vite comprendre :
    - dans les années 70 et 80 j'avais un cahier de texte, un cahier de cours et un cahier d'exos au collège. Ceci pour toutes les classes. Il était très facile de suivre "mécaniquement" quand on se donnait la peine ou quand les parents étaient derrière.
    - aujourd'hui la situation est la suivante, il est vrai aggravé par le Covid mais ce n'est qu'une circonstance supplémentaire défavorable :
    . pro note avec devoir, planning "d'évaluation", exercice
    . pas de cahiers d’exercices : les choses sont dispatchés sur :
    * des videos YT
    * géogébra
    * scratch
    * des feuilles volantes ou à imprimer,
    * des "ressources" web diverses et variés,
    * des manuels d'exos plus ou moins pourris dont j'avais donné ici quelques énormités,
    etc.
    . cours "mini" : feuille à trous.

    Dans cette configuration le numérique tient environ 60% du volume et le semblant d'apprentissage de programmation 10% (scratch)

    De cette façon il est absolument impossible d'apprendre raisonnablement quoique ce soit, donc il faut acheter des bouquins propres (style manuels des années 80, "démontrer pour comprendre" etc.)

    Dans la classe de junior les résultats sont excellents et le néo-certifié se la pète car quelque soit le niveau de difficulté aux "évaluations" la moyenne est toujours élevée, ce qui le conforte dans sa pratique (qu'aucun parent ne suit, ils font tous comme moi).

    Voilà.
    "J'appelle bourgeois quiconque pense bassement." Gustave Flaubert
  • XAX:

    Ce sont ça tes arguments? Bof, peu convaincants pour moi.

    Ce truc s'inscrit dans ce que préconise Yves Chevallard. On part du problème et il faut que l'individu soit en mesure de mettre en place une démarche de résolution qui passe par un choix raisonné des méthodes qu'il faudrait s'approprier, au moins suffisamment, pour résoudre le problème donné.
    la question que je me pose est, est-ce que spontanément un individu est capable de la mise en oeuvre d'une telle démarche ou si non, quelles sont les connaissances de base nécessaires pour que l'individu soit capable de mettre en oeuvre cette démarche? Voila ce que j'ai compris en écoutant une ou deux conférences de ce type et il me semble que cela éclaire l'orientation prise par l'Education nationale.

    PS:
    La philosophie de cet enseignement est me semble-t-il: tu étends ton savoir au fur à mesure de tes besoins*.
    Dans le passé, on partait du postulat contraire: on te bourre la tête de trucs pour que tu sois potentiellement capable de résoudre des problèmes de difficultés variables.

    *:ces besoins se font sentir face à la résolution de problèmes.
  • FdP la didactique chevaline a une limite : elle ne sert précisément à rien. Sinon ça se saurait ...

    D'autre part, comme toujours tes problèmes de logique, j'ai "Foys je vais t'exposer deux situations réelles d'apprentissage " ce qui n'est pas une situation argumentaire.
    "J'appelle bourgeois quiconque pense bassement." Gustave Flaubert
  • XAX a écrit:
    la didactique chevaline a une limite : elle ne sert précisément à rien. Sinon ça se saurait ...
    C'est ton avis. Cela se sait puisque ce type semble avoir une certaine (grande?) influence dans ce domaine.

    Si tu n'as pas compris mon propos tu devrais plutôt te questionner au lieu de me faire une remarque désobligeante (je n'ai même pas compris ce dont il s'agissait).

    Tu devrais écouter plus attentivement ce que ces gens dont tu aimes te gargariser avec les noms ont à dire.
    (ce qui ne veut pas dire que tu as le devoir d'être en accord avec leur dires, thèses).
  • FdP :
    "au lieu de me faire une remarque désobligeante" je ne vois pas ce qu'il y a de désobligeant de rappeler ton rapport à la logique, personne sur ce forum ne me désavouera.
    " ces gens dont tu aimes te gargariser avec les noms" et j'ai parlé de qui dans ce fil ?
    "J'appelle bourgeois quiconque pense bassement." Gustave Flaubert
  • XAX:

    Tu mets sans arrêt des références à des travaux dans ce domaine. Ce qui en soit est une bonne chose mais quand il s'agit d'argumenter, tu te réfugies dans des arguments qui ne nécessitent pas d'avoir lu ces références.
    Donc je me pose légitimement la question: est-ce que tu as vraiment lu/écouté tous ces gens, et si oui qu'est-ce que tu en as retenu?
    Si s'envoyer toute cette littérature débouche sur des arguments type café du commerce c'est beaucoup d'efforts pour pas grand chose.
  • Tu m'excuseras FdP de ne pas poursuivre avec toi ce dialogue pour les raisons que j'ai exposées.

    D'autre part le fil concerne l'apprentissage de la programmation thème qui n'est pas à la portée de la didactique chevaline (cf. sa définition).
    "J'appelle bourgeois quiconque pense bassement." Gustave Flaubert
  • Je ne suis pas partie prenante dans l'enseignement donc je peux écouter des gens parler de ces sujets sans bondir de ma chaise en hurlant des noms d'oiseaux. Je les écoute et j'essaie de comprendre ce qu'ils disent. Ce qui n'est pas toujours évident. Je comprends néanmoins pourquoi Yves Chevallard a une certaine notoriété: ce qu'il dit est séduisant.

    XAX:
    J'ai bien compris que tu n'as pas d'autres arguments à donner.
    Alors tu t'en prends à moi pour masquer ce vide: diversion dont tu es coutumier.
    Ce que j'avais à dire était aussi pour tous les gens qui lisent ce fil.
  • Le numérique est omniprésent, bien sûr qu'il faut apprendre à l'utiliser. La programmation, c'est autre chose... Et les PE ne sont pas formés pour l'enseigner (comme les langues étrangères ou l'EPS ou...).
  • Je ne suis pas sûr que ce soit autre chose (en pratique actuelle bien entendu) : il y a un "continuum" pédagogique numérique - programmation. Et c'est d'autant plus vrai que l'on délivre ça à des enfants qui n'ont pas le recul pour différencier.

    Edit : ce continuum es explicite quand on lit " Au programme, la prise en main d'outils de création de contenus, du codage ou encore «la pensée algorithmique afin de comprendre le numérique»." https://www.lefigaro.fr/secteur/high-tech/codage-informatique-l-ecole-42-de-xavier-niel-initiera-des-eleves-en-primaire-a-la-rentree-20210629

    Quand on connaît le parcours de Niels, je ne suis pas convaincu que les choses soient distinctes d'un point de vue épistémologique.
    "J'appelle bourgeois quiconque pense bassement." Gustave Flaubert
  • On parle d’élèves du primaire , pas de lycéens ou d’étudiants. Franchement, n’y a-t-il pas d’autres priorités au primaire?
  • Oui tout à fait Biely, ces choses doivent commencer fin collège ou en particulier si l'enfant a un goût particulier plus tôt.
    "J'appelle bourgeois quiconque pense bassement." Gustave Flaubert
  • Biely: la priorité de rendre actif les élèves par exemple?

    Je suis allé marcher quelques minutes minutes sous un soleil de plomb et j'ai réfléchi un peu.
    Le "codage" est une sorte d'activité fétiche pour certaines personnes car cette activité est une espèce d'exemple (un paradigme?) qui permet d'illustrer un point de vue.
    On cherche à résoudre un problème, l'ensemble des méthodes à mettre en oeuvre est circonscrit.
    De plus, on ne peut pas se contenter de réciter quelque chose pour résoudre le problème à résoudre.
    C'est une situation riche (mettre au point du code demande rigueur, application: on est amené sans arrêt à chasser les erreurs pour les corriger ce qui demande une certaine réflexion qui n'est pas forcément d'un usage courant dans notre société)
    Après qu'est-ce qu'on fait de tout cela? Est-ce que cela ne va pas contribuer à diluer encore plus des trucs fondamentaux comme apprendre à maîtriser la lecture, les bases du calcul? etc sont des questions qui se posent en effet.
  • FdP là il faut encadrer [small][small]sur le mur de ton psy[/small][/small] :-D:-D:-D
    "J'appelle bourgeois quiconque pense bassement." Gustave Flaubert
  • Sérieux, c’est chiant, cette psychologie de comptoir.
    Fin de Partie a une vision de l’école, qui n’est ni celle du gouvernement ni celle d’une tendance républicaine (à la Jules Ferry pour simplifier) et ce n’est pas la peine de chercher à faire coïncider la vôtre et la sienne en tentant vainement de pointer des contradictions ou en le psychiatrisant. Cela ne fait pas avancer le débat, ça rend ses contradicteurs peu sympathiques, surtout quand ils lui tombent dessus en meute. Je ne suis pas d’accord avec tout ce qu’il écrit, c’est la forme du « débat » que je conteste.
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • Ce n’est pas une question de goût ou de capacité, c’est une question d’évolution de la société. Le numérique est omniprésent. Point barre. Quant à la distinction numérique-programmation, elle est très nette au collège. Peut-être moins en primaire.
  • Nicolas (tu)
    Karl Tremblay 1976-2023, je t'appréciais tellement.
  • Une conférence d'Yves Chevallard qu'avait signalée XAX il y a quelques temps.*
    Il y a un extrait de cette conférence qui laisse à voir l'idéologie** qui me semble avoir de plus en plus cours dans l'enseignement. Cette idéologie a quelque chose de séduisant.

    *: J'y vois comme une espèce de manifeste d'un enseignement.
    **: Ce n'est pas un gros mot pour moi.
  • Kioups a écrit:
    Ce n’est pas une question de goût ou de capacité, c’est une question d’évolution de la société.

    Je crois qu'il y a aussi une idéologie à l'oeuvre (je le répète ce n'est pas un gros mot pour moi).
    L'éducation a toujours été sous-tendue par de l'idéologie (je n'y vois rien de condamnable a priori). Ce qui pose un problème à certains, me semble-t-il, ce n'est pas ce constat mais qu'il y a eu un changement d'idéologie qui s'est amorcé.
    On s'était fait à cette idéologie et on avait fini par la faire nôtre. Le changement d'idéologie c'est comme si on vous enlevait un ami, c'est une déchirure.
  • kioups "Quant à la distinction numérique-programmation, elle est très nette au collège." je n'en suis pas aussi sûr que toi : le même outil (scratch) étant utilisé pour les deux (par exemple faire un petit algo ou une carte d'anniversaire animée pour ses copains). Avec les parents dans ma classe nous sommes passés au site france-ioi.org pour la programmation. Nous avons choisi Python. Les sujets sont plaisants (petites histoires) et la pédagogie bien pensée (avec quelques vagues de niveau quand même). Le premier avantage déjà est que nous n'avons plus à nous préoccuper de ce qui se fait en classe compte tenu du différentiel de niveau avec la merda.se du collège.
    "J'appelle bourgeois quiconque pense bassement." Gustave Flaubert
  • Belle mentalité !!

    Sans arrêt des conseils aux enseignants et en même temps un mépris total pour les mêmes !
    Quel individu malsain !!

    J'ai connu des parents d'élèves pénibles, jamais de cet acabit !!
  • gerard0 non mais qu'est ce que tu racontes encore !? Je n'ai jamais méprisé les enseignants ! Je critique les programmes qui ne me paraissent pas adaptés et je donne des indications sur ce qu'il faut faire et que d’autres enseignants ici d’ailleurs ont confirmé ! Demande à Ramon ce qu'il pense de scratch... Quant au site france-ioi il est apprécié à tout âge tu devrais t'y mettre :-D
    J'ai l'impression que tu confonds lourdement le fait que je ne crois pas aux enseignements actuellement prodigués et mon rapport aux enseignants - pour ces derniers que ce soit les néo- certifiés ou les anciens agrégés je toujours eu le respect de la fonction. Idem pour les PE avec qui je m'entendais d'autant mieux que je n'attendais rien d'eux.

    edit : un membre éminent du forum s'est même fait la main au C++ sur ce site http://www.les-mathematiques.net/phorum/read.php?18,2130026,2131082#msg-2131082
    "J'appelle bourgeois quiconque pense bassement." Gustave Flaubert
  • Xax : les profs de français ou les profs doc utilisaient le numérique bien avant qu’on fasse de la « programmation ».
  • Kioups en français c'est beaucoup plus variable, dans l'établissement de junior, a contrario des profs de maths et sciences, les profs de français sont anti-numériques, ils utilisent pronote a minima et n'utilisent que les livres et supports papier.
    Mais je veux bien te croire sur l'existence de pratiques différentes en français. Par contre en maths il semble y avoir une infection profonde du "numérique" assez générale. C'est catastrophique pour la géométrie.
    "J'appelle bourgeois quiconque pense bassement." Gustave Flaubert
  • Xax : "gerard0 non mais qu'est ce que tu racontes encore !? Je n'ai jamais méprisé les enseignants !"
    Manifestement, tu ne te rends pas compte de ce que tu écris !
    D'ailleurs la suite du message n'a aucun rapport avec la choucroute !! Tu viens ici pour étaler tes obsessions ...
  • gerard0 france-ioi.fr rien à voir avec la choucroute ? Je trouve au contraire que c'est un site très plaisant et efficace qui peut être abordé jeune, avec une progression intéressante.
    J'attends de voir les support de Niels ...
    "J'appelle bourgeois quiconque pense bassement." Gustave Flaubert
  • Pour en revenir au sujet, l'idée de faire coder des gens tôt est plutôt bonne. Le code a été pour moi la porte d'entrée vers les maths, et je ne pense pas être le seul dans ce cas. Comme FdP le dit, c'est une bonne école de rigueur. Ça permet par ailleurs de voir assez tôt certains concepts utiles et intéressants (par exemple les fonctions: j'ai appris ce qu'était une fonction en apprenant à coder, et j'ai l'impression que ça m'a pas mal aidé à comprendre ce concept mathématique à l'époque).
  • xax : tu confonds enseignement du numérique et enseignement à l'aide du numérique.

    Les profs de techno utilisaient les concours Castor, Algorea ou autres avant qu'on ne fasse du Scratch (d'ailleurs, je me demande si RM a enseigné Scratch...).
  • kioups encore une fois ce n'est pas moi qui confond, c'est le fait que le même outil serve, avec des algos dans les deux cas, à des choses très diverses d'une part (scratch) et d'autre part l'environnement "numérique" (jusqu'aux exos de maths) qui entretiennent une certaine confusion chez les enfants. Mais bon ce n'est pas important.

    J'aimerais bien connaître le niveau moyen en fin de 3e en "codage" et le niveau futur en entrant en 6e. Il y a un précédent : l'introduction de l'anglais au primaire qui s'est accompagné d'un régression du niveau en fin de 3e.

    Chat-maths c'est très intéressant ce que tu écris, c'est ce qui apparaît dans france ioi où en plus les tableaux viennent assez rapidement avec donc des préalables suites / matrices manipulés concrètement.
    "J'appelle bourgeois quiconque pense bassement." Gustave Flaubert
  • Pour l'argument disant que le code est une école de rigueur, j'ai quand même l'impression que les experts du code que j'ai connus au lycée et en début de supérieur avaient tendance à faire des choses qui marchaient, bien sûr, mais pas forcément de code lisible et réutilisable par autrui, et une tendance à beaucoup s'appuyer sur les raccourcis du langage un peu pour la frime, durant nos modestes TP de Python. Tout ça pour dire que la rigueur, du moins chez ces autodidactes, ne semblait pas être le cadet des soucis. Et c'est peut-être là la limite du code quant à la rigueur : tant que ça tourne sans souci de correction ou terminaison, on peut dire que le contrat est rempli, d'autant plus si la complexité est acceptable. Et si le problème est peut-être propre à certains ayant des mauvaises habitudes autodidactes, j'ai quand même souvent tendance à lire que les codeurs professionnels font du code de moins en moins propre.

    En ce qui me concerne, n'étant pas fan du code, j'ai l'impression que la rigueur se résume à ne pas galérer dans les indices des listes et ne pas faire de malheureuses fautes de frappe. Vision fausse, je m'en doute, mais je ne suis pas le seul à qui l'école a donné cette image (et donc dégoûté du code, et j'aimerais trouver une manière stimulante de l'apprendre un jour, cette situation me gêne bien !).
    J'imagine qu'il y a des têtes faites pour aller des maths à l'info, et des têtes faites pour l'autre sens. Seulement, si la pédagogie est branlante et assurée par des gens qui avouent être à peine formés, je ne sais pas ce que ça donnera dans les têtes des élèves.
    L'idéal serait bien sûr qu'on apprenne à construire de vrais projets plutôt que d'écrire trois algorithmes simples pendant l'année, mais ça demanderait beaucoup d'heures par rapport à ce qu'on donnerait à cet enseignement, je pense.
  • xax : tu as déjà entendu parler de l'EMI ? Franchement, je ne comprends absolument pas de quoi tu parles avec le "même outil".
  • @RLC: Pour être un de ces autodidactes qui a pu écrire pas mal de code très moche mais qui tourne, je pense qu'avant la rigueur consistant à écrire du beau code bien indenté, bien documenté et commenté, avec des noms de variables éclairant sur ce qui se passe etc... Le fait d'avoir un code qui compile demande déjà (de mon point de vue) une certaine rigueur, certes moindre, et cette rigueur peut déjà aider en maths: un élève qui sait coder sera bien plus enclin à comprendre pourquoi tu viens emm*rder les gens avec la différence entre $f$ et $f(x)$, car il sait très bien que s'il file un int à une fonction qui attend un autre type, ben ça va pas compiler.

    Pour ma part, ça m'a beaucoup aidé (je pense) de voir les preuves de maths comme des bouts de code: si la preuve est correcte, ça compile, sinon, ça compile pas, s'il y a ce genre d'erreur de typage ou si la preuve n'est pas écrite dans le bon language, l'interpréteur (= le correcteur) râle, et ça ne compile pas :-D.

    Mais bien sûr, ça a ses limites comme tu dis: notamment au niveau de la terminaison ou de la correction, en code, tu peux très bien ne pas te soucier des cas qui n'arrivent jamais, en math, il faut aussi prouver qu'ils n'arrivent jamais, mais l'informatique peut au moins donner un peu de rigueur.
  • Déjà, si on pouvait bannir ce mot affreux de code… Le vocabulaire est important.

  • RLS:
    1)Un compilateur est un juge impitoyable: soit ton code est syntaxiquement correct, soit il ne l'est pas et tu dois revoir ta copie jusqu'à ce que ton code soit accepté. Même syntaxiquement correct, cela ne veut pas dire que ton code fait ce que tu crois (espères?) qu'il est censé faire.
    2)Mon expérience du code, qui est pour beaucoup en autodidacte*, m'a appris une chose: tu passes beaucoup de temps à corriger des programmes et ce n'est pas uniquement relié à mon point 1). Ecrire du code syntaxiquement correct ne signifie pas que le code écrit résout le problème posé.On passe beaucoup de temps à traquer les erreurs, à s'arracher les cheveux à ne pas les trouver immédiatement. Cela nécessite calme, patience, rigueur et méthode.

    *: en première année (ou deuxième année?) de DEUG je programmais un peu en Fortran: on codait sur un terminal de l'UNIVAC de l'université mais pour des questions de coût le rendu de la compilation était renvoyé sur un listing papier.Autant dire que c'était très pénible.
    En troisième année, on avait enfin accès à des PC (une marque avec un nom italien à base de processeur x286), et on programmait en Turbo pascal.
    Une quinzaine d'années après, vers la fin des années 90, après mon licenciement je me suis passionné pour la programmation (j'avais du temps et il y avait l'émulation liée à une communauté sur internet) mais je programmais qu'en assembleur. C'était suffisant de connaître ce langage pour le type d'applications que je programmais (tasm, tlink, debug.exe rulez !) B-)-
    Fin 2000, j'ai eu la chance de suivre une "formation" professionnelle où j'ai appris les bases du langage C. Et j'ai commencé à coder dans ce langage (d'autres genres d'applications) et je l'ai fait dans un cadre professionnel pendant quelques mois.
  • Comme j'ai dit, le problème est que pas mal de jeunes autodidactes font quelque chose de correct, mais pas propre pour autant, dans ceux que j'ai rencontrés. Et ils n'étaient pas bons en maths pour autant (ayant démissionné de ma sup au bout d'un moment). Ça reste mon expérience.

    Quant à moi j'ai bien plus appris sur la rigueur avec les preuves mathématiques qu'avec le code. Mais ça doit être mon profil plus littéraire qui est en cause.
  • RLS:
    Qu'est-ce que cela signifie pas propre? Produire du code peut s'accompagner d'impératifs: il faut que le programme soit rapide, qu'il ne consomme pas trop de ressources, qu'il soit portable etc.

    PS:
    Produire du code est une action concrète. A la fin tu dois avoir produit un programme qui résout un problème donné.
    Faire des puzzles peut certainement aussi être un exercice qui développe patience et méthode.
  • Lisible par autrui, facilement correctible ou modifiable.
    Pour faire l'analogie, c'est un peu comme une preuve mathématique qui peut être correcte du point de vue des arguments et de l'enchaînement logique, mais dont la mise en page et le niveau de langue font que seul son rédacteur comprend ce dont il est question.
  • RLS; En C, un listing de $20000$ lignes est a priori illisible peu importe comment tu as codé ces lignes*.
    C'est principalement le nombre de lignes qui rend le code illisible d'où l'idée de le structurer: utilisation de fonctions, utilisation d'un langage POO (programmation orientée objet).


    *: j'ai passé des semaines (des mois peut-être) au début des années $2000$ à essayer de comprendre comment fonctionnait une petite partie d'un énorme programme: pas de documentation digne de ce nom et tout codé en C. Si j'avais mieux compris comment fonctionnait ce programme, je serais peut-être encore ingénieur de développement. :-D
  • RLS:
    Certaines démonstrations peuvent être vérifiées par un logiciel* spécialisé mais en général ce n'est pas ce qu'on fait donc on est bien obligé de lire une démonstration pour être sûr qu'elle est correcte mais dans mon souvenir de développeur de logiciels pour l'industrie le client se fichait du code lui-même: il y avait une série de tests à réaliser (tests unitaires....) si le programme passait tous ces tests le travail avait été fait et on passait à autre chose.

    *: mais j'imagine la pénibilité pour coder la démonstration pour qu'elle puisse être traitée par ce logiciel.
  • Les autodidactes, ils sont autodidactes justement parce qu'on aborde ces notions de développement informatique extrêmement tard.
    Si tu considères que les autodidactes codent mal, faire une initiation à la programmation beaucoup plus tôt devrait participer à corriger ça.
    Le fait qu'il y ait tant d'autodidactes dans ce domaine est bien une preuve que l'enseignement de la programmation commence trop tard.

    Programmer = école de la rigueur. Oui. On voit souvent des questions sur les forums d'entraide ... calculer 1/x+1 ... et il faut deviner qu'en fait, on parle de 1/(x+1).
    Le programmeur, si il fait cette approximation, certes son code va compiler, mais il va obtenir des résultats différents de ceux attendus.
    Si le programmeur oublie un end if , s'il croit que la négation de si a ou b, c'est si (non a) ou (non b) , son programme va avoir des comportements inattendus.
    Il faut de la rigueur pour programmer. Mais ce manque de rigueur ne sera pas forcément sanctionné commme il faut, il est possible que le programmeur fasse telle ou telle erreur, le programme compile, il produit un résultat, et le programmeur croit que ce résultat est correct.
    Programmer peut-être une école de la rigueur, mais ce n'est pas garanti.

    L'enseignement du numérique serait catastrophique pour l'enseignement de la géométrie ...
    Peut-être.
    Est-ce grave ?

    Entre une situation, où les gamins vont apprendre à réfléchir, par l'apprentissage du numérique, mais ne sauront pas faire des exos de géométrie, et une autre situation (la situation actuelle) où de toutes façons, les gamins ne savent pas faire des exos de géométrie, et n'apprennent pas à réfléchir, le choix est vite fait !
    Si on avait un modèle qui fonctionne, on pourrait grogner à l'idée de changer ceci ou cela. Mais on est dans une situation où se battre pour ne pas changer, c'est totalement ridicule.


    L'utilisation de Pronote ...
    Réussir à mélanger les sujets ... pour parler de pronote dans ce sujet ... c'est assez révélateur.
    Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. Benjamin Franklin
  • Dans les vrais programmes, la rigueur ne suffit pas, il faut aussi que le programme tourne en un temps raisonnable.
    Imagine si ton navigateur, vérifié par coq et tout, était certifié (comme la page ouèbe) mais mettait dix minutes à afficher la moindre page en HTML sans fioriture. Et de même, imagine un navigateur qui affiche tout super vite mais n’importe comment et avec des plantages sans arrêt.
    De même, programmer c’est bien beau mais où, au juste ? Sur quelle machine, avec quelles contraintes (sécurité, rapidité, mémoire…) ? Et le code source, il vient d’où ? Tu le crées de rien ou il a déjà vingt ans et tu dois faire avec ?
    C’est le même genre de débat que « bouh, return en milieu de fonction pas bien » ou que « berk, goto caca » en citant Dijkstra sans l’avoir lu (notez, je ne l’ai pas lu non plus).
    À propos de rigueur, les navigateurs internet sont souvent très tolérants quant à la syntaxe du document reçu. Ça ne veut pas dire qu’il faire n’importe quoi, leur tolérance a des limites.
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • Lourrran a écrit:
    Si tu considères que les autodidactes codent mal, faire une initiation à la programmation beaucoup plus tôt devrait participer à corriger ça.
    Une initiation de base à la programmation ne va pas parler de fonction (au sens d'élément d'un langage de programmation) et de POO.
    En général, l'autodidacte écrit des programmes qui ne sont pas monstrueux en nombre de lignes de code (il est tout seul à les écrire) donc il n'a pas trop besoin de se soucier de structurer son code donc il ne s'intéresse pas à cet aspect des choses qui peut devenir problématique sur un programme de plusieurs dizaines de milliers de lignes de code avec toute une équipe qui code simultanément. La non-structuration du code est pour moi le seul truc que je considère comme relèvant de l'expression "mal codé".
    Pour le reste, c'est surtout une question de style personnel (à la fin le compilateur n'en fait qu'à sa tête de toute façon).


    Lourrran a écrit:
    Il faut de la rigueur pour programmer. Mais ce manque de rigueur ne sera pas forcément sanctionné commme il faut, il est possible que le programmeur fasse telle ou telle erreur, le programme compile, il produit un résultat, et le programmeur croit que ce résultat est correct.
    Celui qui fait ça n'a rien compris à ce qu'est la programmation et il n'est pas rigoureux et méthodique.
    Un programme fait le travail attendu ou il ne le fait pas.

    PS:

    J'ai pensé à un exercice pour illustrer mon propos.

    Soit la fonction $P(x)=(x-1)(x-2)$

    On présente un programme informatique, l'élève ne voit pas le code, c'est une boîte noire pour lui.
    On remarque que ce programme retourne $0$ quand on met en entrée les valeurs $1$ ou $2$.
    Est-ce que ce programme calcule correctement les valeurs prises pour tout $x$ entier par la fonction $P$?
    L'élève peut librement entrer les valeurs qu'il veut pour voir ce que le programme renvoie.

    Le code de la fonction:

    fonction f(n):
    retourner la valeur 2*(n-1)*(n-2)
    fin
  • Fdp, je serais bien étonné que tu eusses codé dans les années 80, vu que c’est un néologisme dépréciatif récent indigne visant à annihiler la science informatique pour produire des techniciens exécutants. Excusez-moi mais quand j’entends « le code », je ne prends pas au sérieux, ça ressemble d’ailleurs aussi à de l’inspectoral.

  • Sato:
    L'expression est dépréciative pour toi. Les Anglo-saxons ne me semblent pas penser de la sorte.
    Qu'est-ce que cela a de dépréciatif? Le code ne jaillit pas tout seul comme de l'eau fraîche d'une source. Il faut quelqu'un pour faire ce travail ce qui demande des compétences.
Connectez-vous ou Inscrivez-vous pour répondre.
Success message!