• Aucun résultat trouvé

Dans ce mémoire, nous avons cherché à mieux comprendre l'écart intrigant rapporté par Buteau et coll. (2014) : si 46% des 302 mathématiciens sondés écrivent des programmes informatiques dans le cadre de leur recherche, seulement 18% d'entre eux intègrent la programmation dans leurs cours. La première donnée reflète le potentiel énorme de la programmation pour faire des mathématiques et suggère la pertinence de l'intégrer dans la formation. La seconde donnée a inspiré la problématique de notre recherche : pourquoi existe- t-il un tel écart ? Pour répondre à cette question, nous avons mis sur pied une étude qualitative exploratoire auprès de 14 mathématiciens travaillant dans des domaines variés et à différentes universités à travers le pays et ayant utilisé des programmes informatiques dans leur recherche ou dans leur enseignement. Durant nos entrevues semi-dirigées, nous avons demandé à ces chercheurs-professeurs de décrire leurs propres expériences avec la programmation ainsi que les expériences éventuelles de programmation qu'ils planifient pour leurs étudiants. Les résultats de notre analyse qualitative des transcriptions ont été présentés aux Chapitres 4 et 1.

Tout d'abord, l'ensemble des perceptions de nos participants nous a permis de circonscrire ce qu'ils considèrent comme « l'activité de programmation » et de la situer parmi les activités dites « mathématiques ». De nos rencontres, la programmation en mathématiques apparaît typiquement comme une activité comprenant trois tâches, dont l’importance relative peut varier et qui se déploient souvent de façon non linéaire : le développement d'un algorithme, le codage de l'algorithme et la vérification et la validation du programme. Selon nos participants, plusieurs caractéristiques de ces tâches rendent la programmation semblable à « faire des mathématiques » ; on a mentionné, par exemple, la similitude entre la programmation et la résolution de problèmes mathématiques ou la construction d'une preuve formelle. Néanmoins, l'activité de programmation occupe encore une place de second rang, la place d'outil, au regard des résultats mathématiques qu'elle permet de produire.

143

Les nombreux exemples spécifiques de programmation décrits par nos participants nous ont permis de donner un premier portrait de la place de la programmation en recherche mathématique. Dans la résolution de problèmes appliqués, la programmation est d'abord et avant tout perçue comme une nécessité pour des raisons pragmatiques : l'écriture des programmes sert à faire des calculs, à visualiser et à dégager de nouvelles régularités et à simuler des phénomènes qui ne seraient même pas envisageables sans l'informatique. La programmation est donc une composante des techniques partagées par tous les mathématiciens appliqués. Les mathématiciens purs, eux, peuvent aussi décider de créer des programmes informatiques, soit spontanés, partageables ou complexes (composante des techniques tout simplement admises), afin de profiter de leur valeur épistémique : ils programment typiquement pour explorer, expérimenter et effectuer des observations menant à des conjectures convaincantes qui méritent alors qu’on se lance dans la recherche d'une démonstration rigoureuse. Dans des cas encore plutôt rares, des programmes peuvent même être développés pour s'occuper de ces démonstrations, en partie tout au moins. Finalement, certains mathématiciens consacrent des projets au développement d'outils informatiques : ils conçoivent des algorithmes spécifiques ou des logiciels complets qui pourront être mis à contribution pour résoudre une grande classe de problèmes. Les nouveaux outils ainsi produits sont souvent partagés avec d'autres utilisateurs et requièrent, par conséquent, d'être entretenus au fil des ans selon l'évolution constante de l'informatique et les buts des utilisateurs.

Dans les articles rapportant des résultats qui dépendent largement de la programmation qui a été faite, on trouve typiquement une description des programmes utilisés. Dans plusieurs projets, toutefois, les programmes ne sont pas partagés ; parfois, c’est même toute l'activité de programmation qui demeure cachée. Au moment d'arriver aux résultats recherchés, la programmation et le programme, tout comme d'autres éléments de l'étape d'exploration, deviennent « jetables ». Quelques mathématiciens ne gardent même pas leurs propres programmes ; d'autres les gardent dans leurs bibliothèques personnelles ; et dans des cas uniques, lorsqu'un programme est particulièrement spécial ou écrit par un chercheur qui croit dans le partage d'outils avec la communauté mathématique, le chercheur peut décider de consacrer l'effort et le temps nécessaires pour en préparer la diffusion.

