Introduction
Bienvenue dans cette première leçon, où nous parlerons de la manière d’aborder un problème informatique, et des étapes nécessaires pour le résoudre.
Les trois étapes
Face à un problème informatique complexe, il est parfois tentant de commencer à programmer immédiatement.
Bien que de nombreux étudiants puissent avoir l’impression de ne pas progresser s’ils ne rédigent pas des lignes de code, ce n’est tout simplement pas vrai.
Si vous vouliez construire une maison, commenceriez-vous à empiler des briques immédiatement ?
Je ne pense pas.
Ainsi, chaque fois que vous êtes confronté à un problème informatique, trois étapes consécutives doivent être suivies :
- Formaliser.
- Spécifier.
- Coder.
Formaliser
Formaliser signifie “exprimer un problème en utilisant une terminologie et des concepts adaptés”.

Dans ce cours, nous allons programmer une IA pour jouer à un jeu dans un labyrinthe.
La première étape consistera donc à comprendre comment représenter et manipuler les labyrinthes.

Pour ce faire, nous nous référerons à la théorie des graphes, qui est un cadre mathématique commun permettant de formaliser de nombreux problèmes.
Les programmeurs qui négligent cette étape de formalisation risquent de rencontrer des problèmes inattendus.
Dans les cas simples, cela pourrait simplement retarder leur travail.
Mais dans les cas plus graves, cela pourrait signifier que tout le travail produit jusqu’à présent est inutile, et qu’il faut tout recommencer à zéro.
Spécifier
Une fois qu’un problème a été correctement formalisé, il est temps de spécifier une solution.

Spécifier signifie "identifier des algorithmes ou méthodes bien adaptés pour résoudre le problème formalisé".

Par exemple, dans ce cours, l'IA que vous implémenterez devra se déplacer dans le labyrinthe.
Nous discuterons donc des méthodes pour trouver un chemin le plus court dans un graphe.
De telles méthodes peuvent être utilisées pour identifier une solution.
La spécification est d’une importance capitale, et permet de faire les bons choix en tenant compte du problème à résoudre.
La spécification révèle également la structure globale de la solution, ce qui facilite le travail en équipe, car chaque individu sait exactement ce qu’il doit faire.
Coder
Enfin, une fois le problème spécifié, il est temps de commencer à coder.
Le codage devrait toujours être la dernière étape pour résoudre un problème informatique.

Le codage devrait être assez simple si les étapes de formalisation et de spécification ont été correctement réalisées, et devrait s'enchaîner naturellement après l'étape de spécification.
Conclusion
Cela conclut la leçon d’aujourd’hui. Vous avez appris aujourd’hui qu’il est préférable, lors du développement, de ne pas commencer à coder immédiatement, mais de réfléchir d’abord à la manière dont le problème est formalisé, et comment une solution est spécifiée.
Dans la prochaine vidéo, vous apprendrez la théorie des graphes.
À bientôt !