π
<-

Cahier algorithmique 2nde Bordas 2018: retour calculatrices

Re: Cahier algorithmique 2nde Bordas 2018: retour calculatri

Unread postby majestyofgaia » 10 May 2018, 21:26

parisse wrote:D'un point de vue algorithmique, je trouve qu'il est bien plus formateur d'utiliser une librairie pixelisee (comme set_pixel sur la Numworks, PIXON sur la Prime, ...) pour faire tracer une courbe.


Ok, mais existe-t-il un équivalent sur Python ?

parisse wrote:L'utilisation de matplotlib et numpy n'apporte presque rien, on construit les arguments d'une commande qui fait tout le travail, et il y a pas mal de ce que j'appelle "incantations" (les import, le arange, la syntaxe de la liste en comprehension, sans parler de l'installation complementaire).


En fait mon objectif était de me rapprocher un maximum de quelque chose qu'ils connaissaient, en l'occurrence le menu table de leur calculatrice :

1 - le paramétrage du tableau : Start, End, Step correspondent presque exactement aux 3 arguments de arange. La seule différence est que sur Casio, la borne "end" est incluse, alors qu'elle est exclue sur arange.

De plus, la fonction range ne permet pas d'avoir un pas décimal, donc je me suis reporté sur la fonction arange de numpy.

2 - Sur Casio, cela crée une liste de coordonnées de points. Les abscisses sont définies par les paramètres ci-dessus, et les images sont calculées à partir de la formule donnée dans Y1. Là encore, il y a un parallèle important.

3 - Je comprends l'objection sur la compréhension de listes, mais c'est une écriture très intuitive, c'est la raison pour laquelle j'avais tenté le coup.

4 - Quand on appuie sur exe après la création du tableau, on obtient aussitôt un nuage de points dont les coordonnées sont dans le tableau. Lorsqu'on utilise la fonction plot, c'est exactement ce qu'il se passe.

parisse wrote: Si on veut juste expliquer le principe de discretisation pour tracer une courbe, je pense qu'il vaut bien mieux utiliser plot(exp(x),x=0..4,xstep=0.001) ou l'equivalent sur la calculatrice, ca apporte autant sans risquer de perdre des eleves dans les details des incantations.


Mais ça c'est si l'objectif est de faire le lien entre algorithmique et construction de courbe non ? Donc niveau seconde par exemple. Mais une fois le concept compris, on peut utiliser des fonctions (comme dans mon activité de Ts par exemple) qui tracent directement non ? C'est un peu comme la fonction max. On l'explique une fois, et ensuite on utilise directement la fonction donnée par la distribution.
User avatar
majestyofgaiaVIP+
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 75%
 
Posts: 104
Joined: 17 Nov 2013, 16:20
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Cahier algorithmique 2nde Bordas 2018: retour calculatri

Unread postby blouson » 11 May 2018, 02:38

Tout ça est très intéressant mais c'est du niveau de quel lycée ? Ou alors le niveau des enfants a augmenté d'un seul coup je sais pas , j'ai même vu un bouquin sur amazon " javascript pour les kids ( dès 10 ans ) " :#fou#:
User avatar
blouson
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 66.7%
 
Posts: 135
Joined: 16 Feb 2018, 05:37
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Cahier algorithmique 2nde Bordas 2018: retour calculatri

Unread postby majestyofgaia » 11 May 2018, 06:32

Dans la même collection, il y a Python pour les kids, dès 14 ans, et ça va pltôt loin je trouve. Ils parlent même de classes d'objets.

Sinon, au Royaume Uni, il semble qu'ils proposent la programmation dès l'âge de 7 ans (KS3), mais je n'ai pas d'exercices types sous la main pour voir. Par contre, j'ai trouvé un lot de fiches en pdf qui leur est destiné : http://www.codingclub.co.uk/codecards/CC-CodeCards.pdf
User avatar
majestyofgaiaVIP+
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 75%
 
Posts: 104
Joined: 17 Nov 2013, 16:20
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Cahier algorithmique 2nde Bordas 2018: retour calculatri

Unread postby parisse » 11 May 2018, 07:17

majestyofgaia wrote:
parisse wrote:D'un point de vue algorithmique, je trouve qu'il est bien plus formateur d'utiliser une librairie pixelisee (comme set_pixel sur la Numworks, PIXON sur la Prime, ...) pour faire tracer une courbe.


Ok, mais existe-t-il un équivalent sur Python ?

Certainement, par exemple https://en.wikibooks.org/wiki/Python_Imaging_Library/Editing_Pixels

parisse wrote:L'utilisation de matplotlib et numpy n'apporte presque rien, on construit les arguments d'une commande qui fait tout le travail, et il y a pas mal de ce que j'appelle "incantations" (les import, le arange, la syntaxe de la liste en comprehension, sans parler de l'installation complementaire).


En fait mon objectif était de me rapprocher un maximum de quelque chose qu'ils connaissaient, en l'occurrence le menu table de leur calculatrice :

1 - le paramétrage du tableau : Start, End, Step correspondent presque exactement aux 3 arguments de arange. La seule différence est que sur Casio, la borne "end" est incluse, alors qu'elle est exclue sur arange.
...

C'est exactement ce que j'ai voulu dire par faire tracer une courbe a partir d'une discretisation, et s'il s'agit de faire ca, je ne vois aucun interet a utiliser Python+numpy+matplotlib, car c'est nettement plus complique qu'a la calculatrice (ou avec un logiciel qui le fait avec une commande built-in comme Xcas avec plot(exp(x),x=0..4,xstep=0.001)). Il y a plusieurs instructions purement liees au choix du langage informatique (les import), ou l'utilisation de arange dans numpy pour faire la discretisation parce que range ne le fait pas (ca n'a aucun interet mathematique de savoir pourquoi les concepteurs de Python n'ont pas permis un pas non entier pour range!) et ca n'apporte rien d'un point de vue algorithmique, les eleves ne font pas eux-memes la boucle de discretisation des abscisses. En fait j'ai l'impression que les eleves jouent le role de secretaire assez passivement, j'ai du mal a croire que beaucoup seraient capables de creer cette suite d'instructions par eux-memes ou qu'ils seraient capables de la retrouver quelques semaines plus tard, alors qu'a la calculatrice j'espere bien que si!
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 88.9%
 
Posts: 3713
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Cahier algorithmique 2nde Bordas 2018: retour calculatri

Unread postby Bisam » 11 May 2018, 08:01

Je pense comme parisse qu'il est plus important de faire comprendre aux élèves que le tracé d'une courbe passe nécessairement par une discrétisation... et du coup de la leur faire étudier, puis "calculer" et enfin la mettre en pratique dans un algorithme.
Il est d'ailleurs assez instructif d'un point de vue algorithmique de transformer une liste de points sous forme de couples (abscisse, ordonnée) en 2 listes d'abscisses et d'ordonnées.

La partie où l'on fait tracer est alors la récompense.

L'intérêt est que l'on puisse également faire tracer autre chose que des fonctions... par exemple des polygones ou même un cercle.
En plus, ça fait le lien avec la notion de trajectoire vue en physique.

Du coup, on utilise "matplotlib" uniquement pour ne pas avoir à créer une routine qui affiche des segments.

Mais je ne veux pas empiéter sur les platebandes du lycée...
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Cahier algorithmique 2nde Bordas 2018: retour calculatri

Unread postby majestyofgaia » 11 May 2018, 08:45

Bisam wrote:Mais je ne veux pas empiéter sur les platebandes du lycée...


Au contraire ! Dans ma carrière j'ai presque eu plus de formations par des profs de primaire ou collège que de Lycée, donc pour une fois que des enseignants du supérieur me donnent leur avis, j'en profite ! :)

Bisam wrote:Je pense comme parisse qu'il est plus important de faire comprendre aux élèves que le tracé d'une courbe passe nécessairement par une discrétisation... et du coup de la leur faire étudier, puis "calculer" et enfin la mettre en pratique dans un algorithme.
Il est d'ailleurs assez instructif d'un point de vue algorithmique de transformer une liste de points sous forme de couples (abscisse, ordonnée) en 2 listes d'abscisses et d'ordonnées.

La partie où l'on fait tracer est alors la récompense.


Je vais peut-être paraître insistant, mais c'est peut-être parce que je passe à côté de quelque chose : ce principe là, on peut le voir en seconde non ? Puis sur le long terme, introduire matplotlib sur des listes pour aller plus vite.

Par exemple, en seconde ça pourrait donner ceci :

Code: Select all
import matplotlib.pyplot as plt

def f(x):
    return x**2

h = 0.5

a = -4
b = 4

i = a

while i <= 4 :
    plt.plot(i, f(i), linestyle = 'none', marker = 'o', color = 'blue')
    i = i + h
   
plt.savefig("Courbes.png")

plt.show()



Bisam wrote:L'intérêt est que l'on puisse également faire tracer autre chose que des fonctions... par exemple des polygones ou même un cercle.


Oui je comprends bien, on peut aussi citer la méthode de Monte-Carlo pour une approximation de pi (c'est dans le programme, dans la partie probas continues). Je voulais faire ça sur Python avec mes Ts, et vu le succès très relatif de ma précédente activité sur Python, je leur ai demandé de le faire sur Casio (ils connaissent bien mieux le Casio basic). De plus, pour l'aspect graphique, c'est plus simple et le rendu n'est pas si mal.
User avatar
majestyofgaiaVIP+
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 75%
 
Posts: 104
Joined: 17 Nov 2013, 16:20
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Cahier algorithmique 2nde Bordas 2018: retour calculatri

Unread postby Bisam » 11 May 2018, 09:05

Comme je l'ai laissé entendre, je suis très loin de connaître parfaitement ce qui est demandé et encore moins ce qui est réellement pratiqué au lycée.
Au vu de tes réponses et du temps que tu sembles avoir consacré à la question, tu sais certainement mieux que moi dans quel ordre introduire les différentes notions.

Mes remarques étaient surtout fondées sur ce que j'avais pu constater comme connaissances de mes élèves de Sup (il y a 2 ans et plus) : beaucoup ne savaient même pas qu'une courbe était tracée par des segments. Du coup, beaucoup ne comprenaient pas pourquoi quand ils demandaient à leur calculette le tracé d'une courbe comportant une asymptote verticale, certains voyaient l'asymptote tracée et d'autres non.
Mais si tu dis que c'est déjà fait en seconde maintenant...
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Cahier algorithmique 2nde Bordas 2018: retour calculatri

Unread postby parisse » 11 May 2018, 09:19

majestyofgaia wrote:Je vais peut-être paraître insistant, mais c'est peut-être parce que je passe à côté de quelque chose : ce principe là, on peut le voir en seconde non ? Puis sur le long terme, introduire matplotlib sur des listes pour aller plus vite.

Par exemple, en seconde ça pourrait donner ceci :

Code: Select all
import matplotlib.pyplot as plt

def f(x):
    return x**2

h = 0.5

a = -4
b = 4

i = a

while i <= 4 :
    plt.plot(i, f(i), linestyle = 'none', marker = 'o', color = 'blue')
    i = i + h
   
plt.savefig("Courbes.png")

plt.show()


Je trouve que ce script a une philosophie completement differente du precedent, et est bien plus interessant pedagogiquement parlant, il n'introduit que matplotlib (numpy ne sert a rien qu'a utiliser arange dans l'exemple precedent) et ne l'utilise que pour tracer le point (et affichage/export). Le seul petit reproche que je lui fais c'est d'utiliser une boucle while (donc avec initialisation et incrementation en-dehors de la ligne du mot-clef) et pas une boucle for alors qu'on connait le nombre d'iterations a l'avance, mais ca c'est un biais du langage Python et une des raisons pour lesquelles je n'aime pas ce langage. Ensuite, en terminale S, on peut en faire une fonction utilisateur et lui passer la fonction f en argument (ou a la rigueur laisser la variable f en variable globale).
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 88.9%
 
Posts: 3713
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Cahier algorithmique 2nde Bordas 2018: retour calculatri

Unread postby majestyofgaia » 11 May 2018, 09:58

Bisam wrote:Mes remarques étaient surtout fondées sur ce que j'avais pu constater comme connaissances de mes élèves de Sup (il y a 2 ans et plus) : beaucoup ne savaient même pas qu'une courbe était tracée par des segments. Du coup, beaucoup ne comprenaient pas pourquoi quand ils demandaient à leur calculette le tracé d'une courbe comportant une asymptote verticale, certains voyaient l'asymptote tracée et d'autres non.
Mais si tu dis que c'est déjà fait en seconde maintenant...


Après on fait avec les élèves et les effectifs que l'on a. J'ai la chance d'avoir de petits effectifs et une salle d'informatique assez souvent disponible et ça doit jouer. Certains anciens élèves, qui viennent parfois nous revoir, nous disent qu'ils ont des camarades avec un bac S qui n'ont jamais réellement fait d'algorithme. Ils en ont recopié un ou deux ou en ont complété un ou deux, sur l'ensemble des 3 ans. Alors certes, il y a probablement de l'exagération des élèves, mais je peux concevoir que tout le monde n'a pas les moyens matériels de faire ce qui est demandé.

Par rapport au programme de seconde, voici les éléments qui me conduisent à en parler :

"Il s’agit également d’apprendre aux élèves à distinguer la courbe représentative d’une fonction des
dessins obtenus avec un traceur de courbe ou comme représentation de quelques données."

et dans les commentaires :

"Même si les logiciels traceurs de courbes permettent d’obtenir rapidement la représentation graphique d’une fonction définie par une formule algébrique, il est intéressant, notamment pour les fonctions définies par morceaux, de faire écrire aux élèves un algorithme de tracé de courbe."

Après je reconnais que j'approfondis pas plus que ça le sujet, et j'y serai plus vigilent dorénavant.

parisse wrote:Je trouve que ce script a une philosophie completement differente du precedent, et est bien plus interessant pedagogiquement parlant, il n'introduit que matplotlib (numpy ne sert a rien qu'a utiliser arange dans l'exemple precedent) et ne l'utilise que pour tracer le point (et affichage/export). Le seul petit reproche que je lui fais c'est d'utiliser une boucle while (donc avec initialisation et incrementation en-dehors de la ligne du mot-clef) et pas une boucle for alors qu'on connait le nombre d'iterations a l'avance, mais ca c'est un biais du langage Python et une des raisons pour lesquelles je n'aime pas ce langage. Ensuite, en terminale S, on peut en faire une fonction utilisateur et lui passer la fonction f en argument (ou a la rigueur laisser la variable f en variable globale).


J'en prends bonne note. Je peux privilégier ce type d'algorithme sans trop de soucis. Mais sinon je n'avais pas réfléchi : le nombre d'itérations on l'a : (b-a)/h donne le nombre de sous-intervalles donc il suffit de créer le premier point, puis de lancer une boucle for avec int((b-a)/h) itérations. Je mets int à cause de range qui n'accepte que le type entier (et je suppose que mathématiquement, (b-a)/h est bien un entier, c'est généralement le cas dans les exercices du lycée).
User avatar
majestyofgaiaVIP+
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 75%
 
Posts: 104
Joined: 17 Nov 2013, 16:20
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Cahier algorithmique 2nde Bordas 2018: retour calculatri

Unread postby majestyofgaia » 11 May 2018, 20:55

A surveiller : http://www.editions-ellipses.fr/product_info.php?products_id=12701

Il y aura peut-être des pistes intéressantes à exploiter.
User avatar
majestyofgaiaVIP+
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 75%
 
Posts: 104
Joined: 17 Nov 2013, 16:20
Gender: Not specified
Calculator(s):
MyCalcs profile

PreviousNext

Return to News Divers

Who is online

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

-
Search
-
Social TI-Planet
-
Featured topics
Grand Concours 2024-2025 - Programmation Python
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 !
12345
-
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.
1084 utilisateurs:
>1048 invités
>29 membres
>7 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)