La programmation au programme ?
Pour plusieurs, la programmation éveille la terrible image d’un écran d’ordinateur monochrome rempli d’un code aride, voire impénétrable. Je crois savoir que c’est encore le cas pour ceux qui font de la programmation informatique avancée. Mais ce n’est pas nécessairement le cas. Il existe des langages de programmation beaucoup plus simples et amusants, à la portée des enfants. Le premier a sans doute été LOGO. Aujourd’hui, les enfants peuvent s’initier à la programmation avec Squeak ou Scratch. J’en suis à me demander si la programmation ne devrait être considérée comme une compétence TIC à ajouter au programme de formation des élèves. …
Je penche de plus en plus vers l’affirmative. Sur le plan psychologique, c’est une excellente façon de développer l’analyse, la synthèse, le raisonnement logique et la créativité. Et même la pensée mathématique, selon Gilles. Par ailleurs, c’est une façon de démythifier une technologie qui envahit de plus en plus de nos vies et de donner aux individus des moyens de réagir.
Je ne m’étendrai pas plus longuement sur les raisons qui m’amènent à cette conclusion hésitante. Il se trouve que je les ai jetées en vrac dans un commentaire sur le blogue d’Éric, ce matin, en réponse à un éclaircissement. Au départ, j’avais été très impressionné par son habileté à automatiser la publication de fils RSS dans un blogue. Plutôt que de me répéter, il m’est plus facile de reproduire ici mon commentaire :
- D’une part, nous sommes envahis par les TIC. D’autre part, les possibilités de la programmation informatique semblent illimitées. Par conséquent, je vois dans la programmation une ressource tellement prometteuse et pour ne pas dire indispensable sur le plan de la créativité et de l’autonomie. « Programmation » est un bien grand mot, évidemment, et que je ne suis pas apte à définir, tellement il comporte de ramifications. Mais je crois qu’il faut trouver une façon de faire en sorte que les futurs citoyens ne soient pas absolument asservis aux TIC. Il est primordial, également, qu’ils soient capables de protéger leur individualité face à cette nouvelle forme de pouvoir.
Quand je vois des utilisateurs qui savent manipuler les outils de façon aussi constructive, comme tu viens de le démontrer, il me semble que c’est une compétence à développer chez les jeunes. Je n’ai que le terme anglais « empowerment » qui me vient à l’esprit.
En tant qu’éducateur, c’est une idée qui me tarabuste depuis quelque temps et à laquelle je ne trouve pas encore de réponse définitive. J’avais l’intention d’écrire un billet sur le sujet, mais comme ma liste de sujets en retard ne fait que s’allonger, aussi bien aborder la question ici pendant que l’occasion se présente.
Je crois que pareille compétence n’est pas à la portée de tous. Pour l’instant, j’en suis à penser que cela pourrait être une compétence optionnelle, à ranger dans la catégorie des compétences TIC avancées. Au début, je pensais que ce genre de compétence ne devait être offert que sur une base optionnelle. Mais de plus en plus, vu la puissance que prend ce genre de savoir-faire, je commence à croire que tous les élèves devraient au moins être exposés aux rudiments de la programmation, histoire de savoir s’ils aiment ça et s’ils éprouvent quelques affinités.
Est-ce que la programmation ne sera pas bientôt aussi indispensable que l’écriture ? Et puis il y a une logique dans cette forme de création qu’il vaut la peine d’exploiter, dans une perspective d’apprentissage.
Ma perspective est peut-être très égocentrique. Ce que je constate, aujourd’hui, c’est que je regrette de devoir faire tous ces apprentissages de façon autodidacte. Quand je pense à tout ce temps que j’ai perdu à l’école, j’aurais bien aimé, aujourd’hui, avoir pris quelque temps pour qu’on m’initie à cette forme de langage.
Mise à jour, 15 mai 2007 | Scratch a fait du chemin en deux ans. La BBC publie un article intéressant (Free tool offers easy’ coding) sur cette application gratuite qui simplifie la programmation en fonction d’opérations logiques. Pas étonnant que cette nouvelle fasse le tour de la blogosphère en ce moment.
Par ricochet :
Bof, les maths…
Vous pouvez suivre les commentaires en réponse à ce billet avec le RSS 2.0 Vous pouvez laisser une réponse, ou trackback.
Je vais poursuivre la discussion ici.
Ce qui j’avais compris de ton intervention, était l’éventuelle disparition de la programmation.De toute façon je ne suis pas des plus enthousiastes concernant la programmation au secondaire. Ce n’est pas d’un ordre pédagogique que j’émets ces réserves mais plutôt d’un ordre pragmatique.
Quel langage utilisé afin de donner un sens à l’élève (d’autant plus qu’il existe dès le départ un écart technologique important entre les élèves eux-mêmes)? À mon avis, il peut être difficile de donner un sens, lorsque l’élève doit utiliser une vingtaine de lignes de code nébuleux afin d’avoir un programme qui demande le nom, la date de naissance et de dire ensuite: »bonjour Eric, il s’est écoulé x secondes depuis ta naissance ».
Certains pourraient me proposer l’HTML mais, j’ai énormément de difficulté à appeler l’HTML un language de programmation, peuvent-être que c’est dû à l’absence de logique absolue dans ce type de « codage ».
Une piste de solution que j’avais tenté d’aborder l’an dernier était la conception d’un webzine sous base spip, je posais comme hypothèse que la programmation par boucle Spip pouvait offrir un minimum de logique avec des résultats tangible. Le projet avorta, dû au plantage de la base de donnée. Avec le recul je ne répéterais pas cette tentative.
Pour l’instant le CSS m’interpelle, mais j’en suis encore à la recherche de la perle rare.
Pourquoi ne pas laisser l’élève choisir le langage le plus approprié à ses apprentissages (en intégrant la programmation TOUT le temps et non pas dans un cours de programmation).
Langues : les REGEX, les macros
Sciences : les scripts avec des logiciels du type Cybergéomètre, courbes en Java ou en PHP/GD ou en Basic (!), construction d’un simulateur, etc.
Arts : les scripts, scripts=-fu et autres des logiciels de dessins, scripts de musiques, etc. Construction d’un simulateur en danse, HTML/CSS en « arts web »
Dans tous les cours, la gestion de bases de données est possible.
Mais tout devrait commencer au préscolaire/primaire : Structure simple avec Cybergéomètre (4 boutons pour programmer!!!), LOGO, Robotique, HTML/CSS.
Je suis d’accord avec Éric pour ne pas donner de cours de programmation formels au secondaire. La disparité entre les élèves est trop grande et le langage trop aride. Voilà pourquoi je songeais à l’introduire dès le primaire, par le truchement d’applications simples et amusantes, comme celles nommées dans le premier paragraphe du billet. S’il en est de la programmation comme des langues, les rudiments ont avantage à être appris en bas âge, alors que le cerveau est encore très souple. Par conséquent, je suis du même avis que Gilles.
Par ailleurs, Gilles soulève une idée que je trouve fort intéressante, soit celle d’intégrer des éléments de programmation en fonction des besoins du cours. Je devine que cela se prêterait bien au secondaire, surtout si les élèves devaient avoir été initiés à la programmation au primaire. Il s’agit d’une façon intelligente de donner un sens à la programmation. Mais pour cela, il faut d’abord que les enseignants intègrent les TIC dans leur pratique. Heureusement, plusieurs ont entrepris le virage.