Partagez
Voir le sujet précédentAller en basVoir le sujet suivant
e1654d
Niveau 6

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par e1654d le Dim 25 Mar 2018 - 23:35
Ce que je comprends dans l'évolution du programme, et en lisant les docs de l'IG, c'est qu'ils entendent bannir l'emploi systématique du triptyque input/traitement/print (ou équivalent) qui avait cours auparavant, et non pas les fonctions input et print en tant que telles quand c'est l'objet du programme. Par exemple, le programme évoqué ci-dessus de l'année de naissance et de l'âge me parait bien, si on décide de traiter la question des interfaces texte et des conversions de type
Code:

an_n = int(input("Quelle est ton année de naissance ?"))
print("Au 31 décembre, tu auras", 2018-an_n, "ans")
Et ça n'est pas pertinent, informatiquement parlant, de définir une fonction pour réaliser une opération aussi simple que la soustraction (on peut le faire pour des raisons pédagogiques, pour présenter les fonctions en Python, par exemple, encore que je ne suis pas sûr que ça soit le meilleur exemple).

C'est toujours difficile de trouver les exemples introductifs : trop compliqué et l'esprit est focalisé sur la difficulté du problème ; trop simple et on ne voit pas pourquoi on s'embête à le programmer.

Pour ma part, avec des élèves qui ont pourtant plus de math dans les pattes, je reste modeste : le tout premier exercice de mon premier TP en sup consiste à recopier un court programme Python (je ne le donne pas en pseudo-langage) à peine plus compliqué que celui ci-dessus, et tous mes élèves n'y arrivent pas du premier coup ; le deuxième consiste à recopier une fonction qui calcule la valeur absolue d'un entier ; le troisième c'est d'écrire (là je ne donne pas le code) une fonction qui donne l'aire d'un carré dont on a retiré un disque inscrit (exercice qui me vient de la fac, et je dois dire que contrairement à ce que j'ai vécu là bas, personne parmi mes étudiants de CPGE n'a essayé de mettre pi comme paramètre) ; ensuite on traite une figure un peu plus compliquée…

Quant à la question : pourquoi est-ce qu'avant on faisait faire systématiquement du input/traitement/print ? Franchement, à part une contrainte technique (pouvoir faire ça sur calculatrice ?), je ne vois pas bien. Ça serait intéressant de savoir qui avait rédigé cette partie de l'ancien programme et pourquoi ils ont fait ça ainsi. D'un point de vue purement algorithmique (qui était celui employé alors), ça me parait vraiment idiot ; la présentation prévue pour le bac 2018 est bien meilleure et se concentre vraiment sur l'aspect algo.
avatar
neo-fit
Niveau 8

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par neo-fit le Lun 26 Mar 2018 - 0:00
Le programme de 1s écrit dans la partie "suites" :
Mettre en œuvre des algorithmes permettant :
- d'obtenir une liste de termes d'une suite
- de calculer un terme de rang donné
Cette partie s'est traduite dans l'écriture des algorithmes par la position de "afficher" dans l'exécution.
Dans la nouvelle écriture des algorithmes, l'instruction "afficher" disparaît.
Comment concilier maintenant cette partie du programme avec la nouvelle écriture ?

avatar
Balthazaard
Expert spécialisé

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par Balthazaard le Lun 26 Mar 2018 - 0:35
@neo-fit a écrit:Le programme de 1s écrit dans la partie "suites" :
Mettre en œuvre des algorithmes permettant :
- d'obtenir une liste de termes d'une suite
- de calculer un terme de rang donné
Cette partie s'est traduite dans l'écriture des algorithmes par la position de "afficher" dans l'exécution.
Dans la nouvelle écriture des algorithmes, l'instruction "afficher" disparaît.
Comment concilier maintenant cette partie du programme avec la nouvelle écriture ?


Tu n'auras jamais cette réponse car personne ne sait où nous naviguons...Nous devons faire de l'algorithmique ce qui ne sous tend aucun langage précis, ni même d'ailleurs de machine. Mais il faut écrire cela dans un langage au choix qui DOIT être python, donc il faut se conformer au type de langage qu'est Python...seulement programmer et faire tourner sur une machine (encore que vice suprême, on puisse imposer un langage sans faire tourner quoi que ce soit) sans interaction avec un utilisateur cela craint quand même un peu...donc...on est ramené à ta question.
Pour les grands esprits, il faut faire de nos élèves de petits théoriciens programmeurs en python, l'interface homme machine est renvoyé sur un autre plan.
Tout cela pour que la micro fraction qui ira en cpge ne subisse pas de crise œdipienne quand on leur parlera de "fonction" informatique....et si ils font du java où il n'y a pas en standard de fonctions, ils feront comment?


Dernière édition par Balthazaard le Lun 26 Mar 2018 - 1:24, édité 1 fois
avatar
VinZT
Grand sage

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par VinZT le Lun 26 Mar 2018 - 1:17
C’est impossible, ils ont bien dit « le concept universel de fonction ». Manquerait plus qu’il y ait des exceptions à l’universel Very Happy

_________________
« Il ne faut pas croire tout ce qu'on voit sur Internet » Victor Hugo.
« Le con ne perd jamais son temps. Il perd celui des autres. » Frédéric Dard
« Ne jamais faire le jour même ce que tu peux faire faire le lendemain par quelqu'un d'autre » Pierre Dac
« Je n'ai jamais lâché prise !» Claude François
« Un économiste est un expert qui saura demain pourquoi ce qu'il avait prédit hier ne s'est pas produit aujourd'hui. » Laurence J. Peter
e1654d
Niveau 6

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par e1654d le Lun 26 Mar 2018 - 7:45
Pour la suite de Syracuse partant de u0=10, par exemple
Code:

def syracuse(n) :
  """Renvoie le terme de rang n de la suite de Syracuse de terme initial 10"""
  uk = 10
  for k in range(0, n) :
    if uk % 2 == 0 :
       uk = uk // 2
    else :
       uk=  3 * uk + 1
  return uk
et puis si on veut en avoir un à l'écran on fait syracuse(4) par exemple dans la console.

Pour avoir une liste, il faut… une liste, ce qui est en effet un peu bizarre puisqu'elles ne sont pas mentionnées en tant que telles dans le programme.
Avoir écrit une fonction syracuse permet d'écrire
Code:

def syracuse_tous(n) :
    """Renvoie la liste des termes de rangs 0 à n exclu de la suite de Syracuse de terme initial 10"""
    return [syracuse(k) for k in range(0, n)]
On peut ensuite discuter sur l'efficacité d'un tel procédé ; proposer une solution qui ne recommence pas les calculs à chaque fois (c'est souvent l'exemple que je prends pour introduire la complexité).


Tout cela pour que la micro fraction qui ira en cpge ne subisse pas de crise œdipienne quand on leur parlera de "fonction" informatique....et si ils font du java où il n'y a pas en standard de fonctions, ils feront comment?
Le même problème se pose en fac ! Je pense d'ailleurs qu'il y est plus important (en CPGE, ce sont les élèves faibles qui ont des problèmes ; les "bons" comprennent tout de suite l'intérêt des fonctions et savent immédiatement transposer ce qu'ils ont vu par exemple avec Algobox ou leurs calculatrices en Python ; le problème ce sont les faibles, c'est déjà difficile pour eux de retenir qu'en Python on ne met pas de majuscule à if, while, for contrairement à certains langages de calculatrices).
En Java il n'y a pas de fonctions, mais il y a des méthodes, c'est pas mal non plus…

Et puis il n'y a pas que la poursuite d'études : en soi, apprendre de la programmation comme il est prévu dans le nouveau programme de seconde, c'est scientifiquement plus pertinent que dans l'ancien (qui ne faisait que de l'algorithmique du reste). Après, est-ce que c'est judicieux de faire faire ça dans un cours de math par des professeurs de math, je ne suis pas sûr : il y a en effet déjà beaucoup à faire. Mais les choses bougent : la création d'une spécialité informatique rend moins incertaine qu'avant le recrutement de professeurs spécialistes.


Dernière édition par e1654d le Lun 26 Mar 2018 - 16:45, édité 1 fois
avatar
Dedale
Niveau 9

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par Dedale le Lun 26 Mar 2018 - 11:48
@neo-fit a écrit:Tiens maintenant que Casio a pu vendre des calculatrices mode examen dont on va transitoirement se passer, voilà que des calculatrices collège et lycée sont mises à jour pour se mettre à l'algorithmique et la programmation, un  nouveau bon moyen d'écouler quelques modèles.
http://www.casio-education.fr/articles/cap-vers-la-programmation

J'aurais bien aimé tester, mais l'offre ne s'adresse qu'aux profs de Lycée / LP. Est-ce que quelqu'un sait si Python sera porté sur les fx-cg20 dont l'OS est très proche des Graph90+E ( fx-cg50 sous la dénomination internationale) ?
avatar
neo-fit
Niveau 8

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par neo-fit le Lun 26 Mar 2018 - 21:33
Merci e1654d pour l'exemple avec la suite de Syracuse mais en fait, ma question ne faisait pas référence à Python mais à la nouvelle écriture des algorithmes, celle qui abandonne entrée/affichage et qui ne fait pas non plus usage de return.
Pour adapter les énoncés en vigueur jusque là, cela devient souvent "à la fin de l'exécution que contient la variable …… si avant l'exécution la variable …… contient ……".
@e1654d a écrit:Mais les choses bougent : la création d'une spécialité informatique rend moins incertaine qu'avant le recrutement de professeurs spécialistes.
Vous pensez à la création de l'option informatique du capes de maths ou à des concours capes/agreg informatique ?
avatar
dami1kd
Habitué du forum

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par dami1kd le Lun 26 Mar 2018 - 21:40
@e1654d a écrit:Pour la suite de Syracuse partant de u0=10, par exemple
Code:

def syracuse(n) :
  """Renvoie le terme de rang n de la suite de Syracuse de terme initial 10"""
  uk = 10
  for k in range(0, n) :
    if uk % 2 == 0 :
       uk = uk // 2
    else :
       uk=  3 * uk + 1
  return uk
et puis si on veut en avoir un à l'écran on fait syracuse(4) par exemple dans la console.

Pour avoir une liste, il faut… une liste, ce qui est en effet un peu bizarre puisqu'elles ne sont pas mentionnées en tant que telles dans le programme.
Avoir écrit une fonction syracuse permet d'écrire
Code:

def syracuse_tous(n) :
    """Renvoie la liste des termes de rangs 0 à n exclu de la suite de Syracuse de terme initial 10"""
    return [syracuse(k) for k in range(0, n)]
On peut ensuite discuter sur l'efficacité d'un tel procédé ; proposer une solution qui ne recommence pas les calculs à chaque fois (c'est souvent l'exemple que je prends pour introduire la complexité).

En formation dans mon académie, on a proposé cette solution :
Code:

def syracuse(u) :
    liste = [u]
    while u != 1 :
        if u % 2 == 0 :
            u = u // 2
        else :
            u = u * 3 + 1
        liste.append(u)
    return liste

http://maths.spip.ac-rouen.fr/spip.php?rubrique149
e1654d
Niveau 6

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par e1654d le Lun 26 Mar 2018 - 21:56
@neo-fit a écrit:Merci e1654d pour l'exemple avec la suite de Syracuse mais en fait, ma question ne faisait pas référence à Python mais à la nouvelle écriture des algorithmes, celle qui abandonne entrée/affichage et qui ne fait pas non plus usage de return.
Pour adapter les énoncés en vigueur jusque là, cela devient souvent "à la fin de l'exécution que contient la variable …… si avant l'exécution la variable …… contient ……".
Ah, oui, à la façon "bac 2018". Effectivement, ça me parait délicat de traiter avec ce formalisme une question du type "produire la liste des n premiers termes de la suite" parce qu'il faut forcément une structure de liste dans le pseudo-langage et donc de quoi la manipuler, ce qui ne me semble pas être le cas et je vois mal qu'on demande aux candidats du bac d'inventer eux-mêmes une telle structure (ça serait délirant comme attente).
avatar
William Foster
Neoprof expérimenté

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par William Foster le Lun 26 Mar 2018 - 22:19
@e1654d a écrit:... je vois mal qu'on demande aux candidats du bac d'inventer eux-mêmes une telle structure (ça serait délirant comme attente).

Brevet 2017 : on attendait que des collégiens "inventent" la résolution d'équations-produits qui venait d'être retirée du programme, et qu'ils n'avaient donc pas vue...

Même les épreuves "terminales" deviennent des expérimentations hasardeuses.

_________________
Tout le monde me dit que je ne peux pas faire l'unanimité.
"Il ne faut pas voir le mal partout où il est." Marie-Martine Schyns, ministre belge de l'enseignement obligatoire
Vérificateur de miroir est un métier que je me verrais bien faire, un jour.
e1654d
Niveau 6

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par e1654d le Lun 26 Mar 2018 - 22:21
C'est-à-dire ? Exploiter l'intégrité ?
avatar
Anaxagore
Guide spirituel

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par Anaxagore le Lun 26 Mar 2018 - 22:39
Intégrité qu'ils n'ont certainement jamais apprise et encore moins en ces termes.

On leur demande une sorte de devinette mathématoïde.

_________________
"De même que notre esprit devient plus fort grâce à la communication avec les esprits vigoureux et raisonnables, de même on ne peut pas dire combien il s'abâtardit par le commerce continuel et la fréquentation que nous avons des esprits bas et maladifs." Montaigne
avatar
William Foster
Neoprof expérimenté

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par William Foster le Lun 26 Mar 2018 - 23:23
@e1654d a écrit:C'est-à-dire ? Exploiter l'intégrité ?

Sujet :
2. On donne l’expression E = (3x +8)² −64.
a. Développer E.
b. Montrer que E peut s’écrire sous forme factorisée : 3x(3x +16).
c. Résoudre l’équation (3x +8)² −64 = 0.


On est d'accord que la méthode experte de résolution de l'équation produit n'est pas indispensable pour trouver les soluces (ou une soluce, puisqu'une seule suffisait pour avoir tous les points à la question), mais c'est trèèèès limite.
Face au tollé, une IPR a tenté de justifier le truc en disant que le but, en fait, était de déterminer si les élèves étaient capables d'inventer une méthode de résolution efficace. Quelqu'un de moins autorisé à penser aurait pu croire que la personne qui a fait le sujet n'était simplement pas au courant des modifications du programme de 3ème. Mais non : c'était une question ouverte d'inventivité.

