- ycombeMonarque
VinZT a écrit:Lors de ma séance de dessins de drapeaux, hier (ICN seconde, au moins trois semaines qu'on manipule turtle, et on fait du python depuis la rentrée de septembre), je vois un élève avec un code assez long. Je m'approche et regarde :
for i in range(1):
et là une chiée d'instructions (au moins 20 lignes) avec des copier-coller
Lors de la même séance, un petit tout gentil me demande, anxieux, s'il y a toujours de la programmation en STMG parce qu'en fait il n'aime pas trop ça.
Votre mission, si vous l'acceptez: programmer ceci en utilisant une boucle de type for.
...
Mission: accomplie.
- cassiopellaNiveau 9
Je suis désolée, mais python c'est vraiment facile et intuitif (je parle des langages de programmation qui permettent "tout faire"). Ton problème vient des parties séloulignées:Moonchild a écrit:
... et en plus je reste convaincu que le choix de Python va rajouter une couche de difficulté supplémentaire.
Je n'ai que des connaissances très sommaires en Python et j'ai récemment fait le test de me confronter à quelques programmes traduisant dans ce langage des algorithmes dont la trame en "langage naturel" ne me pose pas de problème ; bilan : en dehors de ceux qui sont triviaux, je n'arrive pas vraiment à lire les programmes sans que cela me demande d'importants efforts car la syntaxe ne me semble pas du tout "transparente" contrairement au Pascal que j'avais brièvement utilisé dans mes études et qui ne m'avait posé aucune difficulté d'immersion.
Alors que je maîtrise les notions mathématiques sous-jacentes ...
1) Tes connaissances sont sommaires et, j'imagine, tournent autours de maths. Par exemple tu peux calculer la puissance, mais tu ne pourras pas prendre un fichier avec extension ".machinbidule" et en extraire l'information.
2) Tu as utilisé trop brièvement Pascale, tu le reconnais. En plus, j'imagine, c'était ton premier langage de programmation et tu étais jeune. Bref, tu n'a pas compris la logique de programmation. Attention! Ne pas confondre avec la logique mathématique. Ce n'est pas la même chose et il y a des cas, quand c'est carrément illogique et stupide (VBA, formules Excel, Acces...).
3) On peut être bon en maths et ne rien comprendre en programmation. On peut être très mauvais en maths et être un super codeur.
Python, c'est un langage. Le français est logique pour toi, mais l'anglais non. L'anglais est logique pour les anglais, mais pas pour un français. Un tant que russe (ma langue maternelle), je trouve que la logique des articles est trop absurde!!! Alors que les inclinions c'est intuitif!
Bref, il faut apprendre python comme une langue. Comme une langue à part entière, Python suit sa logique.
P.S. j'adore le français! Et comparé à l'anglais, je le trouve super logique et facile... mise à part ces foutus articles!
La résolution de l'équation est en 3 étapes:Pat B a écrit:Je viens de passer 10 minutes à expliquer à une élève (gentille, bosseuse, qui veut aller en spé math et faire médecine plus tard... mais qui ne comprend pas tout), que si on a 3 + p = -2, on ne trouve pas p = -2/3... Ce n'est que la 50ème équation au moins qu'on fait depuis le début de l'année, on a commencé l'année par des rappels là-dessus...
1) on pose l'équation (bref... on la réécrit le plus souvent).
2) on isole les inconnus pour trouver les racines
3) on substitue les racines trouvées dans 1) et on s'assure qu'ils vérifient l'égalité dans 1)
3 bis) Facultatif : si dans 3) l'égalité n'est pas vérifiée, on recommence le 2)
4) Si 3) ok, on écrit la réponse.
Est-ce que l'étape 3) est systématique? Tu dis que vous avez fait 50 équations, est-ce que l'étape 3) était répété 50 fois?
Euh? Pour chaque M&M dans le paquet des M&Ms, je les aligne à la queuleuleu. Puis je les mange l'un après l'autre! C'est super naturel...(Et Python a vraiment un souci avec les boucles for)
Pour pouvoir faire ce que tu demandes en python, il faut une centaine d'heures de pratique minimum. C'était le cas?Badiste75 a écrit:Moi j’ai 4 de moyenne à mon devoir de synthèse de vrai niveau Seconde (à savoir résolution de problèmes!) Ça culmine à 11/20! Inutile de préciser que la notation est généreuse (du style de celle du bac même si j’accorde plus de points aux questions qui demandent du boulot, ce qui n’est pas toujours le cas au bac...) Le sujet portait sur Python (affectations, type de variables, programme de calcul avec conjecture à démontrer avec le calcul littéral, cad développements, identités remarquables)
J'ai enseigné python à mes collègues (matheux, ingénieurs et qui savent programmer). On a mis 20h juste pour apprendre la syntaxe. Les jeunes étaient performant, les "vieux" étaient trop habitué au langage qu'ils connaissaient.
Bref, tes exigences sont trop élevées. Il faut se limiter à l'affectation, type de variables, objets utilisés dans python. Il y a largement de quoi faire!
_________________
Moi et l'orthographe, nous ne sommes pas amis. Je corrige les erreurs dès que je les vois. Je m'excuse pour celles que je ne vois pas...
- PrezboGrand Maître
cassiopella a écrit:
Tu as utilisé trop brièvement Pascale, tu le reconnais.
On idéalise toujours ses flirts de jeunesse.
- ycombeMonarque
Ceux qui ont un peu de mal en python peuvent méditer sur les koans pour atteindre l'illumination.
https://github.com/gregmalcolm/python_koans/wiki
https://github.com/gregmalcolm/python_koans/wiki
_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".
Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
- snoopÉrudit
Bienvenue à la première promotion de la réforme du collège ! J'ai eu des élèves de collège ces deux dernières années en cours particuliers. Je plaignais de tout mon cœur les collègues de lycée.Badiste75 a écrit:Moi j’ai 4 de moyenne à mon devoir de synthèse de vrai niveau Seconde (à savoir résolution de problèmes!) Ça culmine à 11/20! Inutile de préciser que la notation est généreuse (du style de celle du bac même si j’accorde plus de points aux questions qui demandent du boulot, ce qui n’est pas toujours le cas au bac...) Le sujet portait sur Python (affectations, type de variables, programme de calcul avec conjecture à démontrer avec le calcul littéral, cad développements, identités remarquables), géométrie sans repère, avec repère (nature d’un quadrilatère), mise en équation d’un pb d’aires avec lecture des solutions sur un écran de calcul formel, démonstration d’une équivalence par calcul algébrique, lectures graphiques et résolutions d’équation par factorisation pour déterminer par calcul l’intersection d’une parabole et d’une droite, pb de bénéfice avec détermination du maximum à la calculatrice. Le tout en deux heures... En même temps c’etait couru d’avance, les IE techniques décontextualisées sont déjà mauvaises. J’ai décidé de ne surtout pas baisser mes exigences vu le niveau de la spé et ceci malgré une classe affreusement faible.
En ce moment, je fais de la résolution de systèmes par substitution et combinaison (je me demande même si ces méthodes sont au programme vu qu’on en parle surtout en lien avec les équations de droite). Ça patauge grave. Ce qui me sidère le plus est le niveau en calcul mental : aucun automatisme. Les bons (et là je suis effrayé!) me disent même que les profs de collège autorisaient tjs la calculatrice!! Si c’est le cas, grosse faute professionnelle de la part des collègues de collège qui savent pourtant que la finalité n’est pas uniquement le DNB. Quant aux activités mentales elles ont du être inexistantes.
Personne ne commente les programmes de Mathématiques ? Pour ma part, je suis choquée par les premières notions abordées en seconde. C'est le programme de troisième de ma jeunesse. A l'époque, impossible de passer en seconde sans maîtriser ces notions. La géométrie dans l'espace semble passée de mode, pourquoi ? Et la trigonométrie disparaît en seconde pour réapparaître en première ou bien j'ai mal lu ?
En première, toujours la stupidité du calcul différentiel introduit avant la notion de limite pour être sûr que l'élève n'y comprendra rien et l'exponentielle arrive là comme un chien dans un jeu de quille. A ce compte là, pourquoi pas le logarithme népérien en première aussi ? Nous ne sommes plus à une incohérence près.
Je me demande s'il y a encore une corrélation entre ce programme et les mathématiques.
- ben2510Expert spécialisé
Le logarithme on pourrait le faire en troisième.
Sur les divers avis concernant la faisabilité du programme d'algorithmique, j'ai l'impression que les intervenants sont très ambitieux, et j'ai personnellement une lecture beaucoup plus modeste des attendus, ce qui explique les avis divergents.
[mode avis personnel]
Il me semble que l'algorithmique, dans le cadre du programme de maths, doit mettre en œuvre les constructions de base : séquence, affectation, boucle, alternative, au service de situations mathématiques. Il ne me semble pas utile, en seconde, de demander aux élèves de concevoir des algorithmes, mais seulement de comprendre et d'exécuter à la main des algorithmes déjà écrits ; évidemment on peut poser quelques questions autour de la modification de programmes déjà donnés, mais l'essentiel à mon avis est la lecture.
[/mode avis personnel]
Sur les divers avis concernant la faisabilité du programme d'algorithmique, j'ai l'impression que les intervenants sont très ambitieux, et j'ai personnellement une lecture beaucoup plus modeste des attendus, ce qui explique les avis divergents.
[mode avis personnel]
Il me semble que l'algorithmique, dans le cadre du programme de maths, doit mettre en œuvre les constructions de base : séquence, affectation, boucle, alternative, au service de situations mathématiques. Il ne me semble pas utile, en seconde, de demander aux élèves de concevoir des algorithmes, mais seulement de comprendre et d'exécuter à la main des algorithmes déjà écrits ; évidemment on peut poser quelques questions autour de la modification de programmes déjà donnés, mais l'essentiel à mon avis est la lecture.
[/mode avis personnel]
_________________
On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison. Henri Poincaré La notion d'équation différentielle est le pivot de la conception scientifique du monde. Vladimir Arnold
- AnaxagoreGuide spirituel
Prezbo a écrit:cassiopella a écrit:
Tu as utilisé trop brièvement Pascale, tu le reconnais.
On idéalise toujours ses flirts de jeunesse.
_________________
"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
"Woland fit un signe de la main, et Jérusalem s'éteignit."
"On déclame contre les passions sans songer que c'est à leur flambeau que la philosophie allume le sien." Sade
- ycombeMonarque
Non. Python n'est pas plus facile ni intuitif qu'un autre. Pour quelqu'un de ma génération qui a vécu l'évolution des langages (et des modes), Python n'est qu'un langage parmi d'autres, avec ses défauts et ses qualités. Je dirais comme ESR que si le but c'est d'apprendre à programmer, il faut certainement commencer quelque part (et je ne suis pas sûr que Python soit un si bon choix que cela pour ça) mais en gardant en tête qu'il va aussi falloir aller voir ailleurs.cassiopella a écrit:
Je suis désolée, mais python c'est vraiment facile et intuitif (je parle des langages de programmation qui permettent "tout faire").
http://www.catb.org/esr/faqs/hacker-howto.html#skills1ESR a écrit:
It's best, actually, to learn all five of Python, C/C++, Java, Perl, and LISP. Besides being the most important hacking languages, they represent very different approaches to programming, and each will educate you in valuable ways.
Il y a 20 ans, c'était Java qu'il fallait absolument enseigner et on a dégoûté des générations d'étudiants à leur faire du java dès la première année de licence. Il me semble qu'on recommence les mêmes erreurs avec Python. Pour moi, ce sont des langages trop complets et trop abstraits pour débuter. Les élèves confondent l'IDE avec le langage et ne voient pas ce qu'est un programme (non, ce n'est pas un bout de code dans un IDE).
Le problème c'est le papillon qui a oublié qu'il a été une chenille. Les gens qui écrivent les programmes aiment Python mais s'ils aiment Python, c'est peut-être bien parce qu'ils n'ont pas commencé avec.
_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".
Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
- Badiste75Habitué du forum
D’accord avec la conclusion d’Ycombe. D’ailleurs, elle est aussi valable pour les autres parties des programmes...
- ycombeMonarque
La conclusion m'a été inspirée par ce joli texte:
https://3starlearningexperiences.wordpress.com/2019/01/22/the-butterfly-who-denied-ever-being-a-caterpillar-a-modern-day-educational-fable/
https://3starlearningexperiences.wordpress.com/2019/01/22/the-butterfly-who-denied-ever-being-a-caterpillar-a-modern-day-educational-fable/
_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".
Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
- Call_BB5ANiveau 5
Dans le cas de CPython, un ensemble est en gros un tableau de couples (hash, pointeur d'objet référencé), alors qu'une liste est un tableau de (pointeur d'objet référencé). Ce qui fait que le parcours complet d'un ensemble n'est pas beaucoup plus coûteux que celui d'une liste, la valeur de hachage étant ignorée. La seule différence notable, est que pour l'ensemble, certains pointeurs peuvent être nuls, il faut alors chercher l'élément non nul suivant du tableau lors du parcours, ce qui est quasi immédiat comparé à toutes les autres opérations intervenant dans l'interprétation du script Python.Mathador a écrit:Les listes et les tableaux peuvent être intéressants pour représenter un ensemble, car il est plus rapide d'itérer dessus que sur un type ensembliste, qui correspond généralement à une table de hachage ou un arbre binaire rouge-noir.
Pour compléter, seule la mémoire logique est contigüe, la mémoire physique ne l'est pas toujours. Il y a un mécanisme de pagination (avec des pages généralement de 4 Ko) qui est géré par l'OS et traité par la MMU du microprocesseur pour que cela soit transparent. C'est ce mécanisme qui autorise la fameuse mémoire virtuelle (la swap). Au final tableau[i] peut être accédé immédiatement, alors que tableau[i+1] peut se trouver dans la page suivante enregistrée sur le disque dur et plus physiquement en RAM. En C on peut "vérouiller" la mémoire en RAM en utilisant mlock() par exemple.Mathador a écrit:Avec un tableau (ce que j'avais aussi cité), pas de pointeur, donc c'est beaucoup plus rapide en pratique (du moins lorsque les données sont directement présentes dans la mémoire contiguë; c'est toujours le cas en C [...]
- Call_BB5ANiveau 5
Je tente le coup, en lui expliquant sous forme d'algorithme :Pat B a écrit:Je viens de passer 10 minutes à expliquer à une élève (gentille, bosseuse, qui veut aller en spé math et faire médecine plus tard... mais qui ne comprend pas tout), que si on a 3 + p = -2, on ne trouve pas p = -2/3... Ce n'est que la 50ème équation au moins qu'on fait depuis le début de l'année, on a commencé l'année par des rappels là-dessus... Comment vous voulez qu'elle comprenne quelque chose à la programmation ?
* Quelle opération fait-on pour passer de p à 3+p ?
* Comment fait-on pour revenir en arrière, c'est à dire que doit-on faire avec le résultat de 3+p pour retrouver p ?
* Dans le cas où 3+p est -2 quel est alors la valeur de p du départ ? Quel calcul doit-on faire ?
- Code:
?
p -------> p+3
?
p <------- p+3
?
p <------- -2
Parce que ce n'est pas une boucle for, mais une boucle foreach (pour chaque)Et Python a vraiment un souci avec les boucles for
- BalthazaardVénérable
Badiste75 a écrit:D’accord avec la conclusion d’Ycombe. D’ailleurs, elle est aussi valable pour les autres parties des programmes...
Idem, très bien dit je trouve
- MoonchildSage
Mathador a écrit:C'est quoi un ensemble ? Même lorsque l'on définit Z, ZF et ZFC en logique du premier ordre, on ne définit pas ce qu'est un ensemble. On a « appartient » (et éventuellement =, selon la formalisation) comme symbole de relation, et les axiomes de Zermelo régissent son comportement.Moonchild a écrit:Bref, la notion d'ensemble a été entraperçue par le petit bout de la lorgnette dans des contextes divers et éparpillés mais n'a jamais été formalisée clairement
Bref, il ne me semble pas opportun de faire un cours formel sur « ce qu'est un ensemble ». Par contre, prendre un chapitre ou une partie de chapitre pour faire des opérations ensemblistes sur des évenements (ensembles des issues qui les réalisent), des figures géométriques (ensembles des points qui y appartiennent), des intervalles (ensembles de nombres vérifiant des inégalités), des ensembles finis définis de façon exhaustive, des ensembles de nombres usuels, et faire remarquer le point commun entre toutes ces situations, me semble très pertinent. Et il y a largement de quoi faire là-dessus avec le programme de 2nde actuel. On peut même inclure des opérations ensemblistes dans les questions flash.
Quoi qu'il se passe en Z, ZF et ZFC, je reste persuadé qu'avec des élèves du secondaire, il vaut mieux "planter le décor" grâce à une pseudo-définition d'un ensemble comme une collection d'objets et que c'est en fait la notion de sous-ensembles qui permet que ça commence un peu à faire sens. Après, quand on commence l'étude de Z, ZF et ZFC, on peut se permettre le luxe de n'y trouver aucune définition de ce qu'est un ensemble puisque cela fait longtemps qu'on en a une bonne représentation intuitive.
Quant à ce que tu suggères pour les ensembles en seconde, on peut certainement le faire, mais je ne suis pas du tout sûr qu'on puisse arriver à vraiment faire passer la notion sans disposer d'une marge horaire qui serait forcément prise ailleurs. Tu corrigeras si j'ai mal compris ce que que tu proposes et qui permettrait sans doute de contourner l'écueil du manque de temps, mais il me semble que cela revient à introduire quelques éléments du formalisme ensembliste sur des cas particuliers en espérant que, en pointant les points communs, les élèves arriveront à reconstituer un tout cohérent. Bref, j'ai l'impression que tu proposes d'aborder la théorie des ensembles de manière transversale en situation - un peu comme le programme actuel demande de faire pour les intervalles - et je reste assez perplexe quant à l'efficacité d'une telle approche car, à mon avis, elle sous-estime la difficulté que les élèves normaux du secondaire ont à formaliser les notions abstraites. Si un concept doit être vraiment assimilé et pas seulement entrevu comme une série d'anecdotes, en général, je suis plutôt partisan d'opter pour les approches qui posent les choses le plus explicitement possible avec cours formel (à une exception près : la logique pour laquelle je ne suis pas totalement convaincu de la pertinence d'un cours spécifique à ce niveau car cela relève d'un méta-discours sur des objets mathématiques qui ne sont pas encore suffisamment maîtrisés à ce stade).
Mais pour en revenir à l'informatique et aux listes puisque tel était le point de départ de cet échange, le lien entre la génération des listes en compréhension et en extension et la notion d’ensemble risquerait dans le contexte que tu proposes de n'être qu'une anecdote supplémentaire, les élèves constatant sommairement que "ah ben ouais, c'est la même chose que ce qu'on a déjà vu ailleurs" alors qu'en fait ce n'est pas vraiment pareil puisque, comme l'a signalé VinZT, une liste est systématiquement ordonnée et peut répéter plusieurs fois un même élément ; c'est un joli tour de prestidigitation, mais je reste néanmoins dubitatif quant à ses vertus explicatives.
ycombe a écrit:Pat B a écrit:
(Et Python a vraiment un souci avec les boucles for)
Si c'est juste l'index final qui te gêne, ça se règle. (Sinon la syntaxe avec le range() est un peu nulle, c'est vrai).
- Code:
def myRange( start, stop, step=1):
i = 0
while (stop - start)/step >= i :
yield start + i * step
i += 1
for i in myRange(15,20):
print(i)
Déjà, je bloque sur l'instruction "yield" et ce que je trouve avec une recherche Google ne clarifie guère les choses...
Une question idiote (d'autant plus que je sens que je ne vais pas comprendre la réponse) : ton "myRange()", on ne pourrait pas le définir à partir du range() ordinaire plutôt qu'avec un while ?
ben2510 a écrit:Je propose l'hypersolution :
- Code:
i=15
while i<=20:
print(i)
i+=1
Pourquoi résoudre le problème quand il est si simple de le supprimer ?
D'accord, on peut contourner le range() en classe. Mais je vous rappelle qu'on est dans le contexte d'un enseignement de spécialité qui doit normalement être évalué par un examen national dans lequel il n'est pas exclu que ce range() soit utilisé dans un sujet (et c'est même fort probable si on considère que les élèves doivent savoir lire un programme en Python) ; donc si on fait l'impasse sur cette instruction, autant carrément faire l'impasse sur Python, on gagne plus de temps pour traiter le reste.
Sinon, accessoirement, l'instruction i+=1 est typiquement le genre d'exemple de choses qui font que Python excite tant les geeks mais qu'il faut à mon avis complètement bannir d'un enseignement de base.
cassiopella a écrit:Je suis désolée, mais python c'est vraiment facile et intuitif (je parle des langages de programmation qui permettent "tout faire"). Ton problème vient des parties séloulignées:Moonchild a écrit:
... et en plus je reste convaincu que le choix de Python va rajouter une couche de difficulté supplémentaire.
Je n'ai que des connaissances très sommaires en Python et j'ai récemment fait le test de me confronter à quelques programmes traduisant dans ce langage des algorithmes dont la trame en "langage naturel" ne me pose pas de problème ; bilan : en dehors de ceux qui sont triviaux, je n'arrive pas vraiment à lire les programmes sans que cela me demande d'importants efforts car la syntaxe ne me semble pas du tout "transparente" contrairement au Pascal que j'avais brièvement utilisé dans mes études et qui ne m'avait posé aucune difficulté d'immersion.
Alors que je maîtrise les notions mathématiques sous-jacentes ...
1) Tes connaissances sont sommaires et, j'imagine, tournent autours de maths. Par exemple tu peux calculer la puissance, mais tu ne pourras pas prendre un fichier avec extension ".machinbidule" et en extraire l'information.
2) Tu as utilisé trop brièvement Pascale, tu le reconnais. En plus, j'imagine, c'était ton premier langage de programmation et tu étais jeune. Bref, tu n'a pas compris la logique de programmation. Attention! Ne pas confondre avec la logique mathématique. Ce n'est pas la même chose et il y a des cas, quand c'est carrément illogique et stupide (VBA, formules Excel, Acces...).
3) On peut être bon en maths et ne rien comprendre en programmation. On peut être très mauvais en maths et être un super codeur.
Python, c'est un langage. Le français est logique pour toi, mais l'anglais non. L'anglais est logique pour les anglais, mais pas pour un français. Un tant que russe (ma langue maternelle), je trouve que la logique des articles est trop absurde!!! Alors que les inclinions c'est intuitif!
Bref, il faut apprendre python comme une langue. Comme une langue à part entière, Python suit sa logique.
P.S. j'adore le français! Et comparé à l'anglais, je le trouve super logique et facile... mise à part ces foutus articles!
J'admets que je suis une quiche en informatique et, en écrivant mon précédent message, j'avais moi aussi pensé à la question de l'âge qui sclérose mes neurones (je doute cependant que, malgré leur jeunesse, la plupart de mes élèves fasse preuve sur ce point d'une plus grande vivacité d'esprit), mais je maintiens que, pour un usage élémentaire concernant des problèmes mathématiques tels que ceux qui sont mentionnés dans le problème, le Pascal ou le Basic sont plus proches d'un algorithme en langage pseudo-naturel ne serait-ce qu'à cause des instructions de type "import numpy..." qui pour les débutants brouillent la lisibilité des programmes en Python.
ycombe a écrit:Non. Python n'est pas plus facile ni intuitif qu'un autre. Pour quelqu'un de ma génération qui a vécu l'évolution des langages (et des modes), Python n'est qu'un langage parmi d'autres, avec ses défauts et ses qualités. Je dirais comme ESR que si le but c'est d'apprendre à programmer, il faut certainement commencer quelque part (et je ne suis pas sûr que Python soit un si bon choix que cela pour ça) mais en gardant en tête qu'il va aussi falloir aller voir ailleurs.cassiopella a écrit:
Je suis désolée, mais python c'est vraiment facile et intuitif (je parle des langages de programmation qui permettent "tout faire").http://www.catb.org/esr/faqs/hacker-howto.html#skills1ESR a écrit:
It's best, actually, to learn all five of Python, C/C++, Java, Perl, and LISP. Besides being the most important hacking languages, they represent very different approaches to programming, and each will educate you in valuable ways.
Il y a 20 ans, c'était Java qu'il fallait absolument enseigner et on a dégoûté des générations d'étudiants à leur faire du java dès la première année de licence. Il me semble qu'on recommence les mêmes erreurs avec Python. Pour moi, ce sont des langages trop complets et trop abstraits pour débuter. Les élèves confondent l'IDE avec le langage et ne voient pas ce qu'est un programme (non, ce n'est pas un bout de code dans un IDE).
Le problème c'est le papillon qui a oublié qu'il a été une chenille. Les gens qui écrivent les programmes aiment Python mais s'ils aiment Python, c'est peut-être bien parce qu'ils n'ont pas commencé avec.
Je suis complètement d'accord avec ta conclusion même si je n'ai rien compris à la moitié de ton message, ou peut-être justement parce que je n'y ai rien compris.
cassiopella a écrit:La résolution de l'équation est en 3 étapes:Pat B a écrit:Je viens de passer 10 minutes à expliquer à une élève (gentille, bosseuse, qui veut aller en spé math et faire médecine plus tard... mais qui ne comprend pas tout), que si on a 3 + p = -2, on ne trouve pas p = -2/3... Ce n'est que la 50ème équation au moins qu'on fait depuis le début de l'année, on a commencé l'année par des rappels là-dessus...
1) on pose l'équation (bref... on la réécrit le plus souvent).
2) on isole les inconnus pour trouver les racines
3) on substitue les racines trouvées dans 1) et on s'assure qu'ils vérifient l'égalité dans 1)
3 bis) Facultatif : si dans 3) l'égalité n'est pas vérifiée, on recommence le 2)
4) Si 3) ok, on écrit la réponse.
Est-ce que l'étape 3) est systématique? Tu dis que vous avez fait 50 équations, est-ce que l'étape 3) était répété 50 fois?
C'est intéressant. Avec les élèves actuels, cela revient à proposer une méthode probabiliste de résolution des équations : on effectue des manipulations aléatoires des symboles qui entrent en jeu dans l'équation et on vérifie si ça donne une solution (en admettant qu'il n'y ait pas d'erreur de calcul lors de la vérification qui est elle-même une expérience aléatoire) et sinon on recommence jusqu'à ce que ça marche.
snoop a écrit:Personne ne commente les programmes de Mathématiques ? Pour ma part, je suis choquée par les premières notions abordées en seconde. C'est le programme de troisième de ma jeunesse. A l'époque, impossible de passer en seconde sans maîtriser ces notions. La géométrie dans l'espace semble passée de mode, pourquoi ? Et la trigonométrie disparaît en seconde pour réapparaître en première ou bien j'ai mal lu ?
En première, toujours la stupidité du calcul différentiel introduit avant la notion de limite pour être sûr que l'élève n'y comprendra rien et l'exponentielle arrive là comme un chien dans un jeu de quille. A ce compte là, pourquoi pas le logarithme népérien en première aussi ? Nous ne sommes plus à une incohérence près.
Je me demande s'il y a encore une corrélation entre ce programme et les mathématiques.
Oui, c'est effectivement incohérent.
Pour certaines parties (par exemple limites et dérivation), les notions restent encore abordées cul par dessus tête alors que, par ailleurs, le programme fait semblant de réintroduire de la rigueur sur des prérequis inexistants, il demande de traiter des notions de bases qui devraient déjà être maîtrisées au collège (mais avec un volume horaire trop contraint pour que ça puisse être efficace) tout en continuant parallèlement à aborder de nouvelles notions plus abstraites qui nécessiteraient que les premières soient solidement ancrées. Dès la première mouture de ce programmes divulguée par le SNES, ce problème de temporalité m'avait sauté aux yeux et il ne pourra pas être résolu sans s'atteler d'abord à redresser le collège.
- MathadorEmpereur
Ceci dit, la contiguïté des adresses logiques sert surtout à ce que la mémoire puisse être préchargée automatiquement, et certains caches peuvent d'ailleurs utiliser directement des adresses virtuelles. Bien sûr si la page suivante est sur le disque il faudra bien à un moment que le système d'exploitation soit appelé pour recharger la page en mémoire.Call_BB5A a écrit:Pour compléter, seule la mémoire logique est contigüe, la mémoire physique ne l'est pas toujours. Il y a un mécanisme de pagination (avec des pages généralement de 4 Ko) qui est géré par l'OS et traité par la MMU du microprocesseur pour que cela soit transparent. C'est ce mécanisme qui autorise la fameuse mémoire virtuelle (la swap). Au final tableau[i] peut être accédé immédiatement, alors que tableau[i+1] peut se trouver dans la page suivante enregistrée sur le disque dur et plus physiquement en RAM. En C on peut "vérouiller" la mémoire en RAM en utilisant mlock() par exemple.Mathador a écrit:Avec un tableau (ce que j'avais aussi cité), pas de pointeur, donc c'est beaucoup plus rapide en pratique (du moins lorsque les données sont directement présentes dans la mémoire contiguë; c'est toujours le cas en C [...]
_________________
"There are three kinds of lies: lies, damned lies, and statistics." (cité par Mark Twain)
« Vulnerasti cor meum, soror mea, sponsa; vulnerasti cor meum in uno oculorum tuorum, et in uno crine colli tui.
Quam pulchrae sunt mammae tuae, soror mea sponsa! pulchriora sunt ubera tua vino, et odor unguentorum tuorum super omnia aromata. » (Canticum Canticorum 4:9-10)
- MathadorEmpereur
Dans ce que je propose (et que j'ai fait avec le schéma de compréhension) l'idée est de définir sérieusement les opérations ensemblistes (celles du programme + le schéma de compréhension), comme on le fait déjà pour les probas (sauf pour le schéma de compréhension, que l'on utilise pourtant dès que l'on définit un évènement en français), mais de faire des exercices sur ces opérations dans les différents domaines possibles (algèbre, arithmétique, géométrie plane, probas). Cela pourrait par exemple donner un chapitre « Probabilités et ensembles ».Moonchild a écrit:Quant à ce que tu suggères pour les ensembles en seconde, on peut certainement le faire, mais je ne suis pas du tout sûr qu'on puisse arriver à vraiment faire passer la notion sans disposer d'une marge horaire qui serait forcément prise ailleurs. Tu corrigeras si j'ai mal compris ce que que tu proposes et qui permettrait sans doute de contourner l'écueil du manque de temps, mais il me semble que cela revient à introduire quelques éléments du formalisme ensembliste sur des cas particuliers en espérant que, en pointant les points communs, les élèves arriveront à reconstituer un tout cohérent. Bref, j'ai l'impression que tu proposes d'aborder la théorie des ensembles de manière transversale en situation - un peu comme le programme actuel demande de faire pour les intervalles - et je reste assez perplexe quant à l'efficacité d'une telle approche car, à mon avis, elle sous-estime la difficulté que les élèves normaux du secondaire ont à formaliser les notions abstraites. Si un concept doit être vraiment assimilé et pas seulement entrevu comme une série d'anecdotes, en général, je suis plutôt partisan d'opter pour les approches qui posent les choses le plus explicitement possible avec cours formel (à une exception près : la logique pour laquelle je ne suis pas totalement convaincu de la pertinence d'un cours spécifique à ce niveau car cela relève d'un méta-discours sur des objets mathématiques qui ne sont pas encore suffisamment maîtrisés à ce stade).
Et même si l'élève ne fait pas immédiatement le lien entre les différents ensembles usuels, s'il a déterminé en exercice à la fois {x réel | x² ≤ 1} (l'intervalle [-1;1]) et {M point | MA = MB} (la médiatrice de [AB]) cela devrait au moins l'aider à voir le lien entre une équation de droite/de courbe/de cercle et une équation « normale », ces deux types d'équation se ramenant à la même opération ensembliste.
Surtout que la liste en extension correspond alors à une image directe d'un ensemble par une fonction, notion hors programme. Et effectivement les listes et tableaux sont suffisamment éloignés du comportement général d'un ensemble pour que cela relève plutôt de l'optimisation d'un algo déjà existant, et donc davantage d'un exo d'approfondissement en NSI (et encore…) que d'une partie du cours de maths.Moonchild a écrit:Mais pour en revenir à l'informatique et aux listes puisque tel était le point de départ de cet échange, le lien entre la génération des listes en compréhension et en extension et la notion d’ensemble risquerait dans le contexte que tu proposes de n'être qu'une anecdote supplémentaire, les élèves constatant sommairement que "ah ben ouais, c'est la même chose que ce qu'on a déjà vu ailleurs" alors qu'en fait ce n'est pas vraiment pareil puisque, comme l'a signalé VinZT, une liste est systématiquement ordonnée et peut répéter plusieurs fois un même élément ; c'est un joli tour de prestidigitation, mais je reste néanmoins dubitatif quant à ses vertus explicatives.
_________________
"There are three kinds of lies: lies, damned lies, and statistics." (cité par Mark Twain)
« Vulnerasti cor meum, soror mea, sponsa; vulnerasti cor meum in uno oculorum tuorum, et in uno crine colli tui.
Quam pulchrae sunt mammae tuae, soror mea sponsa! pulchriora sunt ubera tua vino, et odor unguentorum tuorum super omnia aromata. » (Canticum Canticorum 4:9-10)
- snoopÉrudit
Par curiosité, pourrais-tu expliquer comment tu le construis mathématiquement en troisième ?ben2510 a écrit:Le logarithme on pourrait le faire en troisième.
A vous lire, j'ai le sentiment que nous sommes devenus des professeurs d'informatique. Je vois ça comme une annexe au programme, sans importance, dont on parlera en fin d'année s'il reste un peu de temps. Pourtant, ici, vous semblez y accorder une grande importance. je suis étonnée de cette attitude. Est-ce un biais dû à l'intérêt pour l'informatique des professeurs de mathématiques du forum ou est-ce général ?
- ycombeMonarque
snoop a écrit:Par curiosité, pourrais-tu expliquer comment tu le construis mathématiquement en troisième ?ben2510 a écrit:Le logarithme on pourrait le faire en troisième.
Par inversion de la puissance, déjà, au départ. On appelle log base 10 (noté Log) de A le nombre n tel que 10^n = A. On peut ensuite en déduire les intéressantes propriétés comme log a + log b, -log a... On peut ensuite se demander ce que ça peut bien vouloir dire, log_10 A = 0.5 et étendre ainsi aux nombres décimaux les notions de puissance et de logarithmes.
_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".
Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
- snoopÉrudit
Merci, mais pour les réels ?
Mes cours de fac sont loin, mais de mémoire il y a toujours un moment où ça coince, quelle que soit la méthode de construction, parce qu'on a besoin de notions complexes, pas maîtrisées avant le lycée à mon époque et le post-bac désormais pour certaines.
Mes cours de fac sont loin, mais de mémoire il y a toujours un moment où ça coince, quelle que soit la méthode de construction, parce qu'on a besoin de notions complexes, pas maîtrisées avant le lycée à mon époque et le post-bac désormais pour certaines.
- ycombeMonarque
Comme d'hab, par passage à la limite. C'est déjà comme ça qu'on fait pour Thalès.snoop a écrit:Oui, mais pour les réels ?
_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".
Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
- snoopÉrudit
Mais ça suppose de savoir que Q est dense dans R. Ce n'est pas évident. On ne peut donc que donner une intuition. A le lire, je pensais que Ben avait une méthode de construction n'utilisant que des connaissances vues en troisième.
- ycombeMonarque
On donne des intuitions au collège. Au lycée, on peut passer vraiment aux limites; Enfin, on devrait pourvoir passer...snoop a écrit:Mais ça suppose de savoir que Q est dense dans R. Ce n'est pas évident. On ne peut donc que donner une intuition. A le lire, je pensais que Ben avait une méthode de construction n'utilisant que des connaissances vues en troisième.
_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".
Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
- meskiangasherNiveau 9
Ce qui permet quand même d'apprécier le ramasse-miettes (exit les malloc et compagnie), le typage dynamique (les déclarations en Pascal c'était bien pénible, surtout quand on gérait des tableaux à taille nécessairement pré-définie), les blocs identifiés par indentation (exit les parenthèses à n'en plus finir, je parle pour Java, car pour Lisp c'était rigolo), les pointeurs bien souvent cachés (même s'ils sont quand même là), etc.ycombe a écrit:mais s'ils aiment Python, c'est peut-être bien parce qu'ils n'ont pas commencé avec.
- Not a PandaHabitué du forum
snoop a écrit:Par curiosité, pourrais-tu expliquer comment tu le construis mathématiquement en troisième ?ben2510 a écrit:Le logarithme on pourrait le faire en troisième.
A vous lire, j'ai le sentiment que nous sommes devenus des professeurs d'informatique. Je vois ça comme une annexe au programme, sans importance, dont on parlera en fin d'année s'il reste un peu de temps. Pourtant, ici, vous semblez y accorder une grande importance. je suis étonnée de cette attitude. Est-ce un biais dû à l'intérêt pour l'informatique des professeurs de mathématiques du forum ou est-ce général ?
Je suis aussi de cet avis Snoop. Ou plutôt, j'aimerais faire des choses intéressantes en informatique, mais d'une part je considère que je n'ai pas été formé pour et que je n'ai pas à me former sur mon temps libre, et d'autre part, j'ai tellement de mal à faire le reste dans le temps imparti que l'informatique passe à la trappe.
- chmarmottineGuide spirituel
Not a Panda a écrit:snoop a écrit:Par curiosité, pourrais-tu expliquer comment tu le construis mathématiquement en troisième ?ben2510 a écrit:Le logarithme on pourrait le faire en troisième.
A vous lire, j'ai le sentiment que nous sommes devenus des professeurs d'informatique. Je vois ça comme une annexe au programme, sans importance, dont on parlera en fin d'année s'il reste un peu de temps. Pourtant, ici, vous semblez y accorder une grande importance. je suis étonnée de cette attitude. Est-ce un biais dû à l'intérêt pour l'informatique des professeurs de mathématiques du forum ou est-ce général ?
Je suis aussi de cet avis Snoop. Ou plutôt, j'aimerais faire des choses intéressantes en informatique, mais d'une part je considère que je n'ai pas été formé pour et que je n'ai pas à me former sur mon temps libre, et d'autre part, j'ai tellement de mal à faire le reste dans le temps imparti que l'informatique passe à la trappe.
Pareil ici, et je trouve peu honnête d'enseigner à mes élèves un truc que je ne maîtrise pas ...
- ben2510Expert spécialisé
ycombe a écrit:On donne des intuitions au collège. Au lycée, on peut passer vraiment aux limites; Enfin, on devrait pourvoir passer...snoop a écrit:Mais ça suppose de savoir que Q est dense dans R. Ce n'est pas évident. On ne peut donc que donner une intuition. A le lire, je pensais que Ben avait une méthode de construction n'utilisant que des connaissances vues en troisième.
Effectivement, je commence par les logarithmes entiers, en m'appuyant sur les propriétés des puissances pour en déduire celles des logarithmes.
En ce qui concerne les logarithmes non-entiers, le point crucial est bien sûr celui de la construction des réels ; sans donner une construction rigoureuse (mais sans raconter non plus de bêtises), on peut se baser sur la construction de la suite des décimales.
Supposons par exemple qu'on cherche à résoudre l'équation 10^x=250. On peut raisonnablement postuler que la fonction log_10 est croissante ; alors de 100 < 250 < 1000 on déduit que 2 < x < 3. Prenons la dixième puissance : (10^2)^10 < 250^10 = (10^x)^10 < (10^3)^10,
soit 10^20 < 2,5^10 * 10^20 = 10^(10x) < 10^30 or 2,5^10 vaut environ 9536,74 = 9,53674E3 où E3 signifie bien sûr *10^3 ou bien juste 10^3.
Aussi 10^(10x) est proche de 9,53674E23, on peut préférer écrire que E23 < 10^(10x)
On aurait pu bien sûr partir de 250^100 = 6,223015278E239 pour avoir la deuxième décimale, x=2,39, malheureusement la calculatrice, cette petite chose fragile, couine pour donner ce résultat. (Notons que mon clavier ne disposant pas de la touche \approx, j'utilise = pour dire "à peu près égal à", avec peu=E230.
Repartons plutôt de 9,53674^10 = 6,223E9,
puis 6,223^10=8,709509816E7,
puis 8,709509816^10=2,512388E9,
2,51^10 = 1,0019988E4,
et on en est à x=2,39794 pour l'instant.
Pour les cinq premières décimales, nos puissances dixièmes successives étaient raisonnablement loin de 1 pour qu'on ait une confiance raisonnable en la précision de l'exposant de 10, mais on vient de tomber sur 1,0019988 ... Cela peut être l'occasion de parler de précision du calcul, et d'abstraire un peu en disant que les calculs pourraient être faits à la main de façon exacte, d'un point de vue purement théorique : après tout mettre un décimal à la puissance dixième ne fait que multiplier par 10 le nombre de décimales, qui restent en nombre fini.
Bref on a un algorithme qui sort les décimales de log(250) les unes après les autres ; n'est ce pas une façon satisfaisante de définir un réel ? En tout cas c'est du même genre que pour un rationnel avec la division ou un radical avec la racine posée.
On peut aussi s'intéresser de très près au comportement des décimales de (1+epsilon)^(10n) pour n=1, 2 puis 3.
Bon, rien de tout cela n'est particulièrement original, c'est juste du calcul numérique, en lien avec la notion d'ordre de grandeur et la notation scientifique des nombres ; il n'y a pas si longtemps on utilisait des échelles logarithmiques au collège, que ce soit sur un axe ou bien en deux dimensions. L'idée de ce que je propose ici est d'éviter que les profs de SVT mettent 50 au milieu entre 10 et 100 sur des graduations logarithmiques.
Il y a quelques années, passant non loin de la porte ouverte d'une collègue de Physique, j'entendis "log c'est logarithme décimal, vous avez vu ça en maths, non ?" ; c'était avec des secondes. Je fis demi-tour pour éviter de passer devant la porte ouverte.
Il y en a marre de raser les murs car les élèves ne savent rien faire.
Il est temps de se sortir les doigts du Q, m'est avis.
Maintenant que j'ai des lycéens, je leur donne un tableau des périodes des systèmes des planètes du système solaire (en années terrestres), ainsi que les demi grands axes correspondants (en UA), et je demande un graphique pour chercher visuellement le type de relation entre les deux grandeurs. Problème : de Mercure à Pluton il y a deux ou trois ordres de grandeur. solution : du papier log-log. En une heure on plie la notion de logarithme.
_________________
On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison. Henri Poincaré La notion d'équation différentielle est le pivot de la conception scientifique du monde. Vladimir Arnold
- DNB-2019-Sujet Mathématiques Pondichery
- Projets de programme Physique-Chimie rentrée 2019 : 2de - spé 1e - Enseignement scientifique
- Éducation à la vie relationnelle et sexuelle : Attal annonce un nouveau programme pour la rentrée
- Parcoursup : les vœux d'orientation des lycéens pour la rentrée 2019 Note Flash n°8 - Avril 2019
- Aménagement programme de 2de 2018-2019 en SVT et en PC
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum