Comment passer d’un jeu de société à un véritable programme informatique ? C’est le défi que vont relever les élèves de Terminale spécialité NSI du lycée Lamarck à Albert : programmer en Python le célèbre jeu de stratégie Quarto.
Quarto, un jeu simple… en apparence
Quarto est un jeu de stratégie pour deux joueurs qui se joue sur un plateau de 16 cases avec 16 pièces différentes.
Chaque pièce possède plusieurs caractéristiques : elle peut notamment être haute ou basse, ronde ou carrée, claire ou foncée, pleine ou creuse.
L’objectif est de réussir à placer quatre pièces possédant au moins une caractéristique commune sur une même ligne.
Mais Quarto possède une particularité qui change complètement la stratégie : un joueur ne choisit pas la pièce qu’il va poser. C’est son adversaire qui la lui donne !
Quelques règles suffisent donc pour commencer à jouer. Mais derrière cette apparente simplicité se cache un problème beaucoup plus complexe…
Le défi : programmer Quarto en Python
C’est précisément ce que vont découvrir les élèves de Terminale NSI.
Pour nous, reconnaître une pièce, observer le plateau ou constater que quatre pièces possèdent une caractéristique commune paraît naturel.
Pour un ordinateur, rien n’est évident.
Il faut tout lui expliquer.
Comment représenter une pièce dans un programme ? Comment représenter le plateau ? Comment savoir si une case est disponible ? Comment vérifier un alignement ? Comment déterminer si la partie est gagnée ?
Les élèves vont devoir transformer les règles du jeu en algorithmes, puis en programme Python.
Et plutôt que de se lancer immédiatement dans des centaines de lignes de code, ils vont commencer par apprendre à décomposer un problème complexe en problèmes plus petits.
Un programme construit en équipe
Le projet repose sur une démarche de projet modulaire collaboratif.
Le problème général est d’abord découpé en différentes briques. Chaque élève prend ensuite la responsabilité d’une partie du programme.
Avant de programmer, il faut réfléchir : concevoir l’algorithme, déterminer les informations dont une fonction aura besoin et préciser ce qu’elle devra retourner.
Cette étape est essentielle car les différentes parties devront ensuite fonctionner ensemble.
Chaque élève devient ainsi responsable d’une pièce du puzzle.
Mais écrire séparément plusieurs fonctions ne suffit pas pour obtenir un jeu…
Le moment de vérité : assembler le programme
Une fois les différentes parties programmées arrive une étape particulièrement intéressante : l’intégration.
Les élèves doivent expliquer leur travail aux autres membres de l’équipe, assembler leurs différentes fonctions et vérifier qu’elles communiquent correctement entre elles.
Puis viennent les tests.
Et probablement… les premiers bugs !
Il faut alors rechercher leur origine, comprendre ce qui ne fonctionne pas, corriger le programme et tester de nouveau. Cette démarche permet aux élèves d’expérimenter concrètement une organisation proche d’un véritable projet de développement informatique.
La NSI, ce n’est pas seulement apprendre Python
C’est sans doute l’un des principaux enseignements de ce projet.
Apprendre la programmation ne consiste pas uniquement à connaître des instructions Python.
Il faut aussi apprendre à analyser un problème, le décomposer, imaginer une solution, communiquer avec d’autres développeurs, tester et améliorer son programme.
Avec Quarto, les élèves utilisent donc la programmation pour construire collectivement quelque chose de concret.
C’est exactement l’un des objectifs que nous souhaitons montrer à travers les projets réalisés au lycée : l’informatique développe la logique, la créativité et la capacité à résoudre des problèmes.
Le défi commence…
Pour l’instant, le programme n’existe pas encore.
Il reste à le concevoir.
À le programmer.
À assembler les différentes contributions.
Et certainement à résoudre quelques bugs au passage.
Alors, les élèves de Terminale NSI réussiront-ils à donner vie à leur version de Quarto en Python ?
Nous allons suivre leur progression et partager les différentes étapes de cette aventure.
Vous voulez les encourager ? Regardez la vidéo de lancement du projet, laissez-leur un petit commentaire et suivez-nous pour découvrir la suite.
👉 [Découvrir la vidéo de lancement du projet Quarto]
Laisser un commentaire