La même qui quelques jours avant avait soulevé des interrogations indignées dans le sujet de Pondichéry.

Bref, tu supprimes un chapitre et tu mesures la capacité des élèves à se débrouiller sans... Tu pourrais faire la même chose avec des listes dont ils ignorent l'existence. En plus, certains savent qu'il y a des listes en info, pisque y'en a sur Scratch !

_________________
Tout le monde me dit que je ne peux pas faire l'unanimité.
"Il ne faut pas voir le mal partout où il est." Marie-Martine Schyns, ministre belge de l'enseignement obligatoire
Vérificateur de miroir est un métier que je me verrais bien faire, un jour.
avatar
JPhMM
Demi-dieu

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par JPhMM le Lun 26 Mar 2018 - 23:30
Question ouverte d'inventivité mais saucissonnée du début à la fin.


_________________
Labyrinthe où l'admiration des ignorants et des idiots qui prennent pour savoir profond tout ce qu'ils n'entendent pas, les a retenus, bon gré malgré qu'ils en eussent. D'ailleurs, il n'y a point de meilleur moyen pour mettre en vogue ou pour défendre des doctrines étranges et absurdes, que de les munir d'une légion de mots obscurs, douteux , et indéterminés. Ce qui pourtant rend ces retraites bien plus semblables à des cavernes de brigands ou à des tanières de renards qu'à des forteresses de généreux guerriers. Que s'il est malaisé d'en chasser ceux qui s'y réfugient, ce n'est pas à cause de la force de ces lieux-là, mais à cause des ronces, des épines et de l'obscurité des buissons dont ils sont environnés. Car la fausseté étant par elle-même incompatible avec l'esprit de l'homme, il n'y a que l'obscurité qui puisse servir de défense à ce qui est absurde. — John Locke

