Challenge an opponent in a PyRat game
Duration2h30 + préparationPrésentation & objectifs
Dans cette séance, nous introduisons un adversaire dans le labyrinthe.
Votre objectif est de créer un programme qui le battra.
Pour atteindre ce but, nous vous présentons quelques notions de théorie des jeux combinatoires.
Ceci n’est qu’une piste possible pour vous donner des idées, mais vous pouvez choisir n’importe quelle solution !
Les notions ci-dessus sont couvertes par quelques articles que vous devez étudier avant le cours.
Dans l’activité pratique, vous devrez programmer une solution au TSP basée sur une recherche exhaustive.
Cela vous permettra de ramasser tous les morceaux de fromage en un nombre minimum de tours.
Contrairement aux séances précédentes, il n’y aura pas de quiz évalué cette fois, pour vous laisser plus de temps pour travailler sur vos programmes.
Le contenu de cette séance sera évalué.
Consultez les détails à la fin de cette page.
Avant le cours
Exigences techniques
Pour pouvoir commencer à travailler sur l’activité, vous devez remplir les conditions suivantes :
- Veuillez apporter votre propre ordinateur.
- Assurez-vous d’avoir une connexion réseau fonctionnelle.
Soumettez votre livrable
N’oubliez pas, vous devez soumettre votre livrable pour la séance 5 avant le début de cette séance !
Acquisition des connaissances préalables
Pour pouvoir commencer l’activité pratique efficacement, nous avons introduit certains concepts nécessaires à la fin de la séance précédente.
Voici les diapositives utilisées en cours :
Ces diapositives couvrent uniquement les éléments principaux du cours, et beaucoup plus de détails sont donnés dans les articles associés.
Ainsi, vous devez étudier les articles suivants chez vous avant la séance :
Vous pouvez vérifier votre compréhension de ces articles ici :
Pendant le cours
Attribution des rôles
Lors de l’évaluation précédente, vous deviez sélectionner un rôle, correspondant à votre responsabilité dans le livrable évalué.
Cette fois, vous devez prendre un rôle différent.
Utilisez le tableau suivant pour trouver le vôtre :
Votre rôle la dernière fois |
Votre rôle cette fois |
---|---|
Code quality | Documentation |
Documentation | Unit tests |
Unit tests | Code quality |
Activité pratique
Le cours est dédié à une activité pratique.
Une fois que vous avez terminé toutes les étapes ci-dessus, cliquez sur le lien ci-dessous pour commencer :
Après le cours
Présentation finale
Cette séance est évaluée.
La modalité d’évaluation est décrite sur la page principale du projet.
Lors de l’examen final, vous devrez faire une courte présentation pour répondre à la question suivante :
Comment pouvez-vous battre un adversaire dans un jeu PyRat ?
Cette présentation doit respecter les points suivants (évalués) :
- Elle doit durer 10 minutes.
- Vous devez préparer des diapositives.
- Chaque étudiant du groupe doit parler pendant une durée approximativement égale.
- Nous poserons des questions pendant 5 minutes après.
Concernant le contenu, nous vous demandons de présenter votre stratégie pour battre un adversaire.
Vous n’avez pas besoin d’avoir un code fonctionnel pour atteindre cet objectif.
Nous voulons évaluer votre inventivité et votre capacité à concevoir des solutions pour un problème donné.
Voici un plan possible pour votre présentation.
Ce n’est qu’un exemple, n’hésitez pas à ajouter d’autres points.
En particulier, si vous avez une stratégie fonctionnelle, faites une démonstration !
- Introduction – Qui est responsable de quelle partie ?
Quel est le plan de votre présentation ? - Travaux connexes – Présentez les éléments spécifiques dont vous avez besoin pour exposer votre stratégie.
- Une stratégie possible – Quelle est votre stratégie ?
Pourquoi pensez-vous qu’elle est intéressante ? - Éléments algorithmiques et de code – Comment concevriez-vous un algorithme pour réaliser cette stratégie ?
Pouvez-vous identifier des algorithmes standards à utiliser ?
Quelles fonctions avez-vous identifiées ? - Comment évaluer la stratégie – Quels tests devez-vous effectuer pour évaluer si votre stratégie est efficace contre un adversaire ?
Quels tests unitaires pensez-vous être importants pour valider votre code ? - Conclusions & perspectives – Quels sont les points forts, les limites et les améliorations possibles de votre stratégie ?
Voici comment les responsabilités s’appliquent dans cette présentation finale :
- Étudiant en charge de la qualité du code – Cet étudiant doit aborder la partie sur les éléments algorithmiques et de code.
- Étudiant en charge des tests unitaires – Cet étudiant doit aborder la partie sur l’évaluation de la stratégie.
- Étudiant en charge de la documentation – Cet étudiant doit assurer la qualité des diapositives et la clarté de la présentation.
Quelques points importants :
-
Rappelez-vous que nous évaluons ici votre créativité et votre capacité à formaliser un problème.
Vous n’avez pas besoin d’un programme fonctionnel pour réaliser ce que vous présenterez.
Donc, soyez inventif et n’hésitez pas à explorer des idées folles ! -
Veuillez vous concentrer sur une seule stratégie possible, même si vous avez eu plusieurs idées.
Cela est nécessaire pour respecter le temps requis de 10 minutes. -
Planifiez une répétition.
Il est important de vous assurer que vos diapositives sont facilement lisibles et s’affichent bien sur un vidéoprojecteur.
Cela relève de la responsabilité de l’étudiant en charge de la documentation. -
Évitez de projeter du code, personne ne le lit pendant les présentations.
Si vous devez vraiment mettre en avant des éléments spécifiques du code, concentrez-vous uniquement sur eux.
Par exemple, montrez seulement le nom de la fonction et ses arguments, etc.
Le tournoi PyRat
Après l’examen final, un créneau est dédié à un tournoi PyRat.
Veuillez consulter la page du tournoi pour les détails !