144

Les professeurs de notre étude nous ont aussi aidée à mieux cerner la place de la programmation dans l'apprentissage des étudiants de premier cycle. Dans ce contexte, nos participants invitent leurs étudiants à interagir à différents niveaux avec la programmation, soit pour mieux comprendre les théories mathématiques enseignées, soit pour développer des compétences de modélisation ou de simulation, s'approprier de méthodes de calcul ou de représentation ou même développer des compétences de programmation. Les étudiants peuvent être ainsi exposés à des pratiques qu’on retrouve en recherche : il arrive qu'ils soient guidés à développer des conjectures, à explorer des modèles mathématiques ou à analyser des méthodes numériques. Néanmoins, le manque de visibilité de la programmation que nous pourrions constater en recherche semble être transmis au contexte de l'enseignement, où les étudiants sont rarement invités à concevoir ou à écrire leurs propres programmes informatiques. Pour plusieurs des mathématiciens interviewés, leurs étudiants n'interagissent pas du tout avec l'activité de programmation, ils demeurent en position de spectateur face à l'utilisation des programmes par leur professeur ou ils utilisent des programmes déjà créés, possiblement avec des manipulations de l'interface ou des modifications du code.

Or, les professeurs rencontrés notent de nombreux avantages à impliquer les étudiants à de plus hauts niveaux d'interaction avec l'activité de programmation : selon les professeurs, un étudiant qui participe souvent à tout processus de la programmation pourrait

1) développer des compétences transférables à d'autres contextes (p.e., penser d'une façon logique, travailler avec l'abstraction, vérifier son travail) ;

2) mieux comprendre les concepts, les processus et les méthodes qu'il transpose en langages de programmation ;

3) ouvrir certaines boîtes noires dont l'utilisation est inévitable ;

4) gagner en autonomie dans le processus de l'instrumentalisation de l'ordinateur ; 5) être mis en contact avec un pan de l'activité mathématique, élargissant ainsi ses

connaissances et sa vision des mathématiques ;

6) adopter les pratiques des mathématiciens professionnels, ouvrant ainsi ses possibilités de carrière ou de spécialisation après son baccalauréat.

145

Une question réapparaît alors : pourquoi existe-t-il encore cet écart entre la programmation en recherche et celle en apprentissage, qui ne permet pas aux étudiants de tirer pleinement parti de ces avantages ? Le discours des mathématiciens concernant les contextes institutionnels où ils travaillent et enseignent présente quelques éléments explicatifs. En particulier, nous y avons identifié un ensemble de contraintes, intimement liées, qui pourrait avoir un impact sur la décision d'un professeur d'intégrer ou de ne pas intégrer la programmation dans un cours donné.

Tout d'abord, un professeur considérera des éléments curriculaires tels les objectifs du cours ou du programme correspondant : selon nos participants, plus les objectifs sont abstraits, théoriques ou purs, moins l'ajout d'activités de programmation apparaît naturel ou même approprié. Ceci étant dit, même dans les cours dont les objectifs les rendent propices à l'intégration de la programmation (notamment, les cours en mathématiques appliquées), les contraintes de temps et les prérequis pèsent dans la décision d'y ajouter des activités de programmation. Quelques professeurs refusent d'exiger des étudiants de programmer si ces derniers n'ont pas déjà des compétences de base en programmation. D'autres sont découragés par le temps requis pour préparer de nouvelles activités et pour envisager leur intégration dans un curriculum déjà bien chargé et déterminé. Alors, quels sont vraiment les meilleurs endroits pour exposer les étudiants aux activités de programmation ? Ces endroits existent-ils déjà ? Ou gagnerait-on à envisager des changements curriculaires ?

En fin de compte, étant donné l'importance accordée par les universités à la liberté académique, un professeur peut donner un cours selon sa propre personnalité mathématique. Un mathématicien qui préfère des techniques à la main peut choisir de montrer aux étudiants l'utilité de ces techniques. De même, un mathématicien qui maîtrise la programmation peut partager son expertise sur différentes façons de l’utiliser en mathématiques. Quelques participants proposent comme un idéal à atteindre une formation riche où les étudiants- apprentis apprennent d'un ensemble varié d'experts, développant ainsi leur propre personnalité mathématique. Mais d'autres avertissent que si les professeurs dans un département favorisent les mêmes techniques, le résultat peut être une formation déséquilibrée, limitée, biaisée contre ou en faveur de l'intégration d'activités de programmation. Comment faire en sorte que les

146

étudiants soient exposés à un ensemble riche de personnalités ? À quel degré devrait-on coordonner l'intégration de la programmation sans empiéter sur la liberté académique ?

Nos participants nous rappellent également que toute formation en mathématiques est ancrée dans une culture mathématique selon laquelle on favorise, d’une part, la transmission de résultats et de leurs preuves formelles par une présentation magistrale et, d’autre part, la complétion à la main d'exercices qui mettent à contribution un raisonnement mathématique sans le soutien de l’ordinateur. Cette façon de faire s'est révélée efficace pour les nombreux professeurs qui, l’ayant appréciée et ayant pu se distinguer dans ce système, continuent à l'utiliser pour faire vivre à leurs étudiants les mathématiques qu’ils maîtrisent et qu’ils aiment. Elle peut conduire néanmoins à une minoration des techniques informatiques et à la délégation aux étudiants de la prise en charge de leur propre formation en programmation. Est-ce à l'étudiant de trouver les moyens de progresser en programmation ? Quels aspects de la culture traditionnelle en mathématiques pourraient faire place à une formation en programmation ?

Quelques mathématiciens suggèrent que les ressources disponibles (ou manquantes) dans une université peuvent aussi compliquer la situation : si l'on veut donner des cours qui intègrent des activités de programmation, il faut des professeurs qui soient prêts à préparer et à enseigner ces cours et des assistants en nombre suffisant pour évaluer les activités et les valoriser ainsi au sein du cours. Le fait d'avoir trop d'étudiants ou trop peu d'évaluateurs peut empêcher le professeur de faire bénéficier les étudiants de son cours de plus hauts niveaux d'interaction avec la programmation. Comment répondre à de telles contraintes inévitables ?

Enfin, les mathématiciens mentionnent souvent l'importance des perspectives d’avenir des étudiants lorsqu'ils décrivent la place idéale de la programmation dans un programme de premier cycle en mathématiques. Selon un groupe de participants, l'étudiant devrait avoir l'occasion de tracer son propre chemin selon ses intérêts, ses talents et ses buts ; selon un autre groupe, l'étudiant ne devrait pas sortir d'un baccalauréat en mathématiques sans avoir développé des compétences en programmation, compétences qui seraient appréciées sur le marché du travail actuel. Comment assurer, face aux autres contraintes institutionnelles, qu'un chemin incluant la programmation soit possible ? Quels étudiants devraient prendre un tel chemin ?

147

Les contraintes induites par le curriculum, le département, la communauté mathématique et la société dans son ensemble peuvent contribuer à l’écart entre la place de la programmation dans la recherche et celle dans une formation en mathématiques : si, dans la communauté de recherche, la programmation est vue comme partagée (communauté appliquée) ou admise (communauté pure), la programmation peut entrer dans les universités plutôt comme admise (cours/programmes appliqués) ou contestée (cours/programmes purs). De nouvelles questions surgissent alors : y a-t-il un intérêt à rapprocher ces visions institutionnelles de la programmation et à réduire ainsi l'écart entre la programmation des mathématiciens et celle de leurs étudiants ? Comment procéderait-on, le cas échéant ?