Pourquoi enseigner la programmation avec des blocs ?

Les environnements de programmation par blocs deviennent de plus en plus la première expérience de codage pour de nombreux étudiants1, alors que de plus en plus d'écoles commencent à introduire et à développer des cours et des programmes d'études en informatique. L'un des langages de programmation par blocs les plus populaires s'appelle Scratch2(scratch.mit.edu). Chaque jour, plus de 1 500 nouveaux projets de programmation sont téléchargés sur le site Scratch3. VEXcode est lui-même alimenté par des blocs Scratch.

Étudiants faisant de la robotique

L'une des principales motivations derrière la création de Scratch est que de nombreux jeunes étudiants trouvent la programmation avec des langages de programmation textuels trop difficile4, car ces étudiants trouvent à la fois la frappe et la syntaxe difficiles à maîtriser. En conséquence, les langages de programmation basés sur des blocs ont été conçus pour des élèves aussi jeunes que des enfants d'âge préscolaire, mais la plupart sont conçus pour des élèves âgés de 8 à 16 ans. La programmation basée sur des blocs, y compris VEXcode, présente plusieurs avantages pour les programmeurs débutants5.

  1. Lisibilité :Les langages de programmation basés sur des blocs ont des commandes beaucoup plus faciles à lire que les commandes basées sur du texte.
  2. Mémorisation :Les langages de programmation basés sur des blocs ont toutes leurs commandes visibles par l'utilisateur. Avec les langages de programmation textuels, les commandes doivent souvent être mémorisées. De plus, les utilisateurs doivent mémoriser la syntaxe associée aux commandes de texte. Il n'y a aucune syntaxe associée aux commandes basées sur des blocs.
  3. Dactylographie/orthographe :Les élèves plus jeunes ont du mal à utiliser un clavier. Les fautes d'orthographe deviennent des erreurs de compilation avec un langage de programmation textuel. Les langages de programmation basés sur des blocs utilisent le glisser-déposer. Par conséquent, aucune dactylographie ni maîtrise de l’orthographe n’est nécessaire.

Même s'il est prouvé qu'il est plus facile pour les utilisateurs novices de commencer à programmer avec un langage de programmation basé sur des blocs, il reste important de se demander si les langages basés sur des blocs sont efficaces pour enseigner les concepts informatiques. La reponse courte est oui. Des recherches ont montré que les langages de programmation basés sur des blocs sont efficaces pour enseigner des concepts informatiques tels que les algorithmes, les variables, la logique conditionnelle et la compréhension du code6.

L’utilisation de langages de programmation basés sur des blocs présente bien entendu certains inconvénients. Par exemple, les élèves peuvent parfois avoir l'impression que l'utilisation de blocs n'est pas une expérience d'apprentissage « authentique »7. En d’autres termes, les vrais programmeurs n’utilisent pas de blocs. C’est un aspect important à garder à l’esprit, mais il est également important de garder à l’esprit les défis bien documentés que les langages de programmation textuels présentent aux programmeurs débutants.

En tant qu’éducateurs, nous savons que les outils que nous utilisons pour enseigner les concepts changent à mesure que les élèves évoluent. Les mathématiques sont enseignées au K-College. Les outils utilisés pour enseigner à un élève de première année sont très différents de ceux utilisés pour enseigner à un élève de première année. Des recherches ont montré que les langages de programmation basés sur des blocs sont plus faciles à utiliser pour les novices et qu'ils constituent un moyen efficace d'enseigner des sujets informatiques importants. Cela ne signifie toutefois pas que les étudiants devraient ou doivent toujours rester dans un environnement de programmation par blocs. Au lieu de cela, une meilleure conclusion à tirer est qu'une modalité de programmation, blocs ou texte, n'est pas intrinsèquement meilleure que l'autre8. Celui qui convient à votre classe dépendra à la fois de votre niveau de confort en tant qu'éducateur et de l'état de préparation de vos élèves. Tout comme les élèves maîtrisent leurs faits de multiplication à des rythmes différents, certains élèves maîtriseront la programmation avec des blocs plus rapidement que d’autres. La possibilité de commencer avec une programmation textuelle les maintiendra engagés et stimulés. Des outils comme VEXcode et Text vous permettent de rencontrer chaque élève à son niveau d'enseignement individuel.


1Weintrop, David. «Programmation par blocs dans l'enseignement de l'informatique». ACM. 01 août 2019. 10 septembre 2019 / https://cacm.acm.org/magazines/2019/8/238340-block-based-programming-in-computer-science-education/fulltext

2Resnick, Mitchel, Brian Silverman, Yasmin Kafai, John Maloney, Andrés Monroy-Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum et Jay Silver. "Gratter." Communications de l'ACM 52 (2009) : 60.

3Resnick, Mitchel, Brian Silverman, Yasmin Kafai, John Maloney, Andrés Monroy-Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum et Jay Silver. "Gratter." Communications de l'ACM 52 (2009) : 60.

4Kölling, Michael, Neil CC Brown et Amjad Altadmri. «Édition basée sur les images». Actes de l'atelier sur l'enseignement informatique primaire et secondaire - WiPSCE '15 (2015).

5Kölling, Michael, Neil CC Brown et Amjad Altadmri. «Édition basée sur les images». Actes de l'atelier sur l'enseignement informatique primaire et secondaire - WiPSCE '15 (2015).

6Weintrop, David et Uri Wilensky. "Comparaison de la programmation basée sur des blocs et basée sur du texte dans les salles de classe d'informatique du secondaire." Transactions ACM sur l'enseignement informatique 18 (2017) : 1-25.

7Weintrop, David. «Programmation par blocs dans l'enseignement de l'informatique». ACM. 01 août 2019. 10 septembre 2019 / https://cacm.acm.org/magazines/2019/8/238340-block-based-programming-in-computer-science-education/fulltext

8Weintrop, David et Uri Wilensky. "Comment les modalités bloc/texte basées sur des blocs, basées sur du texte et hybrides façonnent les pratiques de programmation des novices." Journal international de l'interaction enfant-ordinateur 17 (2018) : 83-92.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: