π
<-

Sujet + corrigé CAPES Mathématiques 2017 option Informatique

Toutes les news concernant les examens (BAC, DNB, etc.) et concours scolaires

Re: Sujet + corrigé CAPES Mathématiques 2017 option Informat

Unread postby Wistaro » 07 Apr 2017, 23:56

Brunuel66 wrote:[...]sans oublier le Javascool, bouse grandiose, même pas correctement
documentée, où toute activité un peu sérieuse se finit en pur Java qui est aussi un moyen assez sûr de dégouter tout débutant. >:]


Bonsoir, pourquoi tant de dégoût pour ce logiciel ?
J'ai dû l'utiliser en terminale S, dans le cadre des cours d'ISN, et même si je développe à côté en Java, je n'ai pas été perturbé.
C'est simplement un langage de programmation, langage qui se veut simple et facilitant l'apprentissage.
Et ça marche, il joue son rôle! Il permet d'implanter des algorithmes facilement, de travailler sur une interface graphique et de s'affranchir des notions complexes du java (objets, porté des variables, etc.).
Car ce n'est pas du Java!

Alors bien sûr que pour une développeur Java chevronné, c'est pas bien. C'est pas documenté. Les logs d'erreurs sont flous.
Mais il faut penser au public visé par cette application, aussi!
Et le but n'est pas "d'aller loin", contrairement à ce que vous dites.

Après, je suis d'accord avec vous, il aurait peut-être été plus formateur d'apprendre aux élèves sur un langage complet, comme le Python, le C ou le PHP.

Concernant Python, j'ai l'impression que c'est un peu le couteau suisse du développeur, et personnellement je suis pas trop fan. Mais c'est purement objectif.

Mais bon ce n'est pas moi qui fixe les programmes...
Nouveau sur le site, ClaudeBot [spider] ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88.4%
 
Posts: 3183
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

Re: Sujet + corrigé CAPES Mathématiques 2017 option Informat

Unread postby Bunuel66 » 08 Apr 2017, 10:16

Sachant que Parisse est le créateur de giac/Xcas, oui, forcément il l'a utilisé (et le reste aussi) :D Tu aurais du vérifier qui ton interlocuteur était ;)


Je suis tout à fait admiratif devant le travail de M. Parisse dans la création de Xcas, néanmoins je maintiens qu'il ne s'agit pas là d'un environnement propice à l'enseignement de la programmation, l'ensemble est beaucoup trop compliqué pour un débutant. Quant aux langages sur calculatrices ils sont trop spécifiques pour servir de base. Ceci étant, c'est un moindre mal. :p

Bonsoir, pourquoi tant de dégoût pour ce logiciel ?
J'ai dû l'utiliser en terminale S, dans le cadre des cours d'ISN, et même si je développe à côté en Java, je n'ai pas été perturbé.

Je n'ai pu m'empêcher de sourire en lisant cela. Evidemment si on appartient à l'extrémité de la gaussienne où se situent les geeks, neirds, et autres artistes du clavier, connaissant Java, Javascool est lumineux. Plaisanterie à part, je parle du centre de la gaussienne, de ceux qui ne sont pas tombés dedans quand ils étaient petits.
C'est pas documenté. Les logs d'erreurs sont flous.

C'est exactement de cela qu'il s'agit. Le gamin lambda qui nage déjà dans les concepts simples tels qu'une déclaration de variable avec un type, se prend des déclarations d'objets dans la tête sans savoir pourquoi et en plus ne trouve pas la documentation qui pourrait lui expliquer ce que signifie le message d'erreur à la c..n :~o qu'il vient de recevoir. D'un point de vue pédagogique c'est nul!
Car ce n'est pas du Java!

Mais si, c'est du Java pur sucre, juste planqué sous une surcouche supposée le rendre coooooooooooool.
D'ailleurs, c'est assez intéressant de regarder comment c'est fait :D

Si on suit une telle logique, il faudrait aussi bannir les langues étrangères et se concentrer sur le français.

