Computational Thinking

La pensée informatique est un ensemble de différentes compétences de résolution de problèmes basées sur les compétences nécessaires pour être un programmeur. Toutefois, ces compétences ne sont pas seulement utiles en programmation, elles sont également applicables en dehors de l’informatique.

Les six compétences de résolution de problèmes avec lesquelles nous travaillons dans le cadre du projet, basées sur une compilation de Bocconi et al. (2016), sont les suivantes :

Pour une meilleure explication, nous utilisons ici un exemple quotidien pour décrire les capacités individuelles.

Pensée algorithmique:

Une recette de soupe n’est, à la base, rien d’autre qu’un algorithme – un guide étape par étape pour atteindre un objectif. La pensée algorithmique est nécessaire lorsque nous voulons créer une recette par nous-mêmes.

Décomposition:

Lors de l’élaboration de la recette, il est nécessaire de décomposer le grand problème en plus petits. Par exemple, nous pourrions d’abord nous demander quels ingrédients nous voulons utiliser, puis réfléchir aux différentes façons de préparer les légumes.

Automatisation:

Couper des légumes et remuer de la soupe sont des tâches répétitives qui nécessitent peu d’intervention humaine. Ces tâches peuvent être confiées à une machine.

Débogage:

La capacité de « débogage » implique deux points de départ différents du processus:

  1. D’une part, il s’agit de la capacité, si le résultat est incorrect (par exemple, une soupe qui n’a pas bon goût), de trouver l’erreur et de la corriger.
  2. D’autre part, c’est aussi la capacité de détecter les erreurs avant même l’exécution de la recette et de les corriger.

Généralisation:

Une solution qui fonctionne pour un certain problème peut être étendue dans certaines situations de manière à ce qu’elle fonctionne pour toute une classe de problèmes similaires. Reprenons l’exemple de la soupe : Une fois que nous savons comment fonctionne la soupe, nous pouvons adopter une approche similaire pour d’autres types de soupe.

Abstraction:

Reconnaître des schémas dans des processus plus complexes et les ramener à l’essentiel a toujours été l’une des compétences humaines les plus importantes pour résoudre les problèmes. Cette capacité à se concentrer sur la logique de base au lieu de se laisser submerger par tous les détails techniques est cruciale en programmation. Cependant, nous rencontrons également de nombreuses abstractions dans le monde analogique. Par exemple, une recette formellement écrite pour cuisiner une soupe peut souvent être encore plus abstraite et présentée, par exemple, sous la forme d’un organigramme qui ne décrit que la logique de base et omet tous les détails inutiles.