Pourquoi uniquement Python au lycée? - Page 2 — Les-mathematiques.net The most powerful custom community solution in the world

Pourquoi uniquement Python au lycée?

2»

Réponses

  • giacpy n’est toujours pas dans Debian. :-(
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • Rescassol: le probleme c'est le temps de calcul! Il faut plusieurs secondes (une dizaine sur ma machine). Augmentez un peu les exposants de x ou sin(x), par exemple factor(integrate(x**5*sin(x)^3*exp(x),x))
    et sympy baisse les bras.
    Ici il faut 0.001 seconde avec Xcas.
    C'est surement la meme chose pour les polynomes ou l'algebre lineaire exacte. Par exemple combien de temps pour factoriser des polynomes a plusieurs variables?
    f1:=(x+y+z+1)^20+1:; p1:=normal(f1*(f1+1)):; p2:=factor(p1); size(p1); p2[0]; size(p2[1]); size(p2[2]); size(p2[3])
    (environ 1 seconde pour Xcas)
    Pour calculer une base de Groebner? (par exemple cyclic7).
    Combien pour calculer le determinant d'une matrice 500x500 a coefficients entiers entre -100 et 100? (environ 1 seconde avec Xcas).
    Je dirais que sympy est une bibliotheque qui occupe beaucoup de terrain, mais question algorithmique c'est souvent desastreux. Ca donne une image completement faussee de ce qu'on peut faire en calcul exact.

    nicolas.patrois: je suis apparamment tres mauvais pour faire de la pub que ce soit aupres de la hierarchie de l'EN ou des cercles qui controlent les distributions linux. Pour debian (et fedora), l'inclusion est assez recente pour giac. Ceci dit, il suffit d'ajouter mon depot dans la base et on a en plus les versions bien a jour.
  • Mes arguments pour Python :
    - il convient pour ce qu’on veut lui faire faire
    - il est utilisé dans la vraie vie (d’après ce site, c’est le 4ème langage le plus populaire : Lien
    - il est simple d’utilisation

    C’est assez important que le même langage soit utilisé par tous les profs. Ça facilite les échanges.

    Je retiens surtout qu’on fait utiliser Caml par les prepas, qu’on m’a fait faire du Pascal au lycée et que AlgoBox et Scratch sont très utilisés.
    Je préfère la direction orthogonale qu’est Python.
  • En prépa, c'est Python qui est utilisé, sauf en option info où c'est Caml.
  • Colas: a mon sens, c'est un langage commun pour decrire les algorithmes qu'il convient de definir, mais pas un langage unique de programmation. Ceci permet de bien faire la part des choses entre les specificites d'un langage de programmation precis et ce qui existe dans la plupart les langages de programmation (par exemple affectation, variables, types, tests, structures de boucle, fonctions, arguments vs. l'instruction precise d'affectation ou d'importation de modules...). Ceci permet egalement de s'adapter facilement a un autre langage (par exemple Javascript dont l'utilisation est au moins comparable a Python), ce qui devrait etre le but de l'enseignement en lycee plus que de former a un langage precis qui risque d'etre moins populaire 10 ou 20 ans plus tard.

    L'insistance a vouloir imposer un langage unique est sans doute le signe d'un manque de maturite. Comme je suis pragmatique, j'ai ajoute la possibilite de programmer en syntaxe Python dans Xcas. Mais peut-etre que ca ne sera pas considere comme eligible par certains puristes qui ne jurent que par du "genuine Python"...
  • parisse : je reconnais que je n'ai pas manipulé Xcas depuis quelques années. Je ne savais pas que la manipulation de conteneurs était calquée sur Python. Et effectivement l'aspect calcul formel est une fonctionnalité intéressante (mais je serais intéressé par un comparatif entre Xcas et des outils comme CoCalc).

    J'ai une question (de multiplicité > 1) sur le langage : en Python, si je veux programmer un calcul numérique par la méthode des rectangles, je vais écrire
    def rectangles(f, a, b, n):
        return (b-a)/n * sum(f(a + k*(b-a)/n) for k in range(n))
    
    et je pourrai l'utiliser en écrivant par exemple
    print(rectangles(lambda t : 1/t, 1., 2., 1000))
    
    (le typage explicite des bornes en float n'étant nécessaire qu'en version 2.x, donc en particulier pas en prépa).

    Comment faire ce genre de choses en Xcas ?
  • Il suffit de rajouter des [] pour la liste en comprehension (le parser ne reconnait la syntaxe "expression for ... in ... [if ...]" que entre crochets) et il n'est pas necessaire de faire print: session Xcas

    Par rapport a Cocalc:
    La difference la plus importante, c'est que Xcas dans le navigateur est server-less. On a juste besoin de telecharger le code de la page, ensuite tous les calculs sont faits en local. (cela vient du fait que le code C++ de giac est compile en Javascript qui est donc executable localement par le navigateur). On peut meme installer la page HTML et les scripts et donc s'en servir sans acces Internet, sur n'importe quel materiel equipe d'un navigateur recent (y compris sur smartphone, ca tourne assez vite, mais c'est un peu petit pour la saisie).
    Concernant les echanges de sessions, ca peut se faire de deux manieres: soit par echange d'emails, on clique sur l'icone d'enveloppe pour envoyer une session a son correspondant, soit via le forum de Xcas (ou tout autre forum), on clique sur l'icone de partage, ce qui recopie le lien de la session dans le presse-papier, il suffit alors de coller le presse-papier dans le message sur le forum.
    Et puis tout ca est entierement gratuit!

    J'ajoute que je viens de publier une version beta de Xcas pour la calculatrice Casio Graph 90+e dont le prix est annonce a moins de 80 euros pour la rentree 2018 (KhiCAS Casio, on peut tester sur emulateur mac ou PC). Les eleves de classe prepas ou de licence scientifique pourront ainsi s'equiper d'une calculatrice avec un moteur de calcul formel performant a moindre cout. J'espere que la startup Numworks va augmenter la taille de la memoire flash de sa calculatrice pour permettre egalement un portage de Giac/Xcas dessus.
  • Si on utilise l’émulateur de Numworks, tout se fait en JS aussi.
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • En effet, Numworks utilise aussi le compilateur emscripten pour son simulateur mais on ne parle pas du tout du meme usage: Cocalc ou Xcas pour navigateur d'un cote, simulateur de calculatrice de l'autre.
    D'autre part, il faut prendre conscience que sur la Numworks, le micro-Python possede 4 modules: urandom, math et cmath et un petit module graphique maison (avec deux instructions de trace, une pour allumer un pixel, une autre pour afficher une chaine). Pas de calcul scientifique/matriciel, ni de calcul formel, contrairement a KhiCAS.
  • Je sais bien mais bon, le calcul matriciel en lycée ne vole pas haut.
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • Mais autant avoir une calculatrice qui puisse aussi servir pendant les etudes superieures, or en l'etat actuel la Numworks ne le permet pas (taille de la memoire flash 1M). Evidemment les constructeurs preferent vendre un modele haut de gamme en se faisant plus de marge, voire deux modeles...
  • Ils servent vraiment de la calculette dans le supérieur ?
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • Ca depend ou. En prepas, je pense que c'est le cas pour tous les etudiants qui passent des concours autorisant les calculatrices, je laisse d'autres mieux renseignes que moi repondre sur le pourcentage concerne (il me semble que c'est un pourcentage important). A la fac, une partie des collegues matheux est oppose a l'usage des outils de calcul de toute nature, donc l'interdit en examen. Mais la calculatrice peut quand meme servir aux etudiants pour progresser meme si elle est interdite aux examens.
    Il n'y a pas de raison objective qu'une calculatrice avec une capacite memoire importante soit sensiblement plus chere qu'une calculatrice ayant une capacite memoire digne de la fin du 20eme siecle. On trouve des smartphones a 79 euros avec 16Go de flash (16 000 fois plus que la Numworks, 1000 fois plus que la Casio Graph 90+e) et 1 Go de RAM. C'est principalement la segmentation du marche en bas, milieu et haut de gamme pour optimiser les revenus qui cause des ecarts de capacite memoire importants.
  • Tu oublies que ces téléphones sont vendus en nettement plus grande quantité que la Numworks et par des gens qui peuvent négocier une plus grosse ristourne.
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • Les quantites peuvent sans doute permettre de gagner un facteur 2 ou 4 sur la memoire disponible, mais un facteur 16000, ca vous parait vraissemblable?
    Numworks n'a pas pour le moment une gamme de calculatrices, on ne peut pas leur reprocher de jouer sur la capacite memoire pour vendre plus cher un modele haut de gamme (contrairement a TI ou Casio). Mais ils ont decide de prendre une puce avec 1 Mo de flash pour economiser quelques euros en sachant fort bien que cela empecherait le portage de logiciels comme Xcas, et en limitant son usage au lycee (et meme la elle risque d'etre un peu limite en filiere non scientifique...). Donc ca ne fait finalement pas de differences avec les constructeurs traditionnels, le dindon de la farce est le futur eleve de classes prepas ou plus generalement l'eleve qui envisage des etudes scientifiques.
    Il n'est pas trop tard pour changer de strategie, j'espere que le portage de Xcas sur Casio Graph 90+e va les y inciter (vu qu'ils sont en concurrence directe avec ce modele), en tout cas je ne vois que ca a faire pour que les bons eleves modestes ne soient pas defavorises.
  • Tu oublies encore une chose, les calculatrices ont une contrainte que n’ont pas les portables : l’autonomie. On n’a pas besoin de recharger sa calculette tous les soirs. 16 Go de mémoire pompe de la batterie, beaucoup plus que 1 Mo.
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • Sauf erreur de ma part, ce qui pompe de la puissance, c'est principalement l'ecran et le processeur, un peu la memoire vive mais pas la memoire flash (du moins en lecture). Et sur smartphone les connexions reseau bien sur.
    D'ailleurs la HP Prime (et dans une moindre mesure la TI Nspire CX) ont significativement plus de flash que la Numworks sans compromettre l'autonomie (j'ai 197.8M de flash libre sur ma Prime)
  • On peut pinailler sur les détails encore longtemps mais le problème de fond est qu’ils n’ont pas les moyens de TI et de Casio (pour qui en plus, les calculettes ne sont pas le cœur de métier).
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • Je pense avoir demontre que la taille memoire disponible n'est pas un detail. Je comprends qu'on puisse avoir de la sympathie pour le nouvel entrant Numworks surtout si on aime le langage Python, mais il faut conserver un minimum d'objectivite.
    Je suis persuade que s'ils avaient choisi une configuration memoire permettant de porter Xcas sur leur calculatrice, ils auraient des arguments forts (CAS+Python) pour convaincre les enseignants (de maths!) de changer de modele, au lieu d'un seul qui convainc surtout parmi les fans de Python (les autres utilisent le langage de la calculatrice de leurs eleves ou font programmer en salle informatique). Sans parler des autres inconvenients de la configuration actuelle lies a la taille de la memoire minuscule (par exemple 4K de limite pour les scripts, tres peu de memoire de travail, pas de sauvegarde en flash des scripts en cas de reset ou de mise en oeuvre du mode examen). Plus tot ils changeront, mieux ce sera pour eux et pour nous.
    Mes recommandations depuis mai 2016 n'ayant eu aucun effet, j'espere que la concurrence directe avec KhiCAS+Python sur la Casio Graph 90+e en aura plus.
  • Merci à tous pour toutes ces infos.
    @parisse: j'ai essayé encore l'an dernier d'utiliser python ou xcas sur téléphone mobile et ça ne marchait pas bien.

    Mauricio
  • Xcas sur navigateur a pas mal evolue depuis l'an dernier. Mais c'est plutot a utiliser sur tablette (ou ordi), sur smartphone c'est quand meme un peu petit.
  • Mauricio, tu as essayé l’émulateur de Numworks sur ton portable ? :-D
    Sinon, la limite de 4ko sur Numworks devrait attirer les geeks fans de code golf.
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • @parisse
    Rescassol: le probleme c'est le temps de calcul! Il faut plusieurs secondes (une dizaine sur ma machine). Augmentez un peu les exposants de x ou sin(x), par exemple factor(integrate(x**5*sin(x)^3*exp(x),x))
    et sympy baisse les bras.
    Ici il faut 0.001 seconde avec Xcas.
    Chez moi cela met 3 secondes sous PyCharm.

    Vous confondez le langage de programmation (python), un programme écrit sous python (sympy) et un logiciel (Xcas). Xcas est codé en C++, d'où peut-être ça rapidité. Il ne faut pas non plus exclure que Xcas peut être tout simplement mieux codé que sympy.

    Pourquoi Python et non Xcas? Parce que Python est un langage de programmation contrairement à Xcas. Il est grand temps de dissocier l’apprentissage de programmation du cours de maths, si la France veut avoir des bons codeurs. Et dans ce cas exit tous les logiciels de maths.
  • @taimanov
    Je ne pense même pas aux matheux professionnels quand je parle de Scilab/Matlab.

    De toute façon peu importe: qui pourrait proposer un langage plus adapté que Scilab/Matlab? Ca me semble évident que Python n'est pas une bonne réponse à cette question. Mais ce n'est pas important.
    En stats, proba, analyse et gestion des données? Plein! L'avantage de Scilab/Matlab.... oui, il y en a un, c'est un peu mieux qu'Excel. ;-)

    @Guego
    a=115
    print("Je suis " , a)
    Pas besoin de convertir et mettre str(). Il suffit de remplacer + par , C'est assez logique: + signifie "ajouter". On ne peut pas ajouter un float à string. Par contre on peut les mettre l'un après l'autre.
  • vorobichek: je ne confonds rien du tout, ca fait 18 ans que je programme Xcas, 25 ans que je programme du calcul formel, je pense savoir mieux que vous ce que font mes concurrents et mon logiciel. Sauf erreur de ma part, l'essentiel du code de sympy a ete ecrit par des programmeurs qui ne sont pas mathematiciens et ne connaissent pas nombre d'algorithmes, des naifs comme l'integration de polynomes*exponentielles aux moins naifs comme nombre d'algorithmes efficaces en calcul formel (par exemple modulaires, p-adiques...). Qui plus est coder en Python (sans utiliser d'outils de traduction en C/C++) ajoute une couche a la lenteur.
    Dissocier l'enseignement de l'algorithmique des maths et les mathematiques c'est votre opinion, pas la mienne ni celle d'autres matheux qui considerent comme moi que cela fait partie des maths, c'est d'ailleurs au coeur du programme de l'option C de l'agreg de maths. Suivre votre opinion c'est laisser des non matheux programmer du calcul formel avec des resultats aussi pitoyables que ceux que j'ai indiques avec sympy. Enfin, Xcas dispose d'un langage de programmation qui suffit largement aux besoins de l'enseignement, et d'ailleurs nombre de scripts Python tournent sans modifications ou avec des modifications mineures en Xcas.
  • Bonjour parisse,

    Quelles sont les différences entre la version Xcas pour HP prime et celle qu'on peut installer sur un PC ou sur un mac ?
  • @parisse, si si, vous confondez puisque vous écrivez ceci:
    Sauf erreur de ma part, l'essentiel du code de sympy a ete ecrit par des programmeurs qui ne sont pas mathematiciens...
    C'est ce que j'ai dit plus haut. Le problème ne vient pas du Python.
    Dissocier l'enseignement de l'algorithmique des maths et les mathematiques c'est votre opinion, pas la mienne ni celle d'autres matheux français qui considerent comme moi que cela fait partie des maths, c'est d'ailleurs au coeur du programme de l'option C de l'agreg de maths
    Il faut préciser! Les matheux non français trouvent absurde le couplage programmation/maths. On est au 21 siècle, il faut un cours de programmation à part avec au moins 1h par semaine pendant plusieurs années. Et ce cours doit être enseigné par un spécialiste.
    Suivre votre opinion c'est laisser des non matheux programmer du calcul formel avec des resultats aussi pitoyables que ceux que j'ai indiques avec sympy.
    Il n'y a pas que le calcul formel dans la vie. Il faut des bons codeurs partout. Or en France c'est une denrée extrêmement rare. Un programmiste français est très très loin des programmistes des pays de l'est, des américains etc : IOI et eJOI. Dans ces pays de l'est l'info est un cours à part depuis 90, voir fin 80.

    Oui, les maths sont nécessaires, si on veut faire des choses à minimum poussées. Mais dissocier maths/info, c'est de donner la possibilité à l'élève de tester une nouvelle chose. L'élève peut prendre le goût et commencer à travailler plus sérieusement les maths.

    PS ce n'est très honnête de faire la pub de votre logiciel dans ce thème.
  • Bonjour,

    > PS ce n'est très honnête de faire la pub de votre logiciel dans ce thème.

    Pourquoi pas, il est gratuit, et ce n'est pas tous les jours qu'on peut s'adresser directement au concepteur.
    Et qui te dit qu'il n'y a pas sur ce forum des gens qui développent Python ?

    Cordialement,

    Rescassol
  • @parisse

    Je ne crois pas que quiconque ici ait mis en doute vos[1] compétences pour choisir et implémenter des algorithmes de calcul formel. Ce qui me semble être le propos ici, c'est que pour répondre au besoin apparemment massif de programmeurs en France[2], on a surtout besoin (au niveau du nombre de personnes) de gens qui savent faire de la programmation « générale », pas majoritairement de spécialistes en calcul formel. Concrètement, on peut programmer utilement pendant des années en entreprise sans connaître d'algorithme pointu (en gros, il faut être rigoureux, ne pas créer soi-même trop de bugs, savoir lire le code des autres et corriger leurs bugs). Et pour s'initier à la programmation « générale », Python n'est pas un mauvais choix à mon avis. J'ai bien dit s'initier. Évidemment qu'il est nécessaire d'étudier d'autres langages et un peu d'architecture des ordinateurs pour quelqu'un qui se spécialise en programmation, mais là, on parle d'activités auxquelles tous les lycéens sont soumis, pas de spécialisation.

    L'important, c'est de connaître ses limites et de bien choisir ses outils. Par exemple, si j'ai une liste à trier en Python, je vais utiliser le list.sort() de Python. Cette fonction est très efficace et pour un programmeur « de base », il n'est pas nécessaire de connaître tout ce qu'il y a sous le capot. L'important, c'est de savoir quand on risque d'implémenter un algorithme inefficace et de se renseigner pour éviter de le faire (si le gain potentiel en performance compte, car dans pas mal de cas, les performances ne sont pas du tout critiques, et alors optimiser pour la beauté de la chose est assez mal vu par le patron qui allonge les sous-sous). Et si on implémente quelque chose d'inefficace par manque de temps ou de compétences, de le documenter.

    Bien-sûr, c'est toujours mieux de savoir tout ce qu'il y a sous le capot, mais il faut être réaliste, de même que tous les élèves ne peuvent pas devenir mathématiciens, il semble illusoire de penser que tous les gens amenés à programmer vont connaître sur le bout des doigts les structures de données et algorithmes de l'informatique théorique. C'est quand-même assez abstrait... comme les maths (d'ailleurs, je crois que l'on peut considérer que l'algorithmique fait partie des maths).

    Là où c'est piégeux et où il y a, je vous le concède, un risque, c'est qu'avec ces principes, on considère souvent par facilité ou par défaut qu'une bibliothèque spécialisée dans tel ou tel domaine a été écrite par des experts du domaine. D'après vos dires, ce n'est peut-être pas le cas de SymPy. Il faut savoir reconnaître ce genre de situation, ça fait partie de la compétence « savoir choisir les bons outils » et n'est pas toujours évident.

    [1] Je croyais que l'on tutoyait par défaut sur le forum, mais vous avez vouvoyé vorobichek, donc je ne sais trop que faire... m'enfin, concentrons-nous sur le contenu.

    [2] Le mot à la mode, maintenant, c'est « codeurs ». Tellement plus stylé, hein...
  • @vorobichek: et qu'est-ce que je confonds?? Je signalais a Rescassol que sympy n'est pas un bonne bibliotheque de calcul formel. Pour 2 raisons a mon avis: une qui n'a rien a voir avec le langage, a savoir le choix des algorithmes, l'autre qui est liee a la lenteur de Python.
    Ensuite, si vous me citez, merci de ne pas modifier ce que j'ai dit, je n'ai jamais dit matheux francais, mais matheux tout court. Le developpement d'algorithmes mathematiques n'est pas reserve aux francais, il suffit de lire par exemple la liste des contributeurs de sagemath pour s'en convaincre.
    Et (pour brian), il ne se limite bien sur pas au calcul formel (qui est deja un terme vague, il y a de la place entre le calcul litteral symbolique, les polynomes, les corps de nombre sans parler de groupes), il y a bien evidemment le calcul scientifique (au sens large), et tout domaine des mathematiques qui necessitent des calculs (theorie des graphes par exemple).
    D'autre part, je n'ai rien contre le fait que les eleves de lycee fassent de l'algorithmique sur d'autres themes que les maths dans le cadre d'un cours d'informatique et dans ce cadre Javascript, Python, etc. sont plus generalistes que ne l'est Xcas. Mais la on parle du langage utilise dans le cadre du cours de maths, et meme si un enseignement d'informatique devient tres repandu au lycee, l'enseignement de l'algorithmique en maths me parait indispensable au lycee (de meme que dans des temps anciens on apprenait a se servir d'une regle a calculs, et parce que l'algorithmique, l'efficacite font a mon avis partie des mathematiques, n'en deplaise aux sectaires).

    brian: desole si je me repete, je n'ai jamais dit que Python etait un mauvais choix de langage, ce que je conteste c'est que certains veulent l'imposer comme unique langage de programmation au lycee. Je pense qu'il faut laisser les enseignants choisir. Xcas a pas mal d'atouts pour enseigner l'algorithmique sur des themes mathematiques, en particulier aux debutants.
  • Pourquoi ne proposes-tu pas tes algorithmes à sympy ?
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • gai requin: la version de giac de la HP Prime a quelques differences significatives avec celle de Xcas:
    1/ elle est assez souvent en retard de quelques mois, HP ne publie pas des firmwares au meme rythme que je ne mets a jour Xcas, ainsi la version publique actuelle du langage CAS est moins compatible avec Python que ne l'est Xcas
    2/ la compilation est faite avec des options differentes qui visent a reduire la taille du code et eliminent un certain nombre d'optimisations qui font surtout sens pour de gros calculs qu'on fait sur PC. Il n'y a pas d'exceptions, ce qui rend l'interruption de gros calculs plus aleatoire.
  • @parisse : si l'algorithmique enseignée ou enseignable au lycée fait partie des maths, quels sont ses théorèmes, i.e. que peut-on y démontrer (étant entendu les démonstrations définissent les maths et sont ce qui les différencie d'autres disciplines**) ?

    D'autre part, la réforme du lycée institué un vrai cours d'informatique séparé du cours de maths en 1ere et Terminale. Pour un tel cours, comme tu le dis toi-même, des langages généralistes comme Python sont mieux adaptés.

    ** et si ça, c'est être sectaire, j'assume pleinement de l'être. L'informatique ne devrait pas être enseignée par des diplômés/certifiés/agrégés en maths mais en informatique, de même que normalement les maths ne devraient pas l'être par des diplômés(...) en physique : alors même qu'ils savent souvent faire pas mal de maths, l'esprit dans lequel ils en font (sauf peut-être en physique théorique de haut niveau) n'est sans doute pas le même que celui d'un matheux. Les physiciens **utilisent** les maths mais on ne peut pas dire qu'ils peuvent/doivent enseigner les maths. C'est exactement pareil pour l'informatique et les maths : certains matheux utilisent l'informatique/l'algo mais on ne peut pas dire qu'ils peuvent/doivent les enseigner.
  • nicolas.patrois: sympy peut s'interfacer avec giacpy, ou bien les programmeurs de sympy peuvent porter les algorithmes de giac (qui ne sont pour la tres grande majorite pas "mes" algorithmes, au sens ou ce n'est pas moi qui les ai inventes). Mais au nom de quoi devrais-je en quelque sorte me mettre aux pieds des programmeurs de sympy et leur macher le travail, alors que d'une part j'ai fait le travail comme il me semble qu'il faut le faire, et d'autre part ils connaissent l'existence de giac (en tout cas c'est sur en ce qui concerne Ondrej Certik) ?

    paf: les maths ce n'est pas uniquement des demonstrations theoriques d'existence, c'est aussi la construction d'objets mathematiques dont on a prouve l'existence, ainsi que l'etude de l'efficacite des algorithmes de construction. Au niveau lycee par exemple, l'algorithme de dichotomie est un algorithme de construction d'une racine (qui peut d'ailleurs fournir une preuve constructive de l'existence de racine d'une fonction continue changeant de signe), et a mon sens, on devrait enseigner en terminale le nombre d'etapes necessaires pour obtenir une precision donnee sur l'intervalle encadrant une racine (j'espere que certains profs le font). Plus generalement, justifier qu'un algorithme renvoie bien le resultat souhaite en un nombre controle d'etapes demande une preuve, qui souvent necessite de travailler en profondeur les notions mathematiques mises en jeu. Comme je l'ai deja indique, c'est au coeur de l'option C de l'agreg externe de *mathematiques* et ca intervient aussi ailleurs, au moins en option B.
  • Je n’ai jamais écrit que tu devais le faire, c’était juste une taquinerie, toi qui passes ton temps à descendre Python. (:D
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • En l'abscence de smiley, ca ressemblait plutot a de l'imperialisme.
  • Rescassol a écrit :
    Pourquoi pas, il [Xcas] est gratuit, et ce n'est pas tous les jours qu'on peut s'adresser directement au concepteur.
    Je dirais même plus, Xcas est libre, distribué sous license GNU GPL. Je pense que les personnes fréquentant ce forum doivent être en mesure de saisir la différence. Un logiciel juste gratuit, a priori :
    • tu ne sais pas ce qu'il y a dedans (il peut y avoir des spywares, backdoors, chevaux de Troie, virus, etc.). Sans l'accès au code source, identifier ce genre de choses peut être difficile et arriver trop tard, ou jamais.
    • tu ne peux pas l'étudier correctement (par exemple, quels algorithmes il met en œuvre, mais aussi comment il utilise telle ou telle technologie) ;
    • tu ne peux pas (légalement et pratiquement) le modifier ;
    • tu ne peux pas (légalement) redistribuer des versions du logiciel en question, qu'elles aient été modifiées ou non ;
    • tu es coincé quand son éditeur l'abandonne, ou quand il ne supporte pas ou plus ton système (combinaison de l'architecture x86/PPC/ARM/etc. et du système d'exploitation) -> emprisonnement potentiel de tes données, dépendance totale du bon vouloir et de la pérennité de l'éditeur.
    Ceux qui ont été victimes de ProNotes et de Cabri-géomètre[1] doivent savoir de quoi je parle (à ma connaissance, impossible d'installer Cabri proprement sous Linux ni d'étudier son code source ; malgré cela, le MÉN s'affiche fièrement comme partenaire sur le site de Cabri, hum...).

    P.S. : je ne suis pas dans le Python versus Xcas ici, j'essaie juste de rendre à César ce qui est à César et de sensibiliser l'honorable lectorat ici présent;-) à l'énorme différence entre un logiciel « juste gratuit » et un logiciel libre.

    [1] Tiens, il me semble qu'il est très lié à l'UJF de Grenoble, lui aussi, non ? Si je dis cela, c'est parce qu'Xcas, dont la licence permet d'étudier ses algorithmes contrairement à Cabri à ma connaissance, est aussi hébergé à l'UJF.
  • Merci parisse pour ces explications détaillées sur Xcas dans la HP prime qui, quand elle ne bugue pas, est sacrément rapide !
  • @parisse
    Ensuite, si vous me citez, merci de ne pas modifier ce que j'ai dit, je n'ai jamais dit matheux francais, mais matheux tout court.
    J'ai précisé que vous avez oublié un mot. Et vous ne pouvez pas parler au nom des matheux non français (dont je fais partie), puisque vous n'en êtes pas un. Les français ont une vision très particulière des maths et de l'enseignement des maths. Je vous garantie qu'aucun russe n'aura comme idée d'enseigner la programmation en cours de maths (ni en cours d'algèbre, ni en cours de géométrie). Algorithmique, version crayon+papier, oui. C'est déjà fait, cela commence en 4ieme année d'étude (CM1).
    Et pour s'initier à la programmation « générale », Python n'est pas un mauvais choix à mon avis. J'ai bien dit s'initier. Évidemment qu'il est nécessaire d'étudier d'autres langages et un peu d'architecture des ordinateurs pour quelqu'un qui se spécialise en programmation, mais là, on parle d'activités auxquelles tous les lycéens sont soumis, pas de spécialisation.
    Je ne trouve pas que ce sont les activités de spécialisation. J'aimerais que cela sera enseigné à tout le monde puisqu'on vit à l'ère du numérique. C'est ce qui est fait dans certains pays.
  • vorobichek: j'ai le sentiment que vous souffrez de ce que je qualifierais d'un complexe de patriotisme exacerbe. Je n'ai jamais indique de nationalite en parlant de matheux parce que je n'en vois aucunement la necessite, je n'ai donc pas "oublie" de mettre francais. Je ne sais pas vraiment ce qu'il en est ailleurs (dans le reste de l'OCDE en particulier), mais il me semble quand meme tres probable que d'autres pays font programmer en cours de maths des algorithmes comme la dichotomie, la methode des rectangles, le PGCD, ... Et je dis bien programmer, i.e. pas seulement ecrire au tableau un algorithme papier-crayon mais le faire executer, ce qui me semble indispensable d'une part pour motiver les eleves et d'autre part, parce que c'est souvent la qu'on s'apercoit qu'on a oublie un point important! Un peu comme dans certaines preuves ou on dit "il est evident que" alors que ca ne l'est pas...
    D'autre part, je precise pour la clarte que la 2eme citation de votre message n'est pas de moi.
  • parisse a écrit:
    Je ne sais pas vraiment ce qu'il en est ailleurs (dans le reste de l'OCDE en particulier), mais il me semble...
    Dans ce cas il faut le préciser et non parler à la place des matheux d'autres pays. Dans plusieurs pays l'informatique est enseigné à part.
    parisse a écrit:
    mais il me semble quand meme tres probable que d'autres pays font programmer en cours de maths des algorithmes comme la dichotomie, la methode des rectangles, le PGCD, ... Et je dis bien programmer, i.e. pas seulement ecrire au tableau un algorithme papier-crayon mais le faire executer, ce qui me semble indispensable d'une part pour motiver les eleves et d'autre part, parce que c'est souvent la qu'on s'apercoit qu'on a oublie un point important! Un peu comme dans certaines preuves ou on dit "il est evident que" alors que ca ne l'est pas...
    Pendant plus de 100 ans on faisait très bien sans
  • parisse a écrit:
    les maths ce n'est pas uniquement des demonstrations theoriques d'existence, c'est aussi la construction d'objets mathematiques dont on a prouve l'existence, ainsi que l'etude de l'efficacite des algorithmes de construction

    Tu as une façon de déformer mes propos qui est assez remarquable : je n'ai jamais parlé de démonstrations "théoriques d'existence" mais de démonstrations tout court !

    Pour le reste, je peux me contenter de te renvoyer à la distinction que je faisais dans mon précédent message entre faire de l'algorithmique en soi et *utiliser* l'algorithmique comme outil pour les maths (au même titre que la physique utilise les maths comme outil sans prétendre que les maths font partie de la physique). Tous tes exemples, y compris celui sur l'agreg de maths, se placent évidemment dans la 2e catégorie, contrairement à un cours d'algo qui se place dans la première.
  • vorobichek: je vous le redis encore une fois, je n'accorde aucune importance pour ce debat a la nationalite d'un mathematicien, il n'y a donc pas lieu de preciser le terme "matheux".
    Et, bien sur qu'on peut enseigner les maths comme il y a 100 ans, mais c'est un peu une forme d'autisme, et probablement le chemin le plus rapide pour faire des maths une langue morte.

    paf: juste pour preciser, quand je parle d'algorithmique je pense algorithmique des mathematiques. C'est peut-etre un peu abusif, mais les exemples que j'ai pris le montrent clairement. C'est pour enseigner ce type d'algorithmes mathematiques dans le cadre du cours de maths que je defends que l'utilisation de Xcas est pertinente, et certainement au moins autant que Python.
    Et je ne suis pas d'accord avec vous : l'algorithmique des mathematiques fait partie des mathematiques, ce n'est pas une utilisation d'une autre discipline pour faire des maths. Quand on decrit un algorithme modulaire ou p-adique par exemple, ce sont des maths. De meme quand on calcule la complexite des operations arithmetiques de base sur les polynomes, matrices, corps finis, etc. qui font partie du programme de l'option C de l'agreg.
  • @parisse, c'est vous qui parlez de la nationalité, pas moi. Ni la nationalité, ni la race, n'ont rien avoir avec les maths. Par contre la culture de chaque pays - si. La culture mathématique française est très spéciale. Ayant étudié dans deux pays très différents, je peux le confirmer. Mais amis et collègues, y compris français de nationalité, sont de même avis. Soit parce qu'ils ont étudié dans une autre culture mathématique, soit parce qu'ils ont enseigné à l’étranger les maths.

    Quand vous pensez que les matheux des différents pays sont de même avis que vous, vous vous appuit uniquement sur votre expérience purement française. Or, je l'ai dit déjà deux fois, dans beaucoup de pays le cours d'informatique est séparé du cours de maths. Et les matheux de ces pays sont très contents. Regardez les pays de l'Europe de l'est: l'informatique est un cours à part entier. Le niveaux des pays est très supérieur au niveau français. Il y a aussi les géants du numérique dans ces pays. Par exemple Avast pour le République tchèque, un énorme marché IT en Pologne, Yandex/Kaspersky Lab/Promt/ABBYY en Russie. Je n'ai pas l'information pour USA ou Chine, mais je ne serais pas étonné que l'informatique est enseigné dans un cours spécial.
  • ??? C'est vous vorobichek qui parlez sans arret de matheux "francais" ou "russes" ou autres, pas moi! Qui nous a presente des classements en nombre de medailles obtenus a des olympiades censes prouver que les eleves francais sont a la traine sur les russes et/ou je ne sais plus quelles autres pays? Au passage, je ne suis pas vraiment convaincu que ca veuille dire grand chose, surtout si on fait une elementaire regle de trois sur la population...

    Ensuite, vous pensez vraiment que je ne connais rien d'autre que le systeme educatif francais, alors que mon systeme de calcul formel est utilise soit directement, soit par l'intermediaire de Geogebra ou de la HP Prime dans pas mal de pays? Et il peut aussi m'arriver de discuter avec des collegues qui n'ont pas ete formes dans le systeme francais...

    Je n'ai jamais dit que "les" matheux (sous-entendu tous les matheux) de differents pays etaient du meme avis que moi, je dis qu'il existe "des" matheux (dans divers pays) qui integrent les outils de calcul dans l'enseignement des maths a tous niveaux, y compris les aspects algorithmiques des maths, et c'est dans ce cadre (qui est pour l'essentiel celui de l'enseignement de l'algorithmique en France aujourd'hui) que je defends la possibiilite pour les profs de maths de choisir mon logiciel Xcas.

    Concernant l'enseignement de l'informatique comme une discipline a part, j'y suis favorable (et j'ai clairement indique que je n'y defends nullement l'utilisation de Xcas! Je pense que la aussi le choix devrait exister entre plusieurs langages, par exemple Javascript, mais cela ne me concerne plus vraiment). Mais cela ne doit en rien empecher l'enseignement de l'aspect algorithmique des maths ainsi que l'apprentissage et l'utilisation des outils de calcul dans le cours de maths.
  • Scratch vs Python : c'est assez basique !

    Python-compared-to-scratch-featured.jpg
Connectez-vous ou Inscrivez-vous pour répondre.
Success message!