Quand on voit le niveau en sortie de bac en français.... :#fou#: peut être serait ce plus sage.....
Ironie de côté, l'efficacité de l'enseignement des langues étrangères en France n'est pas exactement la référence....

Je ne constate pas les dégâts dont vous parlez - connaître plusieurs langages est une richesse, pas un inconvénient.
Mais peut-être pourriez-vous fournir quelques exemples pour nous éclairer, ainsi que leur contexte.

J'en ai des quantités. Combien de fois ai-je vu des gamins demander 'pourquoi on écrit ça comme ça ?, c'est pas comme ça qu'on l'a fait en classe en machin chose'
'Pourquoi on met des { et pas des End?'
'Pourquoi le tableau il commence à 0 et pas à 1? '

Bien sûr que connaitre plusieurs langages est bénéfique, mais j'adresse uniquement le point d'enseignement aux débutants, disons jusqu'en terminale S.

Heureusement donc que mes professeurs n'ont pas choisi l'option de facilité en ne faisant que du Java.

Et ils vous ont même enseigné le langage qui sortira demain? :D
Avez vous essayé l'APL? Ca c'était fun >:]

De même Python est à la mode aujourd'hui. Et il n'est pas très visionnaire de graver ce choix (ou un autre d'ailleurs) dans le marbre comme on est en train de le faire.

Pour les visions, faut voir Mme irma Computers.... :#roll#: Encore une fois je ne suis pas un évangéliste de Python, il s'agit simplement à mes yeux (qui ont connu le Fortran IV sur IBM 1130 :~o ) d'un bon compromis entre stabilité, facilité d'écriture et spectre couvert. Si en sortant de TS les étudiants maitrisaient cela correctement on aurait fait un grand pas en avant. Ceci dit, un bon Pascal ou dérivé est tout aussi convenable. Si vous en avez l'occasion relisez les papiers de Wirth sur les langages pour l'enseignement.

En fait c'est surtout le clivage entre langages de trucs "persos" (ou on voit bien le JS, Go, Rust etc.), et les trucs pro (Java, C++)

Bonne question. C'est quoi un langage pro? Les trucs persos dont vous parlez sont peut être les trucs pros de demain..... ;) D'un point de vue professionnel c'est moins le langage que son environnement et la fiabilité des outils qui comptent.
User avatar
Bunuel66
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 80%
 
Posts: 11
Joined: 30 Dec 2011, 12:39
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: 2nde

Re: Sujet + corrigé CAPES Mathématiques 2017 option Informat

Unread postby critor » 08 Apr 2017, 10:31

Bunuel66 wrote:
Je ne constate pas les dégâts dont vous parlez - connaître plusieurs langages est une richesse, pas un inconvénient.
Mais peut-être pourriez-vous fournir quelques exemples pour nous éclairer, ainsi que leur contexte.

J'en ai des quantités. Combien de fois ai-je vu des gamins demander 'pourquoi on écrit ça comme ça ?, c'est pas comme ça qu'on l'a fait en classe en machin chose'
'Pourquoi on met des { et pas des End?'
'Pourquoi le tableau il commence à 0 et pas à 1? '


Peut-être parce que vous imposez des changements de langage.

Je n'impose pas de langage, au sens où de toutes façons l'évaluation se fait en langage naturel.
Pour les activités pratiques et les projets, les élèves utilisent leur plateforme TICE qu'ils ont sur le coin de la table, c'est-à-dire à ce jour la calculatrice graphique avec :
  • le langage procédural interprété TI-z80 (pour une moitié)
  • le langage procédural interprété Casio Graph (pour une autre moitié)
  • le langage fonctionnel interprété TI-Nspire (pour quelques-uns)
Avec des classes coupées en deux car je me refuse à imposer de modèle, nous passons régulièrement des TI-z80 et Casio Graph et vice-versa, avec là aussi nombre de différences majeures de syntaxe, et les élèves ne sont pas perturbés pour autant - ils ne passent pas leur temps à demander pourquoi on écrit différemment car ils voient bien concrètement qu'on ne parle pas à la même machine.
Si vous ne constatez pas la même chose, c'est sans doute la pratique qui est à revoir.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.9%
 
Posts: 41980
Images: 15839
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Sujet + corrigé CAPES Mathématiques 2017 option Informat

Unread postby Adriweb » 08 Apr 2017, 10:33

Bunuel66 wrote:
En fait c'est surtout le clivage entre langages de trucs "persos" (ou on voit bien le JS, Go, Rust etc.), et les trucs pro (Java, C++)

Bonne question. C'est quoi un langage pro? Les trucs persos dont vous parlez sont peut être les trucs pros de demain..... ;) D'un point de vue professionnel c'est moins le langage que son environnement et la fiabilité des outils qui comptent.

Par "pro", je voulais juste dire "dans le milieu des entreprises" de nos jours. Il est en effet possible que ceux "persos" de nous jours le deviennent un jour, mais vu les proportions, ça ne peut prendre qu'un temps assez long... Mais oui, c'est pas uniquement le langage en lui même qui compte.
(D'ailleurs le JS est autant pro que perso des qu'il y a du front-end dans la boucle, et de plus en plus pour du backend avec Node, mais bref, c'était pas mon point)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14744
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Sujet + corrigé CAPES Mathématiques 2017 option Informat

Unread postby Bunuel66 » 08 Apr 2017, 11:10

Peut-être parce que vous imposez des changements de langage.


Oui, bien sûr, j'adore ça :wat:
Je vous faisais un retour d'expérience, de vécu quoi....

Je n'impose pas de langage, au sens où de toutes façons l'évaluation se fait en langage naturel.

Merveilleux. Quel bonheur. 0:]

Avec des classes coupées en deux car je me refuse à imposer de modèle, nous passons régulièrement des TI-z80 et Casio Graph et vice-versa

Vous êtes donc un des rares enseignants à maitriser toutes les syntaxes et à disposer du temps nécessaire. Formidable.

ils ne demandent pas pourquoi on écrit différemment car ils voient bien concrètement qu'on ne parle pas à la même machine.

Il serait peut être temps d'introduire la notion de langage, plutôt que de syntaxe attachée à une machine. Sinon, lorsque la couleur du clavier changera, ils vont se retrouver un peu perdus... >:]

Si vous ne constatez pas la même chose, c'est sans doute la pratique qui est à revoir.

Rassurez vous, je ne sévis pas dans l'éducation nationale.... :p

Ceci étant, la programmation sur calculatrice est une bonne façon de débuter. J'adressais plutôt la problématique ISN.
User avatar
Bunuel66
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 80%
 
Posts: 11
Joined: 30 Dec 2011, 12:39
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: 2nde

Re: Sujet + corrigé CAPES Mathématiques 2017 option Informat

Unread postby critor » 08 Apr 2017, 11:20

Mais vous avez le droit de venir dans l'Education Nationale si ça vous dit un jour, je ne portais pas de jugement - je disais juste qu'en pratique on peut arriver à jongler avec plusieurs langages sans perturber les élèves.
Au contraire vous me semblez avoir un bon bagage.

L'ISN concernant la seule classe de Terminale, j'y vois mal comment il pourrait y avoir de changement de langage perturbant les élèves.

Les instructions officielles disent de choisir *un* langage interprété répandu multiplateforme.
En pratique, c'est bien souvent le Python.

Une fois lancé, l'élève n'a donc plus à changer de langage, sauf :
  • enseignant qui souhaite lui en présenter plusieurs pour lui laisser le choix pour son projet à la fin (et peut-être donc que comme c'est un changement de logiciel et non un changement de machine, l'effet psychologique est différent de ce que je constate, d'où de possibles confusions)
  • redoublement (ce qui est rare) avec changement d'enseignant (ce qui est encore plus rare lorsque c'est dans le même lycée)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.9%
 
Posts: 41980
Images: 15839
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Sujet + corrigé CAPES Mathématiques 2017 option Informat

Unread postby Bunuel66 » 08 Apr 2017, 14:19

Mais vous avez le droit de venir dans l'Education Nationale si ça vous dit un jour

Il se fait un peu tard pour ce genre de choix :o

je ne portais pas de jugement

Je ne l'ai pas pris en tant que tel, rassurez vous. 0:]

Au contraire vous me semblez avoir un bon bagage.

Trop aimable :D Mais le cuir commence à être sérieusement patiné >:]

