Défier un adversaire
Objectifs de la séance
Dans cette séance, nous introduisons un adversaire dans le labyrinthe. Votre objectif est de créer un programme qui gagnera contre lui. Pour atteindre cet objectif, nous vous présentons quelques notions de théorie des jeux combinatoires. Ce n’est qu’une piste possible pour vous donner des idées, mais vous pouvez choisir n’importe quelle solution !
Contrairement aux séances précédentes, il n’y aura pas de quiz évalué cette fois-ci, pour vous donner 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
Prérequis 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 !
Articles à étudier
Pour pouvoir commencer à travailler efficacement sur l’activité pratique de cette séance, vous devez étudier les articles suivants avant d’arriver en classe :
Voici un petit quiz d’auto-évaluation pour vérifier votre compréhension des articles :
Pendant le cours
Quiz Wooclap
Comme pour les autres cours en classes inversées, nous commencerons la séance par un petit quiz Wooclap pour vérifier votre compréhension des notions, et discuter de vos interrogations. Le lien sera fourni par les enseignants dans votre classe.
Attribuer les rôles
La séance 6 est évaluée. Comme mentionné sur la page principale du projet, chaque membre du groupe sera évalué sur des aspects différents. Contrairement aux livrables précédents, cette fois-ci, vous serez évalué(e)s via une présentation orale.
Pour un trinôme, si vous étiez responsable du code pour le rendu précédent, vous devenez responsable de la documentation pour ce livrable. L’ancien(ne) responsable de la documentation devient responsable des tests unitaires, et l’ancien(ne) responsable des tests unitaires devient responsable du code.
Si vous êtes un binôme ou quadrinôme, veuillez SVP contacter les enseignant(e)s pour une adaptation des rôles.
Activité pratique
Le reste de la séance sera consacré à une activité pratique. Cliquez sur le lien ci-dessous :
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 vaincre un adversaire dans une partie de PyRat ?
Cette présentation doit respecter les points suivants (évalués) :
- Elle doit durer 10mn.
- Vous devez préparer des diapositives.
- Chaque étudiant du groupe doit parler pendant une durée approximativement égale.
- Nous poserons ensuite des questions pendant 5mn.
Concernant le contenu, nous vous demandons de présenter votre stratégie pour vaincre 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. Ceci n’est qu’un exemple, n’hésitez pas à ajouter d’autres points. En particulier, si vous avez codé une stratégie, faites une démonstration !
-
Introduction – Qui est responsable de quelle partie ? Quel est le plan de votre présentation ?
-
Travaux connexes – Introduisez les éléments spécifiques dont vous avez besoin pour présenter votre stratégie.
-
Une stratégie possible – En quoi consiste 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 standard à utiliser ? Quelles fonctions avez-vous identifiées ?
-
Comment évaluer la stratégie – Quels tests devez-vous effectuer pour évaluer si votre stratégie est bonne 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(e) doit aborder la partie de la présentation sur les éléments algorithmiques et de code.
-
Étudiant en charge des tests unitaires – Cet étudiant(e) doit aborder la partie de la présentation sur l’évaluation de la stratégie.
-
Étudiant en charge de la documentation – Cet étudiant(e) doit assurer la qualité des diapositives et la clarté de la présentation.
Quelques points importants :
-
Rappelez-vous que nous évaluons votre créativité et votre capacité à formaliser un problème ici. Vous n’avez pas besoin d’un programme fonctionnel pour réaliser ce que vous présenterez. Par conséquent, soyez inventifs 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 beaucoup d’idées. Cela est nécessaire pour respecter le temps requis de 10mn.
-
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(e) en charge de la documentation.
-
Évitez de projeter du code, personne ne le lit pendant les présentations. Si vous avez vraiment besoin de mettre en évidence des éléments de code spécifiques, veuillez vous concentrer uniquement sur eux. Par exemple, montrez seulement le nom de la fonction et les arguments, etc.
Le tournoi PyRat
Après l’examen final, il y a un créneau horaire dédié pour un tournoi PyRat. Veuillez consulter la page du tournoi pour plus de détails !