Je crois que je ne crois en rien. Mais j'ai des doutes. — Jacques Goimard
avatar
Moonchild
Expert spécialisé

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par Moonchild le Lun 26 Mar 2018 - 23:33
@Call_BB5A a écrit:Le fiasco est déjà bien enclenché malheureusement : les aménagements à destination des premières n'étant pas sortis, l'affaire est tombée à l'eau pour le BAC de 2020.

D'ailleurs, quelqu'un aurait-il des infos récentes plus ou moins officieuses concernant les aménagements du programme de première à la rentrée 2018 ? Vont-ils passer à la trappe dans l'indifférence la plus totale comme si les programmes de seconde n'avaient pas été modifiés ou vont-ils nous être révélées dans un BO publié quelque part entre la fin du mois de juin et le début du mois de novembre ?
avatar
William Foster
Neoprof expérimenté

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par William Foster le Lun 26 Mar 2018 - 23:46
@Moonchild a écrit:
@Call_BB5A a écrit:Le fiasco est déjà bien enclenché malheureusement : les aménagements à destination des premières n'étant pas sortis, l'affaire est tombée à l'eau pour le BAC de 2020.

D'ailleurs, quelqu'un aurait-il des infos récentes plus ou moins officieuses concernant les aménagements du programme de première à la rentrée 2018 ? Vont-ils passer à la trappe dans l'indifférence la plus totale comme si les programmes de seconde n'avaient pas été modifiés ou vont-ils nous être révélées dans un BO publié quelque part entre la fin du mois de juin et le début du mois de novembre ?

J'avais déjà parié sur une sortie tardive, à l'instar de celle sur les nouveaux programmes avec la réforme du collège, avec des modifications fin septembre (3 semaines après avoir commencé à enseigner lesdits programmes).
Et là, en plus, les écriveurs de programmes doivent trouver quoi mettre dans les différentes options/spécialités/colorations de la nouvelle réforme du lycée. Je pencherais donc pour une sortie très tardive d'un truc écrit avec les pieds, dans le bus, au dos d'une serviette en papier portant logo d'un café sis au coin de la rue du ministère.

Me tromper me ferait grand'plaisir Razz

_________________
Tout le monde me dit que je ne peux pas faire l'unanimité.
"Il ne faut pas voir le mal partout où il est." Marie-Martine Schyns, ministre belge de l'enseignement obligatoire
Vérificateur de miroir est un métier que je me verrais bien faire, un jour.
avatar
neo-fit
Niveau 8

Re: (maths) Formation aux aménagements du programme de seconde : algo/programmation

par neo-fit le Dim 15 Avr 2018 - 9:48
@e1654d a écrit:
Quant à la question : pourquoi est-ce qu'avant on faisait faire systématiquement du input/traitement/print ? Franchement, à part une contrainte technique (pouvoir faire ça sur calculatrice ?), je ne vois pas bien. […]
D'un point de vue purement algorithmique (qui était celui employé alors), ça me parait vraiment idiot ; la présentation prévue pour le bac 2018 est bien meilleure et se concentre vraiment sur l'aspect algo.
@neo-fit a écrit:Le programme de 1s écrit dans la partie "suites" :
Mettre en œuvre des algorithmes permettant :
- d'obtenir une liste de termes d'une suite
- de calculer un terme de rang donné
Cette partie s'est traduite dans l'écriture des algorithmes par la position de "afficher" dans l'exécution.
Dans la nouvelle écriture des algorithmes, l'instruction "afficher" disparaît.
Comment concilier maintenant cette partie du programme avec la nouvelle écriture ?
A cause de cet exemple extrait des programmes de l'époque (et encore en vigueur), mais aussi des sujets de bac tous rédigés selon entrée/traitement/sortie et où les questions se préoccupaient de savoir ce qui serait affiché (être capable de donner la valeur mais aussi d'identifier la variable affichée), je me dis que ce ne sont pas des contraintes techniques qui ont motivé cette façon de faire mais bien une volonté délibérée car rien n'empêchait d'utiliser la présentation "bac 2018".
Si c'était un point de vue "idiot", c'est vraiment regrettable d'avoir démarré ainsi et d'avoir laissé faire si longtemps.

