Catch multiple pieces of cheese... more efficiently
Durée2h30 + préparationPrésentation & objectifs
Lors de la session précédente, vous avez découvert que capturer toutes les pièces de fromage en un nombre minimal d’actions est un problème très difficile à résoudre. Une approche alternative consiste à utiliser des heuristiques, c’est-à-dire des algorithmes approximatifs qui retourneront une solution généralement non optimale, mais suffisamment proche de l’optimal pour être acceptable, et qui peuvent être calculés en un temps réduit. Une heuristique très classique est l’algorithme “glouton” (greedy). Son objectif est d’approximer la solution globale d’un problème par une série de solutions localement optimales.
Les notions ci-dessus sont couvertes par quelques articles que vous devez étudier avant le cours. Dans l’activité pratique, vous devrez approximer une solution au problème du voyageur de commerce (TSP) basée sur une recherche gloutonne.
Le contenu de cette session 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.
Acquisition des connaissances préalables
Pour pouvoir commencer efficacement l’activité pratique, nous avons introduit certains concepts nécessaires à la fin de la session 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 session :
Vous pouvez vérifier votre compréhension de ces articles ici :
Pendant le cours
Quiz
Au tout début de la session, nous commençons par un quiz Wooclap évalué pour vérifier votre compréhension des articles que vous deviez étudier. Le lien sera donné par l’enseignant au début du cours. Assurez-vous d’être à l’heure !
Attribution des rôles
Lors de l’évaluation précédente, vous avez dû 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 |
Comme décrit à la fin de cette page, vous devrez téléverser une archive, qui inclut un fichier README.md
.
Dans ce fichier, vous devrez indiquer qui est responsable de quoi.
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
Compléter la session en cours
Cette session est évaluée. La modalité d’évaluation est décrite sur la page principale du projet. Avant la prochaine session, vous devez donc :
-
Revoir le contenu des articles ci-dessus.
-
Compléter les parties non optionnelles de l’activité pratique.
-
Créer une archive nommée
student1_student2_student3.zip
, oùstudent1
,student2
etstudent3
sont les noms de famille des membres de votre groupe. Cette archive doit être structurée comme suit :student1_student2_student3.zip | |_ games | |_ # Put your game scripts here | |_ players | |_ # Put your players here | |_ tests | |_ # Put your unit tests here | |_ utils | |_ # Put your additional codes here (if any) | |_ data | |_ # Put your other files here (if any) | |_ README.md
Le fichier
README.md
doit être un fichier texte formaté en Markdown. Téléchargez ce fichier pour l’utiliser comme base, et remplissez-le là où c’est demandé (remplacez tout ce qui est dans<...>
). -
L’étudiant responsable du code doit téléverser cette archive sur Moodle avant le début de la session 6.
En plus de la qualité du code, de la documentation et des tests unitaires, nous évaluerons également votre capacité à produire un livrable. Autrement dit, faites attention aux éléments importants suivants :
-
Nous allons décompresser votre archive, et l’utiliser comme espace de travail dans Visual Studio Code. Votre code doit fonctionner directement, c’est-à-dire qu’exécuter un script dans les répertoires
games
outests
doit créer un jeu ou effectuer des tests sans aucune intervention de notre part. Vous devez vous assurer de cela en testant dans un nouvel espace de travail Visual Studio Code avant de téléverser votre code sur Moodle. -
Nous évaluerons votre capacité à produire un livrable selon des directives données. Considérez que nous sommes un client à qui vous envoyez un logiciel que vous avez dû produire. Le nom de l’archive, l’organisation de son contenu, et le contenu du fichier
README.md
doivent correspondre à nos exigences listées ci-dessus.
Préparer la prochaine session
- Consultez la section “Avant le cours” de la prochaine session, et assurez-vous de faire tout ce qui est nécessaire pour la préparer.
- La prochaine session commencera par un quiz évalué pour vérifier que vous avez compris les articles.