Les instructions officielles disent de choisir *un* langage interprété répandu multiplateforme.
En pratique, c'est bien souvent le Python.

Comme quoi, même ici, le bon sens perce parfois :#fou#:
Pour mémoire, j'ai même vu passer le LSE.....

Merci pour la conversation. On doit avoir fait le tour de la question. Poursuivre lasserait certainement les lecteurs.
A une prochaine :walrii:
User avatar
Bunuel66
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 80%
 
Posts: 11
Joined: 30 Dec 2011, 12:39
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: 2nde

Online

Re: Sujet + corrigé CAPES Mathématiques 2017 option Informat

Unread postby parisse » 09 Apr 2017, 07:52

Je serais curieux de connaitre l'experience d'enseignement de Bunuel66 puisqu'il nous dit ne pas sevir dans l'education nationale. Personnellement, j'ai enseigne plusieurs langages (ti-basic, maple, mupad, pascal, c/c++, xcas), certes pas au niveau du lycee mais avec des etudiants de L2, L3 et prepa capes et agreg qui jusqu'a recemment n'avaient souvent pas appris a programmer auparavant, et pas toujours tres motives. Si je defends l'utilisation de langage interprete au lycee par rapport a compile, c'est d'abord parce qu'ils proposent un environnement de developpement simple, alors que les environements de developpement pour langage compile necessitent un peu plus d'apprentissage, ensuite parce qu'ils permettent d'evaluer une expression. Le resultat de mes observations c'est que le TI-Basic sur TI92 et Voyage 200 est facile a prendre en main (c'est moins le cas sur ti-nspire, mais peut-etre a cause d'un biais de ma part). J'ai essaye de faire un langage du meme type sur Xcas avec un certain succes de mon point de vue, apparamment Bunuel66 n'est pas convaincu mais sa critique n'est guere constructive, sans aucun details precis. Je precise que je ne pretends aucunement rivaliser avec un langage informatique generaliste, l'interet de Xcas c'est comme sur une calculatrice de pouvoir faire a la fois des maths et de l'algorithmique (et donc d'integrer l'algorithmique au deroulement du cours de maths). Pouvoir manipuler des vecteurs et des matrices n'est pas suffisant pour cela, il faut aussi gerer les fonctions ou a minima les expressions symboliques, ce qui est tout sauf evident avec un langage comme C/C++ (sauf a recompiler son programme si on change de fonction).
Le principal obstacle lorsqu'on met en pratique en TP un algorithme avec un langage precis, ce n'est pas l'eleve lui-meme, mais la capacite de l'enseignant a debloquer l'eleve. Le point essentiel est que l'enseignant maitrise tres bien le langage (et l'environement) pour ne pas se retrouver assailli de questions par les 3/4 de la classe bloques par une erreur de syntaxe ou de runtime sachant qu'au-dela de 2 ou 3 binomes posant une question, l'enseignant sera trop stresse pour pouvoir reagir efficacement.
C'est pour cela par exemple que dans Xcas, la non-declaration de variables locales entraine un warning, contrairement a Python, ce qui permet de detecter des erreurs de frappe dans des noms de variables a l'interieur du programme. C'est aussi pour cela qu'il y a une commande debug permettant l'execution en mode pas a pas, qui est de mon point de vue la maniere la plus efficace de corriger des erreurs de runtime.
C'est aussi pour cela qu'un enseignant bien habitue a un langage ou a une calculatrice aura beaucoup plus de mal qu'un eleve sans prejuge a utiliser un autre langage (sauf pour quelques enseignants passiones qui maitrisent plusieurs langages et calculatrices a ce niveau), et que le biais de l'enseignant se refletera sur l'impression de difficulte ou non du langage pour l'eleve. D'ou l'inertie du milieu enseignant d'une part et l'importance de laisser l'enseignant choisir le langage avec lequel il est le plus a l'aise. Si Python a reellement de telles qualites pedagogiques pour l'apprentissage (malgre les defauts que je lui trouve), alors il s'imposera de lui-meme en TP, inutile de l'imposer d'en haut avec tous les inconvenients que j'ai indiques precedemment.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3662
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Online

Re: Sujet + corrigé CAPES Mathématiques 2017 option Informat

Unread postby parisse » 09 Apr 2017, 08:06

Bunuel66 wrote:"Ca ne peut pas servir deux fois, si on utilise l'indentation explicitement comme delimiteur de bloc, elle ne peut pas servir a cross-checker des erreurs comme dans un langage avec délimiteur explicite de bloc. Un autre inconvénient c'est que c'est fragile, des qu'on utilise un logiciel qui n'est pas au courant qu'il s'agit de code Python."
Comprends pas??? Dès le premier problème de bloc, l'interpréteur Python vous jette, comme d'ailleurs un compilateur C. Ca ne sert pas à grand chose de continuer comme un bourrin sans réfléchir.... Toujours sérieusement, ça veut dire quoi un logiciel qui ne sait pas qu'il s'agit de code python? Vous ouvrez vos fichiers au hasard?

Inutile d'etre agressif. Je veux dire par la qu'on peut avoir envie de copier-coller le code d'une fonction dans un email, sur un forum, dans un texte, et que les logiciels dedies a ces taches peuvent ne pas respecter les espacements.

"plus le langage est lent plus on risque de mal optimiser. Par exemple dans le cas de la boucle for i from 1 to n do ..., en Python la creation d'une liste va creer inutilement une zone memoire de taille O(n) (en tout cas dans les versions presentees frequemment)."
Ah bon, quel est le rapport entre la lenteur d'un langage et sa capacité à être optimisé? D'ailleurs qu'est ce que cela veut dire? L'optimisation c'est de l'algorithmie, la capacité du compilateur c'est autre chose. Quant à l'exemple que vous donnez, perdu, ça va beaucoup plus vite de faire des boucles avec des range en Python que des while explicite. Encore une fois, sur ce thème, un for n in range(): + numba ça accélère comme une fusée.

Vous n'avez pas compris mon point. Si vous faites une boucle for j in range(1,n), vous creez en memoire un tableau de taille n, alors qu'avec une boucle pour j de 1 jusque n faire ... fpour, il n'y a pas d'allocation de tableau en memoire. Bien sur pour de petites valeurs de n, ca n'a pas d'influence sur le temps d'execution, mais pour l'etude de la complexite en espace ca en a.
Concernant le temps d'execution d'un while plus lent qu'un for en Python, c'est typiquement un biais de langage interprete.

"D'ou la necessite d'enseigner en prepas un langage compile."
Ca n'a rien à voir. On peut coder avec ses pieds et compiler et coder proprement et interpréter. Côté apprentissage c'est assez marginal. Mais bon, oui, un compilateur à quelques chances d'être un peu plus rapide in fine.

Il s'agit de montrer du doigt aux eleves de prepas la difference entre interprete et compile pour comprendre les biais d'un interpreteur.

"Julia me parait justement nettement mieux que Python comme langage. Pourquoi alors empecher qu'on l'enseigne?"
Prenez Julia si vous voulez, pourquoi pas.

Mais cela serait impossible si Python est impose d'en haut, et reciproquement si Julia est impose comme seul langage, alors il serait impossible d'enseigner le Python.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3662
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Sujet + corrigé CAPES Mathématiques 2017 option Informat

Unread postby Bunuel66 » 09 Apr 2017, 11:02

Désolé d'y revenir, mais les commentaires de M. Parisse étant intéressants c'est un véritable plaisir que d'y répondre. Encore une fois, croyez bien que je suis tout à fait admiratif devant l'écriture d'un moteur symbolique.

Inutile d'etre agressif. Je veux dire par la qu'on peut avoir envie de copier-coller le code d'une fonction dans un email, sur un forum, dans un texte, et que les logiciels dedies a ces taches peuvent ne pas respecter les espacements.

Soit, cela doit exister. Mais cela arrive aussi en fonction de l'encodage des caractères et autres facéties. Ceci étant, il y a quand même assez peu de logiciels manipulant du texte qui ne reconnaissent pas le 'tab'.

Vous n'avez pas compris mon point. Si vous faites une boucle for j in range(1,n),

Mais si, je l'ai parfaitement compris. Je n'envisage pas que vous n'ayez pas vu qu'il s'agit là d'un itérateur. Là où je vous suis c'est pour dire que cette syntaxe est un peu éloignée de la boucle FOR usuelle. Philosophiquement cela à tout son sens si l'on considère que la boucle parcourt un ensemble quelconque et non plus uniquement les entiers. Pour ce qui est de l'occupation mémoire deux petites remarques:
-d'une part la mémoire ne manque pas sur les machines actuelles, on parle de gigagoctets de mémoire quand un itérateur, même sur des millions, occupe un millième de celle-ci.
'd'autre part, si la mémoire est un problème, on peut parfaitement factoriser les boucles, remplacer une boucle simple sur un million par deux boucles imbriquées sur 1000.

Il s'agit de montrer du doigt aux eleves de prepas la difference entre interprete et compile pour comprendre les biais d'un interpreteur.

Je ne suis pas certain que le doigt soit suffisant....Qui plus est la situation actuelle est un rien plus compliquée avec les notions de machine virtuelle et Just In Time. La problématique compilation/interprétation me semble une question du deuxième ordre lorsqu'on est dans l'apprentissage de l'algorithmie. Pour beaucoup d'élèves cela reste de l'ordre de la procédure de mise en oeuvre. Il faudrait que les élèves aient une compréhension plus fine de la machine pour en comprendre la réelle différence.

Mais cela serait impossible si Python est impose d'en haut, et reciproquement si Julia est impose comme seul langage, alors il serait impossible d'enseigner le Python.

Et alors? Je n'ai jamais dit qu'il fallait imposer un seul langage dans toute la vie des élèves, surtout dans le supérieur. J'ai simplement dit qu'il fallait un langage commun, python ou autre, plutôt que JavaScool. Python me semble un bon compromis. Julia est d'ailleurs quasiment une version JIT de Python.

Je serais curieux de connaitre l'experience d'enseignement de Bunuel66 puisqu'il nous dit ne pas sevir dans l'education nationale.

Il se trouve que je n'émarge effectivement pas auprès du grand ministère. Je travaille dans l'industrie. Cependant, je vois d'une part une foultitude d'élèves dans mon entourage qui viennent chercher de l'aide et d'autre part j'ai effectivement enseigné dans des écoles d'ingénieurs et encadré pas mal de stages ou travaux de fin d'études pour voir le résultat de l'enseignement actuel. Excusez moi de ne pas avoir la pureté de l'universitaire.

ensuite parce qu'ils permettent d'evaluer une expression.

Sans vouloir être très lourd, un terminal Python fait ça très bien.

Le resultat de mes observations c'est que le TI-Basic sur TI92 et Voyage 200 est facile a prendre en main (c'est moins le cas sur ti-nspire, mais peut-etre a cause d'un biais de ma part). J'ai essaye de faire un langage du meme type sur Xcas avec un certain succes de mon point de vue,

A ce compte, pourquoi ne pas généraliser l'usage d'émulateurs de ces machines sur PC/Tablette. Pour développer des programmes un peu conséquents un bon clavier est plus agréable.

l'interet de Xcas c'est comme sur une calculatrice de pouvoir faire a la fois des maths et de l'algorithmique

Ce qui me plait bien dans Xcas c'est plutôt l'aspect symbolique. Malheureusement il n'est pas du tout répandu dans l'industrie et je n'ai pas été convaincu par l'ergonomie. Par ailleurs ce genre de logiciel mélange un peu les genres et risque d'installer une certaine confusion dans l'esprit des élèves.

ouvoir manipuler des vecteurs et des matrices n'est pas suffisant pour cela, il faut aussi gerer les fonctions ou a minima les expressions symboliques,

Oui, merci, les flottants aussi, les tableaux etc....Je me suis mal fait comprendre, je voulais dire que ces objets mathématiques se prêtaient bien à une implémentation objet ce qui permettait d'introduire cette notion assez intuitivement. Pour ce qui est des expressions symboliques tout dépend ce que l'on entend par là, si il s'agit de traiter des chaînes avec des expressions régulières ou de les parser beaucoup de langages le permettent, si il s'agit de les transformer au sens large, genre intègration ou dérivation symbolique, il y a fort peu de langages standards qui le permettent sans utiliser de librairie externe.

C'est pour cela par exemple que dans Xcas, la non-declaration de variables locales entraine un warning,

C'est un bon sujet. Mais la question est elle la portée des variables ou la détection des erreurs de frappe? Pour ce qui est de la portée des variables Python utilise une convention assez standard qui est que les variables déclarées dans une fonction sont locales à celle-ci. On peut forcer la globalité d'une variable dans une fonction, mais ce n'est pas recommandé....Pour ce qui est de la détection d'erreur de frappe, le cas potentiellement non détecté est celui où on affecte une variable en se trompant, la variable est alors créée sans rien dire, et le résultat est rarement celui attendu. Le problème est inhérent à tous les langages dynamiques. La seule solution est la déclaration statique typée.
On pourrait ergoter que cela relève de l'approche qualité et qu'il convient de ne pas faire n'importe quoi, si on se trompe de variable dans un algorithme ou que les noms sont suffisamment confus et sans règle d'écriture le résultat sera le même. Je vous suis néanmoins sur ce point. Ceci dit en Python il est possible d'extraire la liste des variables globales et locales d'un module, il est donc assez facile de repérer des variables sauvages....Mais encore une fois, la seule 'bonne' solution est la déclaration préalable.

C'est aussi pour cela qu'il y a une commande debug permettant l'execution en mode pas a pas, qui est de mon point de vue la maniere la plus efficace de corriger des erreurs de runtime.

Il est possible de travailler en pas à pas avec Python, il y a des outils de trace pour cela.
Par contre, le debug pas à pas donne une fausse sécurité à l'étudiant. Cela marche sur des cas simples, sur des cas compliqués, genre ça plante à la trente millième itération le debug pas à pas n'est pas très efficace. A titre personnel je préfère créer un log de trace qui donne la trajectoire des appels et essayer de coder au maximum des fonctions simples que l'on peut valider pas à pas.
En plus cela force l'étudiant à réfléchir à ce qu'il veut voir, plutôt que de se dire, je m'en sortirai toujours en pas à pas.

Si Python a reellement de telles qualites pedagogiques pour l'apprentissage (malgre les defauts que je lui trouve), alors il s'imposera de lui-meme en TP, inutile de l'imposer d'en haut avec tous les inconvenients que j'ai indiques precedemment.

Mais je l'espère bien ;-) Encore une fois je m'élevais surtout contre la situation actuelle...

Maintenant, pour que cela soit très clair, je ne suis pas un évangéliste de Python. Si j'avais vraiment à faire un choix en la matière pour l'enseignement, je choisirais le TurboPascal dans son implémentation actuelle: FreePascal, et je commencerais par une version simplifiée
tournant en interprété (le Pascal original tournait sur un interpréteur de PCode). Mais comme le Pascal n'a pas vraiment percé dans l'industrie cela reste un choix un peu intellectuel.

Cordialement.
User avatar
Bunuel66
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 80%
 
Posts: 11
Joined: 30 Dec 2011, 12:39
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: 2nde

PreviousNext

Return to News Examens / Concours

Who is online

Users browsing this forum: ClaudeBot [spider] and 4 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
816 utilisateurs:
>778 invités
>27 membres
>11 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)