Bonjour
Pour l'instant je fais l'algorithmique en Python, et il me semble que les élèves accrochent bien.
J'ai un certain nombre de préjugés contre l'enseignement d'Algobox, et je serais content d'entendre votre avis.
1. python n'est pas fondamentalement plus compliqué à mettre en œuvre qu'algobox. Dans mon expérience, le fait de devoir retenir "print" plutôt que cliquer sur le bouton "AFFICHER" n'est pas un obstacle.
Est-ce que quelqu'un a déjà essayé algobox ET python, et remarqué que les élèves accrochent mieux algobox ?
2. En algobox on prend la mauvaise habitude de programmer en français. Les quelque mots d'anglais que j'enseigne à mes élèves "print", "append", "for", "list" ne sont d'expérience pas du tout un problème pour les élèves.
3. En algobox on prend la mauvaise habitude de cliquer sur des boutons plutôt que retenir des commandes (encore une fois, d'expérience, ce n'est absolument pas bloquant)
Est-ce que quelqu'un a une expérience montrant que les élèves ayant débuté sur Algobox ont plus facile à passer à de la vraie programmation que ceux qui se sont tout de suite frotté à Python ?
4. algobox sur un CV, ça ne vaut rien, et ça ne vaudra jamais rien, même pas dans 1000 ans. Python, ça peut valoir lourd (ça dépend du job convoité).
5. Je suis très sceptique sur l'intérêt pédagogique de déclarer ses variables. A priori je dirais que c'est une mauvaise habitude à prendre que de croire que si a et b sont deux variables d'un certain type, alors a+b sera encore du même type.
Certes dans les langages compilés, il faut déclarer ses variables, mais les raisons qu'il y a à cela sont complètement hors programme.
6. Il n'y a pas de paquet algobox pour Ubuntu (ce point est VRAIMENT bloquant pour certains). A contrario, python est disponible pour toutes les plates formes et tous les systèmes y compris les mobiles.
7. Dans la même optique que le point 6, je suis certain que python sera encore disponible partout lorsque mes élèves auront 30 ans. Pour algobox c'est nettement moins clair.
Je veux bien croire qu'Algobox soit moins rebutant que scilab ou que Xcas (et a fortiori que les macros OpenOffice--encore qu'on puisse écrire des macros OpenOffice en python ), mais contre python, franchement je ne vois pas.
Est-ce que quelqu'un a de l'expérience ?
Bonjour,
on a déjà discuté ici dans quelques topics sur l'intérêt d'utiliser un logiciel dédié à l'algorithmie plutôt qu'un véritable langage qui existe déjà.
Mais on a aussi évoqué un autre "problème" : pourquoi de nouveaux langages voient-ils le jour alors qu'il en existe déjà tellement ?
On peut donc de la même manière se demander pourquoi Python a-t-il été inventé alors qu'il existait déjà d'autres langages avant lui ?
Alors oui, on va peut-être répondre qu'il est "mieux", qu'il n'a pas les inconvénients de certains langages et qu'il propose des avantages.
Oui, mais alors comment se fait-il que les langages plus anciens sont toujours là et sont toujours utilisés ?
Voilà, on peut se poser pas mal de questions sur "les langages".
Sinon, je me suis aussi posé la même question il y a quelques années lors de l'introduction de l'algorithmie au lycée, je me suis dis "mais pourquoi ne pas utiliser un vrai langage informatique" ?
La vraie réponse est qu'à mon avis 90% des profs de maths ne savent pas programmer et ne connaissent aucun langage. Alors quand on leur a mis dans les pattes un truc genre Algobox, alors ils sont partis là-dessus sans se poser de questions, tout simplement !
salut
je dirais pour aller dans le sens de jamo et compléter sa réponse ::
algobox est un langage démago pour faire semblant de faire comme on fait semblant d'enseigner à des enfants qui font semblant d'apprendre (ouais j'y vais lourd...) dans la folie du pédagogisme régnant actuellement ....
et oui il existe des langages anciens qui auraient pu convenir
je me suis pencher un peu sur python (mais pas trop pour ne pas tomber ) il me semble qu'il a des avantages de simplicité et multiplateforme qui me semblent intéressant
tout à fait d'accord avec toi pour les clics ....d'algobox
quand à l'anglais je fais écrire mes algo en anglais et ça ne pose pas de pb ....
tout comme utiliser le symbole = pour l'affectation ....plut^tot qu'un abrutissant "...prend la valeur" ....
quant à la question pourquoi ne pas utiliser un vrai langage informatique, je pense que jamo a clairement cerné le pb ....
Quelques réflexions personnelles…
Algobox est un progiciel d'apprentissage de l'algorithmique.
Rien de comparable donc avec un langage de programmation.
La comparaison sur ce point n'est pas à faire.
J'espère quand même que les quelques mots d'anglais nécessaires
à une programmation dans un langage informatique ne sont pas un problème
pour des élèves de Seconde qui ont quand même 4 années d'anglais
derrière eux. Et puis, on a vite fait le tour des mots à utiliser
pour programmer.
Je trouve bizarre qu'un professeur de maths considère que la déclaration
de variables et le type de variable serait superfétatoire. C'est un peu
comme si on résolvait une équation sans savoir si on travaille dans IN,
IR ou . Ce qui ne justifie pas qu'on s'attarde, dans un premier
temps, entre le short, l'integer, le long, le float, le double et le long
double.
Algobox ne me plait pas plus que ça simplement parce que je trouve que les
Indentations des instructions IF SINON sont très lourdes et ne reflètent pas
la logique d'une programmation structurée. Cela dit, il permet l'apprentissage
des notions qui sont inscrites au programme et qui seront exigées au Bac.
On ne peut donc pas dire que l'outil est mauvais, compte tenu de l'objectif
poursuivi.
Que ce soit Algobox, LARP ou le TI-basic, pour rester dans des choses simples,
ce n'est pas la dizaine de lignes à écrire ou à cliquer par algorithme qui
requiert la performance de tel outil ou de tel langage.
Et puis, le but poursuivi en secondaire, c'est l'apprentissage de
l'algorithmique, pas l'apprentissage d'un langage de programmation.
Donc peu importe le contenant, si le contenu est enseigné.
Si l'utilisation de Python, du Basic, du Lisp, du C et C++, du Cobol, du
Pascal, etc… permet d'arriver à ce résultat, ou de donner de l'intérêt à
cet enseignement, je dirais qu'il ne faut pas s'en priver.
Mais pour l'instant, je n'ai pas vu beaucoup de retour d'expérience de la
part des enseignants, pour nous faire part de l'intérêt pédagogique
d'introduire un vrai langage de programmation dans leur enseignement.
Comme le dit Jamo, le problème ne se pose pas pour nombre d'entre eux qui
ne connaissent aucun langage, mais pour les autres ? perso, je préfèrerais
utiliser, comme Carpédiem, un vrai langage, ne serait-ce que pour les élèves
qui auraient une vraie envie d'en faire plus…
Bonsoir,
Être contre un logiciel n'autorise pas à diffuser des informations fausses.
1) Algobox est bien disponible pour ubuntu (paquets pour ubuntu 12.04 et pour les versions précédentes des version statiques autonomes sont disponibles : )
2) Il n'a jamais été obligatoire de cliquer dans algobox : un mode éditeur de texte existe depuis longtemps
3) La syntaxe d'un if else en c/c++/java/javascript/php (80% des langages de programmation utilisés) :
if ()
{
...
}
else
{
...
}
Avec Algobox :
SI ...
DEBUT_SI
....
FIN_SI
SINON
DEBUT_SINON
....
FIN_SINON
N'y aurait-il pas un air de famille?
4) L'apprentissage de la programmation n'a jamais été au programme de mathématiques....(il suffit de lire au BO)
Les seules choses au programme :
Instructions élémentaires (affectation, calcul, entrée, sortie)
Boucle et itérateur, instruction conditionnelle
Le programme précise même (à propos des algorithmes) qu'il ne s'agit que "d'en réaliser quelques-uns à l'aide d'un tableur ou d'un programme sur calculatrice ou avec un logiciel adapté" et qu'aucun "logiciel, ni langage n'est imposé".
Tant qu'à l'intérêt d'algobox :
1) c'est à chacun de juger (personne n'est obligé de l'utiliser et je n'y suis pour rien si aussi peu de manuels propose des activités en python)
2) si on ne l'aime pas, il suffit de ne pas l'utiliser
Dernière remarque : des statistiques ont été faites sur l'exercice d'algo dans le sujet du bac S de juin dernier en métropole.
Résultat : 18,8% de réussite sur une simple boucle ( )
Après on peux toujours continuer à croire que la majorité des élèves et des profs sont naturellement à l'aise en programmation et que tout le monde peut passer directement à l'utilisation de langages avancés (ce qui n'est même pas au programme)...
P.Brachet (auteur d'algobox)
Le C, ancien langage certes, mais il reste le langage le plus utilisé, si on regarde par exemple ici :
Et si on considère que Java, C++ et les autres en tête de liste restent très proches du C, on bat vraiment de loin tous les autres langages !
De toute façon, je trouve qu'il existe trop de langages.
Merci Paul pour ta réponse.
Je vais commencer par me citer :
je suis d'accord avec les deux derniers posts ... en particulier sur le fait qu'il y a trop de langages "éducatifs" ....
jamo :: certe oui ... mais l'objectif est de trouver un bon compromis je pense entre un langage comme C ou comme Algobox ...
et ...
pbrachet : ...je trouve que Algobox est trop "enfantin" pour le public auquel il se destine (les lycéens qui, pour certains en SIN ou en SI utilise des langages "plus complexes" alors que je le trouverais très intéressant pour des collégiens) (bien qu'on puisse en discuter par rapport aux objectifs ou aux résultats obtenus au bac)
en particulier (et pour préciser mes propos quelques peu ... virulents !!) je dirais par exemple
l'exemple du "prend la valeur" sur lequel je ne revient pas
et la déclaration de variable avec "est du type"
il me semble qu'une syntaxe du type : (des exemples)
mot : alphanumérique ;
compteur : entier ;
truc : réel
...
(et les points-virgules ou deux points ne sont pas anodins)
est plus proche de ce qu'ils rencontreront par la suite pour ceux qui continueront dans cette voie, et ne nuit pas aux autres me semble-t-il
utilise de fait une ponctuation qui est très instructif et pédagogique pour la rigueur (et le français) de l'écriture et Dieu sait qu'ils en ont besoin ...
bien entendu dans un algorithme on peut s'en passer mais quand on va écrire effectivement un petit programme ce peut être très riche et formateur pour les élèves (tout comme il est nécessaire d'apprendre une grammaire quand on étudie une langue ....)
sinon pour ton point 3) effectivement utiliser des accolades ou des mots ne me gène pas tant que ça ...
par ailleurs la déclaration ou non de variables je n'en dirais rien d'autre que je rejoins Pgeod pour dire que son intéret pédagogique n'est, il me semble, pas contestable tout comme le montre son exemple et vu nos élèves ....
après, si elle n'est pas nécessaire avec le langage utilisé ... ben tant mieux ...
bon mes propos sont peut-être (un peu) influencés par le fait que j'ai fait un peu de programation dès le lycée ...mais je ne pense pas que l'algorithmique et la programation avec un langage convenable (tout le pb est de déterminer ce "convenable" ) ne soient si terribles et compliqués que cela et je pense que les résultats que tu donnes en lien (certe plus faible que pour les autres items testés mais ce n'est que le début) ne sont que le reflet d'un autre pb beaucoup plus grave qui est celui de notre éducation ....
cordialement
Je vais préciser ce que je disais ici :
Je profite donc du passage de pbrachet sur l'île pour
compléter ma remarque sur l'indentation des instructions
IF et SINON que l'on retrouve dans Algobox et que je trouve
effectivement peu aisée, au contraire des normes de présentation
utilisées notamment en C, puisque ce sont celles qui sont prises
par lui pour illustrer son propos.
Je parlais bien d'indentation c'est à dire de la présentation des blocs
d'instructions de même rang qui permet de lire le programme de manière structurée.
dans Algobox on trouve actuellement :
SI ...
DEBUT_SI
...
FIN_SI
SINON
DEBUT_SINON
...
FIN_SINON
Si l'on se satisfait d'un seul test, c'est encore lisible.
Si l'on introduit un test dans un test, on ne sait plus ce qu'on traite.
On aimerait trouver plutôt cette présentation, plus conforme à la logique
puisque les instructions dans le bloc DEBUT_SI .. FIN_SI sont de même
importance que celles dans le bloc DEBUT_SINON .. FIN_SINON
SI ...
DEBUT_SI
...
FIN_SI
SINON
DEBUT_SINON
...
FIN_SINON
Et ce faisant, on pourrait rajouter avec bonnheur le test conditionel
"en rateau" qu'on utilise également en C de la manière suivante :
if ..
{ ..}
else if
{ ..}
else if
{ ..}
else
{ ..}
Ce qui donnerait en Algobox :
SI ...
DEBUT_SI
...
FIN_SI
SINON SI
DEBUT_SINON
...
FIN_SINON
SINON SI
DEBUT_SINON
...
FIN_SINON
SINON
DEBUT_SINON
...
FIN_SINON
Et là, ça commence à être moins lourd en terme de présentation et de programmation.
Pour ceux qui :
- sont bourrés de préjugés et qui n'essayent même pas par eux-mêmes pour voir si leurs préjugés ont le moindre fondement;
- ne lisent pas les programmes et n'ont toujours pas compris que la programmation n'en a jamais fait partie;
- qui n'ont pas compris que si algobox n'avait aucun intérêt pédagogique il ne ferait pas partie des logiciels officiels pour les oraux du capes (c'est même le deuxième logiciel utilisé lors des oraux)
Voilà ce que publie un IPR dans un article sur sesamath ( ) :
Merci pgeod
Si le ton de mon premier message était non approprié, je m'en excuse. Je voulais dire : voici les arguments qui m'ont été présenté pour dire qu'algobox était bien, et voici pourquoi ils ne me convainquent pas. Plutôt que passer des heures avec des élèves en sale PC pour me faire «ma propre opinion», j'ai préféré demander si quelqu'un avait déjà de l'expérience.
Si je devais essayer par moi même tous les trucs que l'on m'a présenté comme bien ... de temps en temps il faut bien faire des tris un peu arbitraires.
Merci donc à celles et ceux qui ont répondu; en particulier pour l'explication du pourquoi déclarer les variables était pédagogiquement intéressant. J'avais pas pensé qu'effectivement, ça revenait à donner le cadre dans lequel on travaille.
Bonne après-midi
Laurent
Laurent,
Le ton de votre premier message n'a surpris personne ici...
jusqu'à ce que l'auteur d'Algobox se sente froisé par vos propos.
Pour les habitués du forum, on avait très bien compris qu'il s'agissait
pour vous d'interrogations légitimes et nouvelles, que nombre d'enseignants
se posent comme vous, et auxquelles on a tenté de répondre en fonction
de notre expérience.
A+
Cela dit, j'aimerais bien un commentaire de Paul Brachet
sur ma remarque concernant l'indentation des instructions
IF et SINON dans Algobox --> voir Posté le 18-10-12 à 21:12
J'espère que pbrachet ou muthur pourront me répondre.
bonjour,
je vous remercie pour ce sujet : je n'avais jamais percuté qu'il y a un mode texte ! Du coup, paf, copié-collé, j'adore !
Maintenant, j'apporte mon cailloux à la réflexion "AlgoBox pédgogique ou non" : moi j'aime.
Pourquoi ? Justement parce que les élèves ont peu de latitude : des instructions élémentaires et rien d'autre. Je trouve que ça a certains avantages de l'algo sur papier (pas ou peu de problème de syntaxe, pas de traduction à faire par rapport au langage courant) et certains avantages de l'algo programmé (possibilité de faire plein de tests sans perdre de temps de calcul, un algo qui ne fait que ce qui est écrit et pas ce que l'élève a pensé écrire).
Je ne dis pas que c'est l'outil ultime, mais je le trouve pratique et de prise en main rapide, aussi bien pour le prof que pour les élèves.
Et non tous les profs ne savent pas programmer. Est-ce que c'est grave ? Franchement, pour programmer une demi-boucle, "investir" du temps dans Python ou autre, je ne suis pas convaincue. Et si on ne veut pas faire AlgoBox, ben, on n'est pas obligé, on peut tout faire en programmant la calculatrice.
Je remonte un peu le fil:
j'ai utilisé algobox cette année avec mes élèves de seconde et python3 avec mes élèves de terminale et d'isn.
J'étais plutôt pas emballé au début pour algobox mais après expérimentation je trouvé cela formidable avec des élèves de seconde. J'ai utilisé des sujets issues de http://www.france-ioi.org/algo/chapters.php
En terminale cependant il me semble plus formateur d'utiliser python (ou autre comme ruby).
Les principaux reproches que je fais à algobox
-> (cela a déjà été dit) mettre au même niveau si .... alors ... sinon ...
-> Il n'y a pas de possibilité d'utiliser ^ (ou **) à la place de pow
-> dans la boucle pour il n'y a pas la nombre de pas.
par exemple:
Pour i allant de n à 1 par pas de -1
-> Il me manque aussi: pour i à valeur dans L (où L est une liste)
En espérant que ces manques soient enlevés au fur et à mesure des versions.
Je vous donne mon avis sur vos questions :
- Pour les indentations du si... alors... sinon
je reste évidemment sur ce que j'ai déjà écrit
mais sur lequel "pbrachet", malgré son "coup de gueule",
n'a pas daigné répondre.
La syntaxe actuelle est trop lourde et surtout trop
peu lisible lorqu'on enchaîne plusieurs tests imbriqués.
Sur ce point particulier, Algobox n'est pas aisé.
- l'utilisation de pow n'est pas un gros handicap en lieu
et place des traditionnels ^ (ou **) qu'on retrouve sur les
caculatrices.
A la limite, ce genre de syntaxe rapproche même la notion
informatique de celle de fonction : fonction carrée,
fonction cube, etc..
On peut aussi présenter ce type de syntaxe comme
une illustration d'un appel à un sous-programme avec
l'envoi de deux paramètres.
- pour les boucles FOR un peu originales, faites du WHILE...
cela permet toutes les fantaisies. En plus, la boucle WHILE est
la seule vraiment nécessaire et elle est pédagogiquement parfaite
car on doit initialiser la variable de boucle correctement et
on doit l'incrémenter manuellement.
Les boucles FOR sont justes là pour s'implifier l'écriture
en programmation sur les boucles simples.
Bonjour,
J'ai suivi ce fil avec intérêt depuis le début mais je n'avais pas pris le temps d'y participer.
Pour ma part, je trouve qu'Algobox est parfait pour débuter en seconde, parallèlement à la programmation sur calculatrice :
- il répond parfaitement aux exigences du programme,
- il permet aux élèves de ne pas s'attarder sur la syntaxe,
- sa compréhension est immédiate.
Moi aussi, je trouve sa syntaxe un peu lourde, en particulier pour la présentation du SI ALORS SINON et pour l'affectation. À propos de l'affectation je ne partage pas l'idée que ce serait mieux d'utiliser le signe = comme dans les langages C, Java, Python ... car, mathématiquement, il ne s'agit pas d'une égalité (et l'égalité vraie est remplacée par l'affreux == en C et Java notamment)
En particulier l'expression " x prend pour valeur x+1" me semble beaucoup plus correcte que "x = x+1" qui est un non sens (ou plutôt qui est une équation n'ayant aucune solution). J'aurais préféré quelque chose de plus court comme "x reçoit x+1". Mais ce n'est pas essentiel.
L'utilisation d'un vrai langage (C, Python, Pascal, ...) ne me semble pas bonne pour tous les élèves. J'enseigne (plutôt j'essaie d'enseigner) la programmation depuis plus de 30 ans, d'abord en Basic, dans les années 80 (je n'ai jamais voulu utiliser LSE, mais qui se souvient de ce langage ?), puis Turbo Pascal à partir de 1986, puis Delphi à partir de 2000 et maintenant Java avec les élèves en ISN. Chaque fois, il y a beaucoup d'élèves qui décrochent et d'autres, moins nombreux, qui adhèrent. Pourquoi ? Je ne sais toujours pas.
Pour en revenir au début de ce fil, Laurent disait un peu vite :
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :