Journal Présentation des librairies pydiderotlibs dédiées à l'enseignement de python

Posté par . Licence CC by-sa.
17
1
déc.
2019

Présentation

Bonjour à tous,

Mon premier journal pour présenter un projet créé par des profs de math de Marseille: Pydiderotlibs

L'objectif est de créer des librairies dédiées à l'enseignement de python au lycée.

La démarche générale est de cacher les difficultés techniques en présentant des fonctions simples.

Le travail, sous licence MIT, a lieu sur ce dépôt github, on héberge la documentation sur readthedocs et le projet est sur pypi pour être installé facilement via pip.

Exemple 1: Un traceur de courbe

Pédagogiquement, amener les élèves à construire un traceur de courbe est relève un certain intérêt:
- repérage dans le plan
- le sens d'une courbe représentative de fonction
- boucles en python

On a une librairie repere qui permet de faire ca facilement:

from pydiderotlibs.repere import fenetre, point

x = -10
x_max = 10
pas = 0.01

fenetre()

while x < x_max:
    y = x*x
    point(x,y)
    x = x + pas

On obtient une fenêtre graphique tkinter qui contient un repère "interactif".
On peut zoomer, se déplacer dans le repère.

Titre de l'image

Exemple 2: Ca bouge!

Un projet plus ambitieux est le codage d'un jeu de type pong.

On a une librairie graphique qui est une surcouche à pygame facilitant la création d’objets et l'écoute des évènements.

Voici par exemple un cercle qui suit la souris et qu'on peut aussi déplacer au clavier avec les touches haut et bas.

from pydiderotlibs.graphique import fenetre, efface, cercle, ecoute_evenements
from time import sleep

fenetre()

x = 10
y = 10

while 1:
    efface()
    evenements = ecoute_evenements()
    if "haut" in evenements:
        y = y + 1
    if "bas" in evenements:
        y = y - 1
    if "souris" in evenements:
        x, y = evenements["souris"][0], evenements["souris"][1]
    cercle(x, y)
    sleep(0.001)

Conclusion

J'ai présenté deux exemples mais on a d'autres librairies à découvrir.

On essaye de fournir une documentation de qualité et on invite les élèves à travailler avec elle car c'est une bonne pratique. L'import d'une librairie affiche un message:

Merci d'utiliser la librairie repere du module pydiderot.

N'hésitez pas à consulter la documentation en ligne:

https://pydiderotlibs.rtfd.io/librairies/repere.html

C'est un travail collaboratif et toute aide, remarques, critiques sont les bienvenues.

  • # Même remarque que précédemment

    Posté par . Évalué à 3 (+1/-0). Dernière modification le 02/12/19 à 10:10.

    Bonjour,
    Même remarque que pour ce journal

    L'initiative est louable, et je salue les efforts et la passion de certains enseignants qui maintiennent à bout de bras l'éducation nationale.

    Mais bon du point de vue de l'ado : python == math donc pour certain …

    Quel est le but ?

    Apprendre les maths avec python ou apprendre python avec les maths ?

    PS : c'est une vraie question peut être brutale mais pas agressive …

    • [^] # Re: Même remarque que précédemment

      Posté par . Évalué à 5 (+5/-0).

      Bonjour,

      La question est légitime et non brutale. En aucun cas agressive.

      Quel est le but ?

      Bon il y a un côté pragmatique qui ne répond pas à ta question mais motive les outils présentés. De toute façon, c'est au programme et aux épreuves du bac. Donc, il faut l'enseigner.

      En l'état actuel, on a pas vraiment d'outils adaptés à ce qu'on nous demande d'enseigner. Donc on les construit.

      Maintenant, personnellement, je ne trouve pas absurde d'enseigner l'algorithmique au lycée en cours de mathématiques pour plusieurs raisons.

      1) Ça peut aider à la compréhension de concepts mathématiques. Voici deux exemples:

      • L'exemple mentionné dans le journal: Le traceur de courbes.
        La notion de courbe représentative de fonction est un concept pas évident et fondamental. Coder un traceur de courbe est un moyen ludique de le travailler.

      • La notion de suite. Cette année, pour introduire les suites, on a commencé par répondre à un problème d'évolution discrète grâce à python. Les élèves ont ainsi saisi la problématique de récurrence tout en répondant à un problème posé: Pour connaître la situation au rang n, il faut calculer tous les rangs précédents. Sans machine, ça reste abstrait. Avec les machines, on peut calculer tous les rangs facilement.

      2) C'est intéressant en soi:

      • Les élèves utilisent tous des machines informatiques au quotidien. Ils sont en général assez intéressés à comprendre leur fonctionnement: qu'est-ce que la mémoire, un processeur, les entrées-sorties, une variable, …

      • Pour beaucoup, ça sera utile aux poursuites d'études. Les élèves des (ex) filières S et STI2D seront probablement amenés à coder un peu dans leur vie.

      • C'est franchement marrant. Le plaisir de coder une balle qui rebondi sur un écran, de comprendre qu'on peut demander ce qu'on veut à la machine et qu'elle le fait.

      Apprendre les maths avec python ou apprendre python avec les maths ?

      Les deux:

      • apprendre python avec les maths: Coder va mobiliser des notions mathématiques (repérage dans le plan par exemple).

      • apprendre les maths avec python: On peut utiliser python pour travailler sûr et même introduire des concepts mathématiques.

      • [^] # Re: Même remarque que précédemment

        Posté par . Évalué à 5 (+3/-0).

        Merci pour ta réponse,
        Comme je l'ai souvent dis c'est rassurant de voir des enseignants motivés par leur travail.

        Mais je trouve dommage que l'informatique, le codage et tout ce qui va avec n'est pas franchement considéré comme un matière.

        On a l'impression que c'est le début d'une nouvelle aventure et que faute de moyens et de temps vous (le corps enseignant) en êtes réduit à vous débrouillez tout seul. ( comme d'habitude j'ai l'impression … )

        C'est le genre de discussion que l'on aurait du avoir il y a 20 ans … pas en 2019

        Vu l'importance de l'outil informatique actuellement, ce qui n'est pas franchement une nouveauté, cela devrait être une matière aussi importante que les autres, peut être même avant le lycée au collège.

        • [^] # Re: Même remarque que précédemment

          Posté par (page perso) . Évalué à 4 (+2/-0).

          Et on devrait apprendre à utiliser un clavier aussi ainsi qu'un outil d'écriture, mais pas en mode machine à écrire.

          Y'a du boulot.

          Quand je pense que j'ai connu des Américains, très diplômés et experts reconnus dans leur spécialité, qui avaient appris la dactylo normalement à un moment de leurs études pour pouvoir écrire leurs textes avec une machine à écrire alors qu'en France, j'ai parfois l'impression que cette matière est frappée du sceau de l’infamie (c'est pourtant le truc le plus utile que j'ai jamais appris au cours de mes études supérieures en carrières de l'information).

          OS préféré Mageia 6 et Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

          • [^] # Re: Même remarque que précédemment

            Posté par . Évalué à 5 (+3/-0).

            j'ai parfois l'impression que cette matière est frappée du sceau de l’infamie

            Effectivement, j'ai quelques vagues souvenirs d'avoir commencé à apprendre à taper en dactylo au collège, mais je suis un vieux (on avait encore quelques machines à disquette 5,25", pour donner une idée) ; en tous cas, on avait des exercices de saisie de texte. Depuis, je pense qu'il n'y a plus rien, mais je serais content qu'on me contredise.

            Vu que cette année est celle de la normalisation du Bépo, pourrait-on en profiter pour remettre au goût du jour l'apprentissage de la dactylographie ? Avoir un outil qui ne vient pas vous emmerder et est une extension de vos mains change complètement le rapport qu'on a à la machine. C'est tellement la base que c'est d'une tristesse absolue qu'on veuille apprendre des choses plus avancées en informatique à des gens qui ont un handicap pour taper (oui, devoir regarder son clavier est un handicap ; même si vous ne pensez pas le faire, faites vérifier par un tiers : j'ai toujours vu ceux qui ne tapent pas en dactylo regarder leur clavier au moins une fois toutes les 30 secondes, sans s'en rendre compte).

            • [^] # Re: Même remarque que précédemment

              Posté par (page perso) . Évalué à -1 (+0/-2).

              On pourrait avoir le même genre de commentaire sur les WORDs et autre LibO.
              C'est des outils utiles, mais principalement pour ceux qui n'apprennent pas les nouveaux concepts. Pourtant, ce qui aurait du être des outils de transition entre la machine a écrire et les programmes de gestion de texte restent dominant. Qu'elle ironie.

        • [^] # Re: Même remarque que précédemment

          Posté par . Évalué à 5 (+4/-0).

          Je suis pas du tout d'accord. Oui l'informatique est important, mais non la programmation ne l'est pas. L'un n'implique pas l'autre.

          Être à l'aise avec les nouvelle technologies ne demandent en aucun à en comprendre les rouages bas niveau. Savoir conduire ne demande pas à savoir usiner une soupape.

          La programmation c'est 80 à 90% de mathématiques, donc c'est logique de lier les 2. Regarde ce que sont les fac d'info par exemple.

          AMHA ce qui est nécessaire c'est de maîtriser l'outil (l'ordinateur et les réseaux), de comprendre ce qu'il fait, à quoi il sert et les implications que cela peut avoir. Mais ça ne demande pas à maîtriser python, TCP et des portes logiques.

          • [^] # Re: Même remarque que précédemment

            Posté par . Évalué à 3 (+1/-0).

            Attention mauvaise foi :)

            Tu prends 100 gamins au lycée :

            Combien finirons informaticien / developpeur / chef de projet etc …
            Combien finirons … on peut faire quoi avec des maths … profs ? ou faire encore plus d'étude ?

            (j'avais prévenu pour la mauvaise foi)

            Avec ce genre de raisonnement vous remplissez les écoles privées et les organismes de formations externes

            La maitrise d'un traitement de texte, d'un tableur devrait être une matière à part entière
            Et je ne parle pas de l'importance d'un truc comme internet et les réseaux sociaux

            En tout cas c'est plus utile que d'apprendre la flute en cours de musique …

            La programmation c'est 80 à 90% de mathématiques

            Tu pourrais prévenir quand tu fais de la mauvaise foi … :)

            La programmation c'est :

            • de la logique mais il y en a de partout comme en philo par exemple
            • du bon sens … beaucoup de bon sens …
            • une certaine capacité d'abstraction, comme chez les poêtes par exemple

            mais pas autant de mathématique que cela …

            D'ailleurs le bon sens devrait être une matière obligatoire ….

            Tu peu être un excellent codeur et être nul en math
            Comme un musicien n'est pas obligé de connaître les notes, les gammes et le solfège
            Beaucoup de dessinateur se contre foutent des canons grecs et de certaines bases

            • [^] # Re: Même remarque que précédemment

              Posté par . Évalué à 2 (+1/-0).

              Combien finirons informaticien / developpeur / chef de projet etc …
              Combien finirons … on peut faire quoi avec des maths … profs ? ou faire encore plus d'étude ?

              Pas des masses et c'est bien pour ça qu'apprendre le développement n'est pas si utile.

              Avec ce genre de raisonnement vous remplissez les écoles privées et les organismes de formations externes

              Parce que les étudiants du secondaires courent vers les formations en programmation ?

              La maitrise d'un traitement de texte, d'un tableur devrait être une matière à part entière
              Et je ne parle pas de l'importance d'un truc comme internet et les réseaux sociaux

              On s'en fout d'un traitement de texte. Pour moi c'est exactement comme dire qu'on a besoin de savoir écrire avec un stylo plume. Ça peut être utile, mais ce n'est qu'une composante de l'utilisation générale de l'informatique.

              La programmation c'est :

              • de la logique mais il y en a de partout comme en philo par exemple
              • du bon sens … beaucoup de bon sens …
              • une certaine capacité d'abstraction, comme chez les poêtes par exemple

              C'est une formalisation de tout cela et la seule discipline qui formalise cela c'est les mathématiques. Tu peux très bien ne pas vouloir le voir sous un angle mathématiques tout comme tu peux faire des opérations mathématiques tous les jours sans le voir sous un angles mathématiques.

              Tu peu être un excellent codeur et être nul en math

              Non. Si tu es un excellent codeur tu es bon dans au moins une partie des mathématiques. Être bon en mathématiques ce n'est pas forcément avoir de bonnes notes en maths (parce qu'il y a différentes parties en mathématiques, parce que voir les choses sous l'angle informatique est peut être plus parlante pour toi,…).

              • [^] # Re: Même remarque que précédemment

                Posté par . Évalué à 2 (+0/-0). Dernière modification le 03/12/19 à 14:23.

                Pas des masses et c'est bien pour ça qu'apprendre le développement n'est pas si utile.

                On se demande pourquoi il y a tant d'offres d'emplois dans le numérique …

                Parce que les étudiants du secondaires courent vers les formations en programmation ?

                Apres le bac et avoir planté 1 ou 2 années a glander en fac … quand il voudront rentrer dans la vraie vie et gagner de l'argent

                ceci dit ya pas que l'info dans la vie : le BTP, la restauration, les aides à domiciles etc … mais bon c'est plus fatiguant et moins rémunérateur.

                On s'en fout d'un traitement de texte. Pour moi c'est exactement comme dire qu'on a besoin de savoir écrire avec un stylo plume. Ça peut être utile, mais ce n'est qu'une composante de l'utilisation générale de l'informatique.

                toi aussi préviens quand c'est de la mauvaise foi :)

                C'est sur, un traitement de texte ça sert à rien … la fonction première des PCs c'est pour jouer au solitaire ou au démineur :)
                Tu sais j'ai bien connu l'époque ou les factures / bons de livraisons etc … la majorité des documents se faisait à la main au stylo plume ou à la machine à écrire, au siécle dernier, c'est marrant mais cela a quasiment disparu depuis quelques années.

                Tu peux très bien ne pas vouloir le voir sous un angle mathématiques tout comme tu peux faire des opérations mathématiques tous les jours sans le voir sous un angles mathématiques.

                Tout peu se ramener à des mathématiques, la n'est pas le problème. Mais c'est valable aussi pour la physique, la biologie, la chimie, l'histoire, la géographie, la philo et même l'informatique surtout de nos jours.

                C'est plus la manière d'aborder les choses qui fait peur, par exemple si tu fais un cours sur le langage SQL tu peu dessiner des patates et parler des inclusions, unions et autres plaisanteries mathématiques.

                Mais tu peu aussi dire qu'avec SQL tu peu extraire d'un fichier de contacts :
                - la liste des jeunes femmes celibataires agés de 18 à 28 ans
                - la liste des jeunes hommes célibataires agés de 18 à 28 ans
                (rayer la/les mentions inutiles)

                Cela n'aura pas le même impact sur l'assistance, et la finalité est la même.

                Non. Si tu es un excellent codeur tu es bon dans au moins une partie des mathématiques. Être bon en mathématiques ce n'est pas forcément avoir de bonnes notes en maths (parce qu'il y a différentes parties en mathématiques, parce que voir les choses sous l'angle informatique est peut être plus parlante pour toi,…).

                Au moins sur ce point on est d'accord.
                Les maths et l'informatique partagent des choses, personne ne dis le contraire.

                Et c'est pour cela que je trouve dommage d'aborder l'informatique uniquement au travers des mathématiques.
                Ceci dit c'est déjà ça.

                • [^] # Re: Même remarque que précédemment

                  Posté par . Évalué à 2 (+1/-0). Dernière modification le 03/12/19 à 14:45.

                  On se demande pourquoi il y a tant d'offres d'emplois dans le numérique …

                  Tu as des chiffres qui donneraient un taux de classes d'ages qui travaillent dans le domaine ? Parce que des pénuries on en a dans pleins de domaines (la médecine, pas mal de branches d'artisanat,…) qui rémunèrent plus et/ou demandent moins d'études est-ce que ça dit que tout le monde se ruent sur la plomberie ?

                  Apres le bac et avoir planté 1 ou 2 années a glander en fac … quand il voudront rentrer dans la vraie vie et gagner de l'argent

                  On parle du secondaire, non ?

                  C'est sur, un traitement de texte ça sert à rien … la fonction première des PCs c'est pour jouer au solitaire ou au démineur :)
                  Tu sais j'ai bien connu l'époque ou les factures / bons de livraisons etc … la majorité des documents se faisait à la main au stylo plume ou à la machine à écrire, au siécle dernier, c'est marrant mais cela a quasiment disparu depuis quelques années.

                  Et la proportion de traitement de texte pour ses usages tend à se réduire au profit du mail, de génération plus ou moins automatisée, etc. Lis bien ce que j'ai écris : je n'ai pas dis que c'était inutile, mais qu'il ne fallait pas se focaliser dessus. Les mails sont largement plus importants par exemple (et non rédiger ses mails dans un traitement de texte pour les copier/coller ou les envoyer en pièce jointe n'est pas une bonne idée).

                  Tout peu se ramener à des mathématiques, la n'est pas le problème. Mais c'est valable aussi pour la physique, la biologie, la chimie, l'histoire, la géographie, la philo et même l'informatique surtout de nos jours.

                  Les mathématiques peuvent décrire beaucoup de choses, mais ce n'est pas ce qu'il se passe pour l'informatique. L'informatique ce sont des applications des mathématiques. Tu peut vouloir ne pas faire peur en taisant cette parentalité, ça ne la supprimera pas pour autant. Mentir aux gens pour qu'ils se retrouvent au pied du mur à la moindre difficulté ça n'est pas les aider. Tu répète souvent à raison ton mantra « fréquence et volume » (c'est bien ça ?), cette question là vient d'un raisonnement mathématiques. Même si tu ne l'a peut être découvert qu'expérimentalement.

                  Cela n'aura pas le même impact sur l'assistance, et la finalité est la même.

                  On peut tout à fait avoir une approche bottom-up. Mais faire l'impasse sur les notions mathématiques ça créent des gens qui ne sont pas en mesure d'appliquer ton propre mantra. Ils vont devoir se péter les dents, plutôt que de réfléchir aux volumes qu'ils manipulent (et donc devoir faire des opération ensemblistes - à minima - pour pouvoir évaluer ce qu'ils sont entrain de faire).

                  Et c'est pour cela que je trouve dommage d'aborder l'informatique uniquement au travers des mathématiques.

                  Tu me donne l'impression d'avoir un raisonnement qui me semble très problématique : « l'enseignement des mathématiques repoussent des étudiants, donc ils ne faut pas associer l'informatique aux maths pour ne pas faire peur à ma fille ». Alors que c'est très contre-nature d'une part et d'autre part on peut envisager les choses autrement et imaginer que l'informatique peut donner des angles d'enseignements différents et bien plus concrets aux mathématiques.

                  • [^] # Re: Même remarque que précédemment

                    Posté par . Évalué à 2 (+0/-0).

                    Tu me donne l'impression d'avoir un raisonnement qui me semble très problématique : « l'enseignement des mathématiques repoussent des étudiants, donc ils ne faut pas associer l'informatique aux maths pour ne pas faire peur à ma fille ».

                    Pas tout a fait, même si c'est dommage que ma fille n'ait pas apprécié je prefere la voir faire ce qu'elle a envie.

                    En fait Je crains que l'informatique vu avec le prisme des maths ne fasse fuir certains, même si cela en attire d'autres.

                    C'est une évidence qu'à un moment ou à un autre il faudra aborder la chose mathématiquement parlant, mais si d'abord tu présentes une bête balle qui rebondit, cela amenera un intérêt plus large qu'une sinusoïdale ou une recherche dichotomique.

                    Tu répète souvent à raison ton mantra « fréquence et volume » (c'est bien ça ?), cette question là vient d'un raisonnement mathématiques. Même si tu ne l'a peut être découvert qu'expérimentalement.

                    Oui, comme je le dis souvent on devrait finir un diplome de codeur avec ces 2 mots tatoués sur les avant bras.

                    L'acquisition de l'expérience est à mon avis plus important que la connaissance brute. Je suis surpris que l'on utilise pas certain jeu (vidéo ou non ) pour expérimenter certaines choses.

                    par exemple :

                    MULE est un jeu sympa pour comprendre les lois du marchés, les situations de monopole

                    Civilization rien de mieux pour comprendre l'histoire et la géopolitique

                    Ils ne sont certainement pas adapté à une utilisation en classe, mais le principe de ces jeux permet de démontrer et d'expérimenter certains principes.

                    L'informatique peut être quelque chose de "fun", c'est un formidable outil pour aborder beaucoup de domaine et je trouve dommage de le restreindre aux mathématiques.

                    Bon je reconnais que l'enseignement c'est pas ma partie, et le peu de formations que j'ai donnée m'ont juste démontrer que c'est loin d'être facile et qu'il ne suffit pas de maîtriser son sujet.

                    • [^] # Re: Même remarque que précédemment

                      Posté par . Évalué à 2 (+1/-0).

                      Maintenant tu parle encore d'autre chose. Le cours dont il est question c'est l'étude de la programmation informatique. Qu'il y ai autre chose à faire faire je suis tout à fait d'accord. Je vais essayer d'être plus clair :

                      • je pense que l'étude de la programmation n'est pas quelque chose de particulièrement importante. L'utilisation et les enjeux de l'informatique le sont bien plus.
                      • l'étude de la programmation est particulièrement liée aux mathématiques
                      • l'utilisation d'outil informatique pour enseigner tout et n'importe quoi peu évidement être une bonne chose, mais ça n'a pas de rapport. J'avais déjà des prof qui s'en servaient dans le secondaire (j'ai eu mon bac en 2006)
                      • [^] # Re: Même remarque que précédemment

                        Posté par . Évalué à 2 (+0/-0).

                        Merci de clarifier tout cela, on voit que tu as l'habitude … :)

                        Je comprends la logique de ton point vue (pour un matheux c'est la moindre des choses)
                        mais je trouve dommage

                        que l'apprentissage de la programmation soit moins important que certaines autres matières (dessin musique … )
                        que pour l'instant cet apprentissage soit uniquement lié aux mathématiques (même si c'est particulièrement lié)

                        Et surtout que l'on en discute en 2019 … 20 ans trop tard

                • [^] # Re: Même remarque que précédemment

                  Posté par (page perso) . Évalué à 4 (+2/-0).

                  On se demande pourquoi il y a tant d'offres d'emplois dans le numérique …

                  Parce qu'une grande proportion des jobs sont des postes de merde et qu'il y a donc beaucoup de turnover ?

                  * Ils vendront Usenet^W les boites noires quand on aura fini de les remplir.

            • [^] # Re: Même remarque que précédemment

              Posté par . Évalué à 2 (+0/-0). Dernière modification le 04/12/19 à 16:40.

              Tu pourrais prévenir quand tu fais de la mauvaise foi … :)

              La programmation c'est :

              de la logique mais il y en a de partout comme en philo par exemple
              du bon sens … beaucoup de bon sens …
              une certaine capacité d'abstraction, comme chez les poêtes par exemple
              

              mais pas autant de mathématique que cela …

              Là c'est toi qui est de mauvaise foi. D'une manière générale j'ai du mal à comprendre ton insistance à vouloir dissocier la programmation et les mathématiques. Comme t'a répondu JeanClaude, la science qui formalise tout cela c'est les mathématiques, et le résultat qui constate cela c'est la correspondance de Curry-Howard : un programme est la preuve d'un théorème dont l'énoncé est sa spécification.

              L'exemple assez trivial et usuel pour illustrer cela est le théorème énonçant qu'il existe une infinité de nombres premiers. On peut le formuler ainsi : pour tout entier n, il existe un entier p ≥ n tel que p est premier; et comme l'exprime l'énoncé précédent, toute preuve de ce théorème est un algorithme qui prend un entier n en entrée et renvoie un entier p en sortie qui est premier et plus grand que l'entrée.

              La différence entre la programmation et la pratique usuelle des mathématiques est que les mathématiciens s'intéressent peu au contenu algorithmique de leurs preuves, contrairement aux programmeurs.

              Toutes les structures de données (liste, arbres, graphes…) sont des concepts qui relèvent entièrement de la science mathématique, et d'aucune autre. Par exemple, les listes chaînées (qui pourrait être le type de retour d'une requête SQL pour avoir la liste des femmes ou hommes célibataires de 18 à 28 ans ;-) c'est, à peu de chose près, la représentation unaire des entiers naturels.

              J'ai surtout l'impression que tu as une vision réductrice de ce que sont les mathématiques, et ce n'est pas réduire la programmation que de l'identifier aux mathématiques, mais réduire les mathématiques dans leur contenu que de nier cette identité. Quand tu parles de sinusoïdales ou de recherche dichotomique, cela ne concerne qu'une infime partie de ce que traite et contient la mathématique. Pour comparer à la géographie, c'est un peu comme si tu me disais que la surface du globe se réduit à l'Ile de France, mais que l'Andalousie ou la pampa argentine étaient des régions inexistantes.

              On pourra plutôt envisager les choses dans l'autre sens, comme le suggérait JeanClaude :

              on peut envisager les choses autrement et imaginer que l'informatique peut donner des angles d'enseignements différents et bien plus concrets aux mathématiques.

              Soit dit en passant, tu te contredis quelque peu au fil des commentaires. Les patatoïdes ce n'est pas des plaisanteries mathématiques, mais de la logique : cela sert à représenter, de manière sensible, les différents rapports entre l'extension de plusieurs concepts, rapports qui relèvent de la logique formelle. Or la logique est la première des composantes de la programmation, d'après ta liste, mais il ne faudrait pas en parler dans les cours ? C'est un peu étrange comme approche de l'enseignement. ;-)

              Pour finir, tu as sous-entendu que la philosophie pouvait se ramener aux mathématiques, sauf que c'est absolument faux.

              il est nécessaire d'enlever encore en quelque sorte sa dernière ancre à une espérance fantastique, et de montrer que l'application de la mathématique dans cette sorte de connaissance ne peut procurer le moindre avantage, si ce n'est peut être de lui découvrir plus clairement ses propres faiblesses; que la géométrie et la philosophie sont deux choses tout à fait différentes bien qu'elles se donnent la main dans la science de la nature, et que par conséquent le procédés de l'une ne peuvent être imités par l'autre.

              La solidité des mathématiques repose sur des définitions, des axiomes et des démonstrations. Je me contenterai de montrer qu'aucun des ces éléments ne peut être ni fourni ni imité par la philosophie dans le sens où les mathématiciens le prend; que le géomètre, en suivant sa méthode, ne construirait, dans la philosophie, que des châteaux de cartes; que le philosophe, en suivant la sienne dans le domaine de la mathématique, ne pourrait faire naître que du verbiage; encore que la philosophie tienne son rôle dans cette science, rôle qui est d'en connaître les limites, et que le mathématicien lui-même, quand son talent n'est pas déjà limité par la nature et restreint à sa partie, ne puisse pas rejeter les avertissements de la philosophie, ni encore se mettre au-dessus d'eux.

              Kant, Critique de la raison pure.

              Ce qui distingue, entre autre, la mathématique et la philosophie, est que la philosophie est la connaissance rationnelle par concepts là où la mathématique est la connaissance rationnelle par la construction des concepts. Or, construire un concept, c'est présenter a priori l'intuition qui lui correspond; c'est-à-dire présenter, dans nos deux formes de l'intuition sensible que sont l'espace et le temps, un objet qui correspond à notre concept. Autrement dit, la notion de type en informatique est un synonyme de celui de concept mathématique, c'est-à-dire de concept dont les objets sont construits a priori dans l'espace et dans le temps (les deux notions centrales de la complexité algorithmique).

              Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.

              • [^] # Re: Même remarque que précédemment

                Posté par . Évalué à 3 (+1/-0). Dernière modification le 07/12/19 à 10:47.

                Là c'est toi qui est de mauvaise foi.

                Oui mais j'avais prévenu

                D'une manière générale j'ai du mal à comprendre ton insistance à vouloir dissocier la programmation et les mathématiques.

                Je ne cherche pas à dissocier les 2 , pour faire une plante il faut de l'eau et de la terre, on ne peut les dissocier.

                N'est il pas plus intéressant de parler des fruits et de la plante AVANT de parler de la germination et des réactions chimiques qui vont avec, cela pourra se faire plus tard.

                Et parler d'informatique en commençant par des mathématiques n'est, pour moi, pas une bonne technique

                il ne s'agit que d'un avis personnel, et je reconnais ne pas être compétent en matière d'enseignement.

                attention dredi / mauvaise foi …

                Evoquer des listes chainées en parlant de célibataires hommes et femmes de 18 à 28 ans … faut oser … :)

                c'est, à peu de chose près, la représentation unaire des entiers naturels.

                Et c'est la que je m'aperçois que l'on ne doit pas imaginer les mêmes choses … :)

                Fin du attention dredi / mauvaise foi …

                Si j'ai compris : kant dit intelligement ce que Rabelais disait plus simplement :

                "Science sans conscience n'est ruine de l'âme"

                (je reconnais avoir fait appel a mon ami internet sur ce coup la, j'ai consommé un joker … )

                Ce qui distingue, entre autre, la mathématique et la philosophie, est que la philosophie est la connaissance rationnelle par concepts là où la mathématique est la connaissance rationnelle par la construction des concepts.

                Je suis d'accord avec toi, il m'a fallu relire plusieurs fois pour bien tout assimiler, mais tu as appellé ton ami Kant et moi j'invoque Steve Jobs ( le premier qui parle de bataille de pokemon sort …)

                Steve jobs imaginait un produit, et en avait une vision très précise … les ingénieurs lui répétaient que cela n'était pas possible, que cela n'était pas réalisable.

                Lui répondait que ce n'était pas parce que personne ne l'avait fait, que cela n'était pas possible
                Et qu'il ne s'agissait pas de son problème mais du leur, et il arrivait à les emmener vers sa vision des choses.

                A tel point que son entourage proche parlait de distorsion de la réalité.

                La puissance de l'esprit est beaucoup plus spectaculaire et flamboyante dans un sens, mais sans les fondations, les bases solides et la rationnalité des mathématiques (et d'autres sciences) l'esprit n'est qu'un colosse au pied d'argile.

                Sur ce point nous sommes d'accord, mais commencer par le coté lumineux et flamboyant, à mon avis, permet d'aborder plus facilement le coté moins lumineux et flamboyant (ce n'est pas péjoratif).

                L'équilibre n'est possible qu'avec 2 extrèmités, et en appuyant trop d'un coté on crée un déséquilibre.

                • [^] # Re: Même remarque que précédemment

                  Posté par . Évalué à 2 (+0/-0).

                  Evoquer des listes chainées en parlant de célibataires hommes et femmes de 18 à 28 ans … faut oser … :)

                  c'est, à peu de chose près, la représentation unaire des entiers naturels.

                  Et c'est la que je m'aperçois que l'on ne doit pas imaginer les mêmes choses … :)

                  J'ai écrit cela pour pointer du doigt la relation entre programmation et mathématique. Il ne faut pas oublier que l'objectif de l'option NSI est d'initier les élèves à la programmation, et que l'étude des structure de données (dont les listes chaînées) est au programme de terminale.

                  Ceci étant, j'ai déjà croisé des personnes pour qui une liste de femmes était un entier unaire : on appelait cela des queutards. ;-)

                  let vision_du_queutard (l : femme list) = List.map ignore l

                  Autrement dit, un queutard fait totalement abstraction des femmes sur la liste, mais ne voit en chacune d'elle qu'une croix de plus sur son tableau de chasse : il transforme la liste de femmes en une liste de croix, c'est-à-dire un entier unaire. ;-)

                  Si j'ai compris : kant dit intelligement ce que Rabelais disait plus simplement :

                  "Science sans conscience n'est ruine de l'âme"

                  Non, pas vraiment, il dit juste ici que la philosophie et la mathématique sont deux matières fondamentalement distinctes et que quiconque utilisera la méthode mathématique (définition, axiome et démonstration) en philosophie ne construira que des châteaux de cartes. Ce qui n'est pas le cas en programmation : une API est une axiomatique, programmer contre une interface générique cela revient à faire usage d'axiomes — comme en mathématique.

                  Après, je ne dis pas qu'il ne faut aborder la programmation que sous l'angle des mathématiques, ni ne pas montrer la plante et le fruit, mais qu'éluder la partie mathématique de la programmation n'est pas une chose à faire.

                  Il ne faut pas perdre de vue que l'objectif de l'option NSI au lycée est, avant tout, non de former un futur Steve Jobs, mais d'initier à l'informatique et à la programmation celles et ceux qui seront peut être un jour ses ingénieurs.

                  Ceci étant, je trouve les mathématiques bien plus lumineuse et flamboyante que tout ce qui a jamais pu sortir de la tête d'un Steve Jobs; mais j'ai bien conscience d'avoir une vision ultra-minoritaire au sein de la population. :-P

                  Les mathématiques ont un triple but. Elles doivent fournir un instrument pour l’étude de la nature.

                  Mais ce n’est pas tout : elles ont un but philosophique et, j’ose le dire, un but esthétique. Elles doivent aider le philosophe à approfondir les notions de nombre, d’espace, de temps.

                  Et surtout leurs adeptes y trouvent des jouissances analogues à celles que donnent la peinture et la musique. Ils admirent la délicate harmonie des nombres et des formes ; ils s’émerveillent quand une découverte nouvelle leur ouvre une perspective inattendue ; et la joie qu’ils éprouvent ainsi n’a-t-elle pas le caractère esthétique, bien que les sens n’y prennent aucune part ? Peu de privilégiés sont appelés à la goûter pleinement, cela est vrai, mais n’est-ce pas ce qui arrive pour les arts les plus nobles ?

                  Henri Poincaré, La valeur de la science

                  Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.

                  • [^] # Re: Même remarque que précédemment

                    Posté par . Évalué à 2 (+0/-0).

                    Ceci étant, je trouve les mathématiques bien plus lumineuse et flamboyante que tout ce qui a jamais pu sortir de la tête d'un Steve Jobs; mais j'ai bien conscience d'avoir une vision ultra-minoritaire au sein de la population. :-P

                    J'allais te le dire, mais tu m'enlèves les mots de mon clavier … :)
                    C'est bien d'être lucide :)

                    En tout cas je te remercie pour tes citations qui m'ont bien plus, apparemment il n'y a pas que les mathématiques qui t'intéresse.

                    Je suis en parti d'accord avec toi pour les mathématiques, enfin celle que je peu percevoir à mon niveau. Et il y a tellement de choses à découvrir.

                    Quand à Steve jobs, même si j'ai beaucoup de respect pour lui, son décès avait défrayé la chronique alors que quasiment en même temps Dennis Ritchie nous quittait.

                    Heureusement le chroniqueur Numérique de France Infos avait rappelé ce qu'il nous a légué. mais il aurait mérité beaucoup plus.

                    • [^] # Re: Même remarque que précédemment

                      Posté par . Évalué à 2 (+1/-0).

                      Heureusement le chroniqueur Numérique de France Infos avait rappelé ce qu'il nous a légué. mais il aurait mérité beaucoup plus.

                      Et Guillaume Denry nous avait gratifié d'une blague qui m'avait fait pleurer de rire.

                    • [^] # Re: Même remarque que précédemment

                      Posté par . Évalué à 3 (+1/-0).

                      J'allais te le dire, mais tu m'enlèves les mots de mon clavier … :)
                      C'est bien d'être lucide :)

                      La lucidité est essentielle dans la vie, surtout dans ce cas.

                      En tout cas je te remercie pour tes citations qui m'ont bien plus, apparemment il n'y a pas que les mathématiques qui t'intéresse.

                      Mes centres d'intérêt, en science, se concentrent essentiellement autour de la mathématique, de la logique formelle et de la philosophie (de tradition kantienne). D'ailleurs pour rester sur le thème du journal et de la fomation NSI, j'ai pu voir que le programme de terminal traite du paradigme de la POO. Le logicien en moi espère une seule chose : que ce sera l'occasion de faire disparaître, une bonne fois pour toute, de la tête de la future génération de programmeurs une des plus grosses inepties logiques qu'il m'ait été donné de voir. Je veux dire celle qu'illustre, par exemple, cet article de wikipédia sur les mixins :

                      Contrairement à une classe, un mixin n'est pas destiné à être utilisé seul.

                      Sémantiquement, il n'y a pas de relation « est une sorte de » entre une instance et un mixin.

                      Non, non et non!!!! les classes sont la pire chose au monde pour représenter cette relation sémantique. C'est la notion de type qui fait cela ! Et cela devient pire lorsque l'on dit que les canards sont des animaux, donc la classe canard doit hériter de la classe animale. Ce que l'on a, en réalité, ce sont deux concepts (ou types) « canard » et « animal » dont l'un est le sous-type de l'autre (l'un se nomme le genre, ici animal, et l'autre l'espèce, ici canard). Le verbe est, que les logiciens nomment dans ce cas copule, correspond au : dans le code que j'ai écrit plus haut :

                      let vision_du_queutard (l : femme list) = List.map ignore list

                      L'expression l : femme list se lit « l est une liste de femmes », et les sous classes ne sont pas toujours des sous-types : Subtyping, Subclassing, and Trouble with OOP. Le problème qui arrive dans le cas de l'article est un non respect du principe de substitution de Liskov. Bien que ce principe tire son nom d'un article datant du début des années 1990, il est en réalité connu depuis bien plus longtemps que cela. Ce principe n'est rien d'autre que le dictum de omni et nullo des logiciens qui a reçu cette dénomination latine au moyen âge, et il était déjà connu d'Aristote.

                      Cela fait donc des années que les adeptes de la POO professent et propagent une ineptie logique qui est connue, comme telle, depuis l'antiquité : il serait peut être temps d'y mettre un terme. ;-)

                      Pour finir une citation qui revient sur le lien programmation-mathématique :

                      On est accoutumé à nommer beauté les propriétés évoquées des figures géométriques aussi bien que des nombres […] C'est bien plutôt une démonstration de telles propriétés que l'on serait en droit de nommer belle, parce que, par son intermédiaire, l'entendement comme pouvoir des concepts et l'imagination comme pouvoir de leur présentation a priori se sentent renforcés (ce qui, combiné avec la précision que donne la raison, se nomme l'élégance de la démonstration); car, en tout ceci, du moins la satisfaction, bien que le fondement s'en trouve dans des concepts, est-elle subjective, tandis que la perfection implique une satisfaction objective.

                      Kant, Critique de la faculté de juger.

                      Les programmes étant des démonstrations, tout programmeur verra dans ce texte une référence aux sentiments qu'il a pu resentir devant un beau code.  ;-)

                      Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.

                      • [^] # Re: Même remarque que précédemment

                        Posté par . Évalué à 2 (+0/-0).

                        Tout d'abord le terme mixin ne m'a jamais dérangé, et après quelques recherches, c'est, à mon avis, plus un nouveau mot qu'une réelle avancé technologique.(un peu comme cloud == hébergement)
                        Par contre, si une définition est fausse ou aberrante il faut la corriger.

                        J'ai essayé de comprendre ce que tu voulais dire avec le "est une sorte de", je ne sais si j'ai tout assimilé comme il faut mais j'ai l'impression que :

                        parfois les grands principes se heurtent à la réalité du terrain

                        Il faut des personnes capables de comprendrent et de diffuser des grands principes, sinon c'est le chaos et l'anarchie la n'est pas le problème.
                        Mais parfois sur le terrain, dans la vraie vie, les grands principes ne sont pas toujours applicables stricto senso. Et entre le blanc et le noir il existe de nombreuses nuances de gris …

                        Un bon exemple est l'évolution des mentalités concernant les formes normales en bases de données relationnelles, qui est d'ailleurs bien documentée dans cet article de wikipédia ( https://fr.wikipedia.org/wiki/Forme_normale_(bases_de_donn%C3%A9es_relationnelles) ).
                        je me souviens des puristes qui se moquaient de la structure des données de notre ERP, et que j'attendait après la mise en exploitation quand de notre coté on gérait des centaines de connexions avec des temps de réponses acceptables et une consommation de ressources "normales".
                        Alors que de leur coté ils arrivaient à quelques dizaines de connexions et des temps de traitements médiocres et surtout des besoins en ressources informatiques difficile à absorber.

                        Pour être honnête, en 30 ans, je ne suis tombé que sur 1 seul cas ou l'on pouvait effectivement et réellement comparer les 2 cas :
                        D'un coté le respect de la forme normale et l'évitement à tout prix de la redondance pour limiter les entrées/sorties.
                        Du notre ou le principe de redondance des informations permettait justement d'améliorer bon nombre de traitement lourd.
                        Ou pour simplifier : c'est idiot d'écrire et de tenir a jour des informations identiques dans plusieurs tables (exemple un code client dans les commandes, factures et les lignes qui vont avec) mais cela permettait dans beaucoup de traitement de retrouver facilement les informations dans l'ordre voulu au final.

                        Les principes de bases sont comme un cap, une direction à tenir, mais si il y un iceberg, une tempête … il faut savoir louvoyer et s'adapter à la situation.

                        Cela fait donc des années que les adeptes de la POO professent et propagent une ineptie logique qui est connue, comme telle, depuis l'antiquité : il serait peut être temps d'y mettre un terme. ;-)

                        Inscrit toi sur Wikipédia et propose une modification, en plus on dirait que tu maîtrises le sujet.
                        ceci dit … c'est peut être une galère car cela peut être discuté pendant des années.

                        Les programmes étant des démonstrations, tout programmeur verra dans ce texte une référence aux sentiments qu'il a pu resentir devant un beau code.  ;-)

                        Exact, ce texte à une profondeur difficile à appréhender à la première lecture.
                        je ne connaissais Kant que de nom, mais maintenant j'aurais envie d'en savoir plus …

                        Et pendant que j'y suis, ce n'est pas une attaque frontale mais plutôt l'envie d'avoir une autre vision des choses, plus mathématique qu'informatique …

                        En POO, notamment avec Python, je peu surcharger les operateurs et dénaturer complétement les fondements de l'arithmétique en ré définissant l'addition la soustraction et tout les opérateurs si je le souhaite.

                        Existe t il un principe mathématique derrière cela ?

                        Petite touche d'humour : vous avez 4h :)

  • # Numworks

    Posté par (page perso) . Évalué à 2 (+0/-0). Dernière modification le 11/12/19 à 23:48.

    Belle initiative !

    Ça donne envie de traduire quelques unes des bibliothèques dans le micropython de la Numworks !

Envoyer un commentaire

Suivre le flux des commentaires

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