Projet

Instructions et recommandations

Le projet conclut le module Info 111. Il est prévu que vous y consacriez chacun une vingtaine d’heures de travail intense, dont six en TP et le reste en autonomie. Votre travail sera évalué lors de la dernière séance de TD/TP (semaine du 7-11 décembre) sous la forme d’une soutenance orale en binôme composée de quatre minutes de présentation de votre réalisation, suivie de quelques minutes de questions individuelles. Il vous sera aussi demandé de rendre un rapport. Voir ci-dessous pour les détails.

Les séances 10 et 11 en TP seront les seuls moments où vous pourrez vous faire aider efficacement par votre chargé de TP. Il est donc indispensable d’avoir commencé à travailler sur le projet en amont.

Il est très fortement recommandé de travailler en binôme (mais pas de trinômes!). Cependant vous devrez démontrer, durant la présentation orale, de votre maîtrise de l’ensemble du projet. Il est beaucoup plus pratique (travail commun entre TP, soutenances) que votre binôme soit dans le même groupe de TP; si vous souhaitez quand-même un binôme d’un autre groupe, demandez au préalable l’autorisation de vos deux enseignants.

Il est recommandé de s’entraider entre binômes, en particulier pour discuter de la conception, ou si vous bloquez sur un bug. En revanche, il est strictement interdit de s’échanger du code entre binômes.

Plus généralement, tout réutilisation de code préalablement existant (hors bibliothèque standard de C++, SDL, ou autre bibliothèque explicitement mentionnée dans le sujet du projet) doit être motivée et soumise à autorisation préalable de votre chargé de TP. L’objectif de pédagogique ce premier projet est de tout réimplanter depuis la base.

L’examen d’Info 111 aura lieu quelques jours après la soutenance du projet. Faire sérieusement votre projet vous permettra à la fois de faire une bonne soutenance de projet, mais aussi de réviser pour l’examen.

Sujets 2020-2021

Vous avez le choix entre deux projets. Le premier portera sur le traitement automatique de données ouvertes. Il est très cadré, avec des squelettes de fichiers fournis qui incluent de la documentation et des tests. Le deuxième projet est beaucoup plus ouvert. Au final, la difficulté est similaire. Le choix n’a pas d’influence sur la notation.

  • Données libres

  • Jeu PuyoPuyo

Comment démarrer

Récupérer comme pour les TP les fichiers du projet:

cd ~/ProgImperative
info-111 fetch Projet-DonneesLibres

ou:

cd ~/ProgImperative
info-111 fetch Projet-Puyo

(presque vide dans ce deuxième cas). Puis suivre les instructions dans le document PDF.

Note: nous ferons probablement quelques retouches cosmétiques aux sujets en fonction de vos retours; n’hésitez pas à télécharger régulièrement la dernière version du PDF.

Recommandations

Afin d’éviter de perdre votre travail en cas de fausse manipulation, déposez le très régulièrement sur GitLab avec les commandes usuelles (en remplaçant comme d’habitude Groupe par le nom de votre groupe de TD):

cd ~/ProgImperative
info-111 submit Projet-DonneesLibres Groupe

ou:

cd ~/ProgImperative
info-111 submit Projet-Puyo  Groupe

De plus, testez bien vos programmes au fur et à mesure que vous les écrivez.

Soutenances: déroulement

Les soutenances de projet ont lieu la semaine du 7 au 11 décembre, pendant toute la durée des créneaux usuels de TD et de TP (parfois plus). Les étudiants LDD IM1, IM2 et MNSI, auront exceptionnellement un créneau de « TD » en parallèle des groupes du portail MI.

Du fait des conditions sanitaires, les soutenances auront lieu en distanciel, dans le salon de visioconférence usuel de votre groupe de TD. Les binômes se répartiront dans les « groupes », et l’enseignant viendra les voir à tour de rôle pour qu’ils présentent leur travail par partage d’écran. Installez vous avec votre binôme et préparez votre démonstration pour qu’elle soit prête à lancer (programmes ouverts, terminal avec commandes de compilation et de lancement préécrites, partage d’écran activé, micros allumés, etc). Vous pouvez au choix tout présenter depuis l’ordinateur d’un des membre du binôme ou alterner (en tenant compte du fait que basculer le partage d’écran d’un ordinateur à l’autre prend toujours un peu de temps.

Soutenances: contenu

La présentation orale durera 4 minutes et devra inclure:

  • Une description précise des fonctionnalités implantées;

  • Une mini démonstration d’une sélection judicieuse de ces fonctionnalités;

  • Quelques éléments pour étayer la robustesse de l’implantation (jeux de tests utilisés, …);

  • Les difficultés rencontrées;

  • Une discussion sur quelques extraits de code bien choisis.

Elle sera suivi d’une séance de question. Les deux membres du binôme devront participer à part égale à la présentation, ainsi qu’aux questions réponses.

Il faut bien préparer les 4 minutes de présentation pour être efficace et donner les meilleures informations possibles durant ce temps limité. Il est notamment essentiel – surtout au vu des conditions techniques de cette année, d’avoir répété plusieurs fois. Il est aussi inutile de redonner des informations qui se trouvent déjà dans le sujet du projet.

Rapport de projet

Le rapport fera environ une page et sera rédigé en commun par le binôme. Il sera déposé au format PDF dans un fichier rapport.pdf dans le dossier du projet, et soumis avec celui-ci. Pour que la soumission en tienne compte, il faudra au préalable exécuter une fois ces commandes (à ajuster pour Puyo):

cd ~/ProgImperative/Projet-DonneesLibres/
git add rapport.pdf

Le but du rapport est de décrire ce qui a été réalisé et comment s’est réparti le travail entre les membres du binôme. Plus précisément le rapport contiendra:

  • La liste des fonctionnalités implantées.

  • Les difficultés rencontrés.

En plus du rapport, la documentation de chaque fonction dans le code devra contenir:

  • Son auteur;

  • Votre degré de confiance dans l’implantation et les éléments factuels motivant cette confiance: présence de tests, bogues et limitations connus, etc.

Barème indicatif

  • Barème projet images

  • Barème projet Squadro