Jobineries

Blogue de Gilles G. Jobin, Gatineau, Québec.

jeudi 16 septembre 2004

Et si j'essayais de comprendre

Après mon habituelle réaction (les garcettes en l'air), je me suis mis à réfléchir sur le sens et les implications d'un tel règlement.

Deux hypothèses ont surgi.

Première hypothèse : les décideurs qui ont signé le règlement sont complètement ignorants du fonctionnement du web.
Il est clair qu'il sera très difficile pour un enseignant de sélectionner les sites pour les élèves. La toile étant ce qu'elle est, il est à peu près certain que dudit site, l'élève, juste en cliquant pourra tomber sur un site web qui pointe vers Google. Par exemple, si l'enseignant permet Cyberpresse, l'élève n'aura qu'à descendre un petit peu dans la page pour trouver le moteur Google. Il faudra aussi bannir Carrefour Éducation, car leur bottin fait référence à plein de sites qui, eux-mêmes, pointent vers Google. Il est donc très évident que l'enseignant aura fort à faire pour trouver des sites qui eux-mêmes ne renvoient pas à des sites qui eux-mêmes ne renvoient pas à des sites qui... ne pointent pas vers Google. Donc, l'ignorance du décideur rendra la vie (tout au moins l'utilisation d'Internet) bien difficile aux enseignants et aux élèves. Cette hypothèse est terrible car c'est avouer qu'en 2004, il y a toujours des décideurs du monde de l'éducation qui sont très loin des réalités technologiques du monde moderne et qui, par leur ignorance, empêchent les élèves d'avoir accès à des contenus de qualités.

Seconde hypothèse : les décideurs ont une bonne connaissance du web et savent très bien ce qu'ils font. En ce cas, deux possibilités. La première, c'est qu'on offrira aux enseignants un robot permettant de vérifier que les liens donnés aux élèves répondent bien au critère qui est, je le rappelle, de ne pas pointer vers Google. Il est très possible que cette cs ait demandé à une compagnie (ou une certaine société bien connue au Québec) de leur développer un tel logiciel. Seconde possiblité : On n'a aucunement l'intention d'aider les enseignants à sélectionner de bons sites. La conséquence est à mon avis quasi-immédiate, soit d'empêcher tout simplement aux élèves l'utilisation de l'Internet. Autrement dit, les dirigeants savent que c'est à peu près impossible de trouver des sites qui eux-mêmes ne pointent pas vers des sites qui eux-mêmes ... (etc)... et donc, il veulent éliminer Internet du paysage pédagogique de l'élève. Et ils feront ainsi porter l'odieux des conséquences (chers enfants, JE ne veux pas que vous alliez sur le web) sur les épaules de l'enseignant. C'est bien la direction qui ne veut pas que les enfants touchent au web mais ils camouflent leur décision par un règlement qu'il est concrètement impossible de respecter.

Donc, première hypothèse : les dirigeants sont ignorants et, conséquence, le prof doit bannir le web de sa classe. Deuxième hypothèse, les dirigeants sont intelligents et stratèges, et le prof doit soit bannir le web dans sa classe en portant l'odieux de la décision, soit acheter un logiciel probablement à grand prix d'une certaine compagnie.

Devinez vers laquelle des deux hypothèses je penche ...

mercredi 15 septembre 2004

La Réforme ? Ben voyons donc !

- Chéri, viens lire ce texte.

J'entrais juste à la maison. Il était 19h. J'avais faim.

- Tu as ajouté un truc à ton blog, fis-je en regardant l'écran.

La lecture a été rapide. Ma réaction aussi.

-Mais ils sont fous, à ta commission scolaire!

-C'est un règlement. Les élèves ne peuvent plus utiliser Google. Idem pour Copernic. On nous a dit que c'était aux profs de fournir la liste des sites ...

-Wash... Me sembait que c'était aux élèves de développer leurs compétences à la recherche, pas aux enseignants. J'en reviens pas.

Marie me regarda, déconfite.

-Te rends-tu compte, me dit-elle. Estéban pourrait fréquenter une école de ma cs.

Horreur : j'avais pas envisagé cette possibilité : mon petit-fils pogné à chercher dans des sites prédigérés par les profs... Après une minute de profonde réflexion, je lançai :

- Bof, au pire, je lui paierai une école privée qui aura compris l'esprit de la Réforme.

Content d'avoir trouvé une solution, j'ai pu souper calmement.

mardi 14 septembre 2004

Bof, les maths...

Mon intervention dans le blogue de Monsieur Guité.

Bonjour,
Je pense que ce n'est pas au deuxième cycle du secondaire qu'il faut supprimer les maths mais bien au premier.

Lieux communs :
C'est en forgeant qu'on devient forgeron.
C'est en faisant des maths qu'on devient mathématicien

Subtilité :
Mais le programme ne demande pas de former des mathématiciens, il demande de développer des compétences à résoudre des problèmes mathématiques.

Paradoxe :
Or si c'est en forgeant que l'on développe des compétences à résoudre des problèmes de forgerons, ce n'est pas en résolvant des problèmes de mathématiciens qu'on développe la compétence à résoudre des problèmes de nature mathématique.

Je crois que c'est une erreur de supposer que par l'étude de concepts généraux, les élèves pourront transposer dans des situations particulières. Pour généraliser des concepts, il faut d'abord en avoir, c'est-à-dire qu'il faut avoir vu plusieurs cas particuliers pour en dégager un principe général utile.

Mais l'école l'exige : les élèves doivent développer des compétences en résolution de problèmes, doivent être capables de jouer avec des concepts abstraits et de communiquer dans un langage mathématique rigoureux. Là où je ne suis plus d'accord, c'est pour dire que la mathématique est l'outil qui convient pour développer ça. Dans l'enseignement des mathématiques, l'élève est pris avec des concepts beaucoup trop abstraits, loin de lui, pour être en mesure de se concentrer sur le raisonnement, la logique et la représentation d'une idée.

C'est dans cet esprit que je propose de remplacer l'enseignement des maths par l'enseignement de la programmation d'applications informatiques car elle permet de se concentrer sur des concepts beaucoup plus contextualisés.

Il ne faut pas oublier qu'on ne peut parler à une machine que dans un langage RIGOUREUX et LOGIQUE. La machine répond immédiatement lorsqu'on lui parle "tout croche" : "Erreur de syntaxe à la ligne 24", "Vous tentez d'additionner deux nombres de types différents", "la fonction XYZ n'existe pas", etc.

L'intérêt principal, pédagogiquement parlant, d'enseigner la programmation plutôt que les maths est le suivant : les concepts qui sont GÉNÉRALISÉS en mathématiques sont CONTEXTUALISÉS en programmation (comme dans la vie d'ailleurs).

Plusieurs exemples me viennent en tête pour expliquer mon point de vue. En voici un :
Prenons le cas des nombres. En programmation (dans les langages fortement typés), on ne peut additionner des entiers avec des réels. La machine nous arrête si on veut faire une telle opération. Regardez maintenant cette petite opération, que plusieurs élèves sauraient répondre facilement et immédiatement :

-10 + 8.


Je suis absolument convaincu que l'ensemble des élèves (et des adultes!) ne comprennent absolument pas le sens de cette question. En effet, un esprit rigoureux NE PEUT y répondre sans d'abord s'en poser plusieurs au préalable. Par exemple, que représente -10? Est-ce un nombre entier ? un nombre rationnel ? Un nombre réel? Même question pour 8. Et l'addition, dans quel contexte se passe-t-elle? Même si plusieurs jugeraient que je coupe les cheveux en quatre ici, c'est n'est absolument pas le cas : j'essaie juste d'être rigoureux. Lorsque je vois -10 +8, je vois des oranges et des pommes. Or, on ne peut additionner des oranges et des pommes, n'est-ce pas? Autrement dit, il faut absolument connaître le contexte dans lequel on doit opérer. À mon avis, si les enfants (et les adultes) éprouvent de la difficulté en mathématique scolaire, c'est tout simplement parce qu'ils ne voient pas les contextes, que ces derniers varient d'un problème à l'autre sans qu'on les en informe. En informatique, les contextes sont habituellement très clairs.

En programmation, on DOIT répondre à toutes les questions de contextualisation posées ci-dessus à propos de -10 + 8 AVANT de pouvoir procéder. Cela est rigueur.

En pseudo-code, cela donne :

VAR A ENTIER
VAR B REEL
A = 10
B = 8


Et si on demande A + B, le système nous sortira une belle erreur du genre : "Vous essayez d'additionner des nombres de types différents". La machine EST rigoureuse, beaucoup plus que plusieurs de nos livres de maths...
Et puis, l'élève qui voudra tout de même procéder à l'addition de ces deux nombres devra "importer" l'entier dans l'univers des réels AVANT de pouvoir additionner.

En informatique, le nombre est une entité concrète. Or, il faut bien comprendre la nature d'un nombre avant d'en généraliser l'idée.

Prenez le cas 20/50 + 40/50. Qu'est-ce que cela signifie ? À mon avis, cela dépend du contexte. Imaginez que ce sont deux examens de maths... on a donc 60 sur 100. Pourtant, dans un contexte très "scolaire", il est mathématiquement clair (en tout cas pour le prof) que la réponse est 60/50. L'élève aura un haussement d'épaule en se disant qu'en maths, tout peut arriver.... Vous me direz qu'en maths, 20/50, ça veut dire "vingt cinquantièmes". Pourtant, cela peut aussi dire 20 DIVISÉ par 50. Et cette division, en est-elle une de contenance ou de partage (combien peut-on faire de paquets de 20 pommes à partir d'un paquet de 50 pommes; on désire partager 20 pommes entre 50 personnes) ? Et si on conçoit cela comme "on a eu 20 points sur 50", alors peut-être comprendrez-vous que l'ÉCRITURE 20/50 peut vouloir dire N'IMPORTE QUOI hors contexte. Donc, une opération aussi simple que 1/2 + 1/3 n'est simple que pour celui qui en connaît le contexte; l'opération demeure sans aucune signification pour les autres. On doit avoir vu 1/2 dans plusieurs contextes avant d'en extraire l'idée pure de 1/2. Ce n'est qu'en voyant ces différents contextes qu'on pourra alors PENSER à généraliser une écriture dont le mathématicien découvrira plein de propriétés. Actuellement, on enseigne abstraitement les fractions en supposant que les élèves transposeront dans des cas particuliers... Or le transfert ne ce fait pas nécessairement ni naturellement. En fait, je pense que ce transfert ne se fait pas du tout. Si on enseignait la programmation plutôt que les math, les fractions seraient nécessairement utilisées dans des contextes particuliers.

Prenons maintenant une autre notion très concrète en informatique : les variables. Lorsque que vous entrez votre code utilisateur ou votre mot de passe dans l'ordinateur, ce texte est tout simplement traité par le programme comme une variable car on ne sait pas ce que l'utilisateur entrera.
Lorsque vous entrez votre score dans un jeu, ce score est en fait traité comme une variable par l'ordinateur.
Lorsque vous faites une requête sur une base de donnée, cette requête traite un ou plusieurs champs de la table comme des variables. Mon avis est qu'il faut qu'un élève puisse voir plusieurs situations concrètes qui "appellent" des variables pour comprendre le concept général de variables, concept qui, lui, est étudié par les mathémaciens. On procède actuellement à l'envers : on pense qu'en étudiant le concept général de variable, l'élève pourra faire des transferts dans sa vie quotidienne. C'est mettre la charrue devant les boeufs.

Prenons un autre exemple : le plan cartésien. Qu'est-ce qu'un écran d'ordinateur, sinon un "genre" de plan cartésien ? Le problème de faire bouger un point sur l'écran (comme dans le fameux jeu PONG) est un problème très intéressant. C'est un problème concret de fonction linéaire. Pour faire déplacer un point sur l'écran, l'élève en fait représentera concrètement une fonction linéaire. En résolvant plusieurs problèmes de ce type, la notion de fonction linéaire émergera et sera signifiante pour l'élève.

La plupart des langages de programmation possèdent aussi des notions de fonctions ou de procédures. Quant un élève aura VÉCU de vraies situations impliquant des fonctions, il pourra sans probleme, et seulement s'il en éprouve le besoin, étudier les fonctions EN GÉNÉRAL.

Voici en pseudo-code, un petit programme.

function bonjour(X)
{
imprime "Bonjour X, j'espere que tu vas bien !"
}

EXÉCUTION
bonjour(Paul)
SautDeLigne
bonjour(Gilles)
SautDeLigne
imprime "BIenvenue à vous deux!"


Je suis convaincu que vous comprenez ce programme. Pas besoin de fonctions trigonométriques, du second degré, etc.... On a du concret devant les yeux.

Aujourd'hui, avec la programmation HTML, le XML, le Javascript, le PHP, le MySql, on a tout pour inciter le développement du raisonnement rigoureux à partir de problèmes très concrets.
Ex.

J'ai une collection de cartes de hockey. J'aimerais pouvoir les trier et faire des sous-collections à partir des données sur les cartes (MySql)
Je joue à Dongeons et dragons et j'aimerais pouvoir créer mes personnages avec un outil informatique (php,mysql)
J'ai à étudier plein de mots en anglais, mais j'arrive pas à les retenir. (Javascript)
J'aimerais faire une page web sur mes intérêts (Html)

La résolution de ces "problèmes" forcera nécessairement un élève à programmer, donc à exprimer sa pensée logiquement et rigoureusement. Et l'élève en sortira avec un produit utile, tout au moins pour lui.

Les mathématiques viennent après des expériences sur les nombres, sur les variables, sur divers plans, sur les fonctions, etc.

Quels sont les l'arguments en faveur de l'enseignement des maths ? D'abord, on entend le "développement de la logique" puis, l'esprit de "rigueur" et souvent, cette sempiternelle "T'en auras besoin dans la vie, TOUT est mathématique." Pour moi, tout cela est de la foutaise.
Comment donc l'apprentissage de l'extraction d'une racine carrée vous a-t-elle aidé à devenir plus logique? En quoi, la factorisation des nombres vous a-t-elle été utile? Et la résolution d'équation du second degré ? Et l'addition de fractions ? Et la notion de nombres négatifs ?
À mon avis, l'enseignement de notions purement mathématiques est inutile et inefficace pour le développement d'un esprit mathématico-logique et rigoureux. La programmation, par contre, remplie très bien cette fonction.

Qu'on ne s'y méprenne pas : j'adore les mathématiques mais je crois sincèrement que l'enseignement de la mathématique au secondaire est obsolète.

< 1 2