Dans notre cours de codage, nous faisons tout notre possible pour faire comprendre aux enfants qu’il est normal d’échouer. C’est même une bonne chose. L’échec forge le caractère. Échouer dans un environnement favorable est essentiel pour apprendre à gérer les déceptions futures. Si vous n’êtes pas habitué à l’échec et que vous n’apprenez pas à le surmonter dans l’enfance, vous pourriez faire face à des situations qui vont vous démoraliser au lieu de vous motiver à réussir une fois adulte.
Pourquoi le codage est-il une bonne occasion de s’exercer à gérer l’échec ? Coder est une forme de science et d’art très précise.
Dans les applications de codage, tout peut aller de travers.
Si vous vous intéressez aux jeux ou aux applications, comme la plupart des propriétaires de smartphones, vous remarquerez que même les meilleures applications buguent parfois. Des erreurs dans le code se manifestent de temps à autre et causent un plantage ou des dysfonctionnements. Pourquoi ? Parce que le codage est une discipline complexe. Plus l’application est complexe, plus le code associé est sophistiqué. Nous parlons ici de plusieurs centaines de lignes de code au moins. La moindre faute de syntaxe peut causer des problèmes tôt ou tard.
Il est presque impossible que le code d’une application soit parfait au moment où elle est publiée sur un app store. C’est pourquoi nous voyons souvent nos applications être mises à jour. Il s’agit de correctifs d’erreurs au niveau du code ou une protection contre les failles signalées par le grand public afin qu’elles soient corrigées par les développeurs. Qu’est-ce que cela nous apprend ? Écrire un code, même simple, peut devenir compliqué.
Si votre enfant doit écrire son propre code pour une application ou un jeu, il doit être préparé aux problèmes qui surviendront lorsqu’il exécutera ce code. Corriger un code défaillant signifie parfois scruter des lignes de code dans les moindres détails pour déceler l’erreur d’origine. Il peut aussi s’agir d’essayer de trouver quelles lignes de code entrent en conflit les unes avec les autres. Votre enfant se trouvera probablement souvent en situation d’échec face à une telle tâche. Il devra donc développer une attitude résiliente face aux déconvenues. Grâce à cela, il affrontera mieux les difficultés du monde réel.
Comment surmonter l’échec
En codage, on parle de débogage. Le débogage désigne le processus de recherche de bugs dans le système. Un bug est une ligne de code indésirable qui cause des problèmes dans un jeu ou une application. Voici un exemple avec un jeu où vous parcourez une ville de quarante kilomètres carrés environ. Vous pouvez interagir avec les habitants, partir en mission pour gagner de l’argent dans le jeu et même conduire des véhicules. Lorsque le personnage du joueur marche à travers les murs ou ne peut pas sortir d’une voiture, c’est un exemple de bug. L’équipe de développement apprend ensuite d’une manière ou d’une autre (via ses propres tests du jeu ou les signalements des joueurs) l’existence de ce problème. Son travail consiste à localiser le bug.
(À ce sujet et comme déjà mentionné dans nos articles précédents, le terme « bug » vient de l’époque où les ordinateurs étaient tellement grands qu’ils occupaient des pièces entières et où des insectes pouvaient facilement se glisser entre leurs immenses composants. Quand l’ordinateur ne fonctionnait pas comme prévu, quelqu’un devait parfois aller à l’intérieur pour exterminer le « bug ».)
Lorsqu’on est face à des millions de lignes de code pour un jeu aussi complexe, la tâche n’est pas aisée. La correction d’une ligne de code peut parfois affecter une autre ligne et causer un problème différent. Ce cas de figure est très fréquent. Quand votre enfant doit coder un programme simple et que celui-ci ne se comporte pas comme prévu, il doit s’attendre à partir à la chasse au bug. Et ça n’a rien d’une promenade de santé lorsqu’on doit le faire seul.
Assister les autres fait partie de notre code de conduite
Dans nos cours en ligne de codage en temps réel, il est recommandé aux élèves de s’entraider. Ils forment ainsi des liens et se sentent à l’aise pour demander de l’aide. Lorsqu’ils tombent sur un os et qu’ils ne peuvent pas trouver de solution seuls, comme une ligne de code qu’ils n’écrivent pas de manière parfaitement correcte, ils ne sont pas laissés à eux-mêmes. Parce que nous sommes une école en ligne et en direct, les enfants sont en mesure de communiquer entre eux. Nos élèves possèdent un sens très développé de la communauté. Un enfant n’est parfois plus capable de discerner un problème, que le regard neuf d’un camarade identifiera.
Tout comme dans la vraie vie, en raison du nombre de choses qui peuvent mal se passer dans le codage, nous avons tous besoin d’un coup de main de temps en temps. En IRL (l’abréviation pour désigner la vie réelle dans le jargon des chats en ligne), ne pas demander de l’aide peut vous laisser dans une impasse ou aggraver une situation.
Apprendre que demander de l’aide n’est pas une faiblesse, mais une force, donne aux élèves une plus grande maturité émotionnelle. Après tout, nous sommes une espèce qui a évolué pour collaborer, comme nous en avions discuté sur ce blog. Ne pas collaborer en raison d’obstacles personnels tels que l’ego ou une incapacité à demander de l’aide n’est pas un mode de fonctionnement que l’enfant doit conserver à l’âge adulte. Échouer en codant peut parfois signifier que vous devez réussir à contacter autrui. Par ailleurs, aider les autres renforce évidemment un sens altruiste de la communauté.
La résolution de problèmes est une autre raison pour laquelle échouer est une bonne chose
Il faut parfois avoir un bon sens de la déduction pour trouver la ligne de code problématique. Mais il est tout aussi important de comprendre pourquoi elle cause des difficultés. Quelques lignes de code incorrect peuvent toucher des domaines qui ne semblent pas y être liés. Il est donc plus difficile de faire le lien. Et de le comprendre. Résoudre le problème nécessite de recourir à une pensée transversale et à une pensée linéaire. La pensée transversale désigne le fait d’établir des liens entre différentes choses qui ne semblent pas en avoir à première vue.
Ceci est pourtant essentiel dans la résolution de problèmes. Penser de manière linéaire ne suffit pas. La pensée linéaire est l’approche étape par étape. Comme lorsque vous appelez un service informatique pour obtenir de l’aide parce que votre ordinateur ne s’allume pas et que le technicien vous demande tout d’abord de vérifier qu’il est branché (étonnamment, cela s’avère souvent être la solution). Mais dans le cas de problèmes de codage où l’application ne se comporte tout simplement pas comme prévu, l’approche étape par étape ne résout pas toujours le problème, tout aussi importante qu’elle soit.
La pensée transversale peut être illustrée par l’expression « penser hors des sentiers battus ». Avec elle, vous essayez d’utiliser votre imagination et votre créativité pour former des associations liées au problème et à ce qui pourrait en être la cause. Elle active des parties moins sollicitées du cerveau car le système scolaire traditionnel nous a principalement appris à penser de manière linéaire au détriment de la pensée transversale.
Parfois, la réponse arrive à la vitesse de l’éclair, une véritable épiphanie ! Lorsque cela se produit, que la ligne de code appropriée est corrigée et que le problème disparaît, l’étudiant ressent un immense sentiment de victoire. Ce type d’épisode s’accompagne généralement d’une sensation « d’évidence ». Par exemple, l’origine du problème aurait dû être évidente à l’origine. Mais c’est seulement en établissant les bonnes connexions dès le début dans notre esprit qu’une réponse se révèle.
Résoudre des problèmes est excellent pour le cerveau, ce qui explique probablement pourquoi tant de gens font des mots croisés dans les journaux.
Il est temps que votre enfant échoue.
Notre école est conçue pour aider les enfants à réussir, même en cas de défaite. Grâce à un apprentissage en direct, les conseils des instructeurs et une plate-forme d’enseignement conçue pour les interactions entre les camarades de classe, les enfants ont le champ libre pour expérimenter, échouer, réessayer, développer leur résilience, demander de l’aide, résoudre des problèmes et, finalement, réussir. Ils acquièrent ainsi des compétences « pures et dures » sur le sujet du cours, mais aussi des « soft skills » nécessaires pour réussir dans la vie. Inscrivez votre enfant à l’un de nos cours dès aujourd’hui.