← Retour au blog

Réflexions sur le cours obligatoire de programmation au cégep au Québec

Depuis septembre 2024, les cégeps du Québec ont officiellement ajouté la programmation informatique comme cours obligatoire dans les programmes scientifiques (science / pure science / health science). Après quelques années, beaucoup d’étudiants l’ont maintenant suivi. Alors, ce cours, comment est-il vraiment ? Dans cet article, je partage mon point de vue à partir des retours d’étudiants autour de moi et de mes années d’enseignement de la programmation — avec quelques conseils pour les futurs étudiants. Je prends Marianopolis College comme exemple ; si des étudiants d’autres collèges vivent des expériences similaires, leurs commentaires sont les bienvenus.

La programmation n’est pas nouvelle — mais la rendre obligatoire, oui

Les cours de programmation au cégep ne sont pas nouveaux. Ils existaient depuis des années en option. En 2024, ils sont soudain devenus obligatoires, ce qui a laissé beaucoup d’étudiants partagés. Ceux qui ont déjà touché à la programmation au secondaire trouvent souvent le cours facile, presque « cadeau ». Pour ceux qui n’ont jamais codé, c’est autre chose. La charge de travail est déjà lourde, et voilà une discipline entièrement nouvelle. La pression est réelle.

On peut alors se demander : pourquoi le Québec a-t-il rendu la programmation obligatoire ? De façon générale, programmer est devenu une compétence de base, surtout avec la croissance rapide de l’IA et des données. L’idée est d’aider les étudiants à se préparer avant l’université et à mieux répondre aux besoins futurs. En théorie, c’est raisonnable — l’informatique est partout, et savoir programmer aide aux études comme au travail. En pratique, c’est plus complexe. En partant de zéro, beaucoup d’étudiants n’arrivent pas à développer une vraie pensée informatique en une seule session.

En général, un débutant a besoin d’au moins 6 à 8 mois pour bâtir des bases solides. Un cours de cégep dure au plus une session. Les étudiants peuvent terminer sans maîtriser même l’essentiel. S’ils ne continuent pas ensuite, l’effort de cette session s’efface vite.

Le cégep est-il le bon moment ?

Personnellement, je trouve que l’étape du cégep arrive un peu « tard ». J’ai toujours pensé qu’il fallait commencer la programmation soit plus tôt, soit un peu plus tard.

Au secondaire, la pression scolaire est souvent moindre et il y a davantage de temps pour construire les fondations. À l’université, on peut approfondir, avec des cours plus spécialisés et plus de place pour se concentrer. Le cégep se situe dans un entre-deux malaisé : ni assez tôt, ni assez tard, et souvent stressant pour ceux qui n’ont aucune expérience. L’apprentissage au cégep est court et très orienté notes. Chaque cours compte pour les demandes universitaires, et les étudiants visent un bon R-Score. Les étudiants en sciences suivent déjà le calcul, les probabilités et statistiques, l’algèbre linéaire, la physique, la chimie, etc. Ajouter la programmation rend la chose encore plus difficile pour ceux qui arrivent sans préparation. Le cours est important, mais le placer à ce moment-là ne donne pas forcément le résultat idéal.

Si vous êtes au cégep en sciences, ce cours peut sembler exigeant. Si la programmation vous intéresse, prenez-le comme un défi et tirez-en le maximum. Si vous n’avez jamais codé, voyez-le comme une expérience d’initiation : concentrez-vous sur les idées de base, puis poursuivez plus tard si cela vous plaît. À plus long terme, il vaudrait mieux démocratiser davantage la programmation au secondaire, pour laisser le temps d’accumuler. Les cours de cégep pourraient aussi être plus différenciés — plus avancés pour ceux qui ont déjà des bases, et plus accompagnés pour les vrais débutants.

Le manque d’enseignants en informatique

En regardant la liste des enseignants de programmation à Marianopolis College en 2024, un fait saute aux yeux : plusieurs ne sont pas des professeurs d’informatique à temps plein, mais des enseignants de mathématiques ou de sciences qui donnent le cours en plus.

Cela reflète un problème plus large au Québec : le manque d’enseignants en informatique. Même si la réforme du programme a été annoncée il y a plusieurs années, beaucoup de cégeps n’ont toujours pas assez de professeurs dédiés et doivent faire appel à des enseignants d’autres disciplines. Bien enseigner la programmation demande un bagage solide ; sans cette formation, la qualité en souffre souvent. Cela aide aussi à comprendre pourquoi la programmation reste peu répandue au secondaire au Québec : pas assez d’enseignants spécialisés, et un contenu parfois difficile pour des groupes très mixtes. Résultat : beaucoup d’écoles secondaires n’offrent pas de programmation, ou ne l’abordent que légèrement en enrichment. Les étudiants arrivent alors au cégep sans vraies bases.

Le contenu du cours de programmation au cégep

Regardons maintenant le contenu.

À Marianopolis (MP), le cours obligatoire 420-SN1-RE Programming in Science s’appuie sur l’ancien cours optionnel 420-LCU-05 Computer Programming, mais son contenu se rapproche davantage du COMP 204 Computer Programming for Life Sciences de McGill. Les sujets comprennent :

  • Topics 1–3 : concepts fondamentaux de l’informatique
  • Topics 4–15 : Python, expressions et types, instructions, collections, conditions, boucles, fonctions, file I/O, etc.
  • Topics 16–18 : prolongements autour d’outils de données courants comme matplotlib, pandas et numpy

Plan de cours Marianopolis 420-SN1-RE, page 1

Le contenu ressemble beaucoup au syllabus du COMP 204 de McGill. L’essentiel à travailler se trouve dans les Topics 4–15 : ce sont les concepts centraux de la programmation de base, et le cœur de l’examen final. MP offre aussi un Enrichment Component — en pratique, une voie plus avancée. Au-delà du contenu standard, on peut y voir de la récursion, de l’OOP, de la programmation graphique, etc. Les étudiants qui veulent cette voie doivent réussir un test d’admission.

Examen final et barème

Voici le barème de 2024. L’examen final pèse le plus lourd et couvre les Topics 4–15. Les Topics 16–18 apparaissent surtout dans le lab test ; les Topics 1–3 dans les quizzes et le midterm. L’examen final comprend des choix multiples, des short answers (lire un programme et écrire sa sortie), et du coding on paper. L’écriture de code à la main est la part la plus importante : sans ordinateur ni outils d’IA. Il faut donc, au quotidien, soigner les détails du code. Trop dépendre de Google ou de GPT pour générer du code devient un vrai problème le jour de l’examen, quand ces outils disparaissent.

Plan de cours Marianopolis 420-SN1-RE, page 2