@e1654d a écrit:
Ça serait intéressant de savoir qui avait rédigé cette partie de l'ancien programme et pourquoi ils ont fait ça ainsi.
Oui, ce serait intéressant en effet.
Quelle garantie avons-nous cette fois ? Ce type de reproche ne sera-t-il pas de nouveau de mise dans quelques années ?
Comment avoir confiance quand on impose maintenant de manière précipitée, un changement d'écriture des algorithmes pour les 1° et T° qui n'est plus compatible avec une partie du programme en vigueur ?
On dirait que des décisions ont été prises sans même prendre la peine de vérifier la cohérence des demandes.
Et ça donne bien envie de penser comme :
@Balthazaard a écrit:
Tu n'auras jamais cette réponse car personne ne sait où nous naviguons...Nous devons faire de l'algorithmique ce qui ne sous tend aucun langage précis, ni même d'ailleurs de machine. Mais il faut écrire cela dans un langage au choix qui DOIT être python, donc il faut se conformer au type de langage qu'est Python...seulement programmer et faire tourner sur une machine (encore que vice suprême, on puisse imposer un langage sans faire tourner quoi que ce soit) sans interaction avec un utilisateur cela craint quand même un peu...donc...on est ramené à ta question.
[…]

@e1654d a écrit:Ce que je comprends dans l'évolution du programme, et en lisant les docs de l'IG, c'est qu'ils entendent bannir l'emploi systématique du triptyque input/traitement/print (ou équivalent) qui avait cours auparavant, et non pas les fonctions input et print en tant que telles quand c'est l'objet du programme.
Quand on lit le programme de 2° sans être spécialiste, cette évolution n'est pas claire. Elle apparaît plus clairement avec la nouvelle écriture "bac 2018".
Toutefois, d'après les interventions de L. Chéno, j'avais plutôt compris que entrée/sortie était à bannir systématiquement et plus exit les programmes dont ces fonctions seraient l'objet.

edupython:
A propos d'Edupython, peu apprécié par L. Chéno, il apparaît dans au moins une formation magistère (sont-elles toutes les mêmes ?) comme une des versions possibles à installer donc bon

@e1654d a écrit:Pour ma part, avec des élèves qui ont pourtant plus de math dans les pattes, je reste modeste : le tout premier exercice de mon premier TP en sup consiste à recopier un court programme Python (je ne le donne pas en pseudo-langage) à peine plus compliqué que celui ci-dessus, et tous mes élèves n'y arrivent pas du premier coup ; le deuxième consiste à recopier une fonction qui calcule la valeur absolue d'un entier ; le troisième c'est d'écrire (là je ne donne pas le code) une fonction qui donne l'aire d'un carré dont on a retiré un disque inscrit (exercice qui me vient de la fac, et je dois dire que contrairement à ce que j'ai vécu là bas, personne parmi mes étudiants de CPGE n'a essayé de mettre pi comme paramètre) ; ensuite on traite une figure un peu plus compliquée…
1er TP pas facile pour des élèves de CPGE, alors en 2° …
Les malheureuses heures disponibles pour les mathématiques laissent-elles le loisir d'en consacrer à recopier du code python quand les opérations avec les nombres relatifs posent déjà autant de problème ?
Voir le sujet précédentRevenir en hautVoir le sujet suivant
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum