Projet#

Instructions et recommandations#

Le projet conclut l’UE Programmation Impérative. 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 11 au 15 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 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, et d’avancer au maximum entre les séances.

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.

L’examen 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 et de réviser pour l’examen.

Entraide, réutilisation et plagiat#

Il est recommandé de s’entraider entre binômes, en particulier pour discuter de la conception, ou si vous bloquez sur un bogue. En revanche, si vous copiez une fonction d’un autre binôme, cela devra être mentionné dans le rapport ET dans le code. La fonction ne sera alors pas comptabilisée dans la note.

Plus généralement, toute 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 pédagogique de ce premier projet est de tout réimplanter depuis la base.

Nous utilisons des outils de détection de plagiat. Les plagiats détectés seront sanctionnés d’un zéro à la note de projet et seront signalés auprès de la direction des études.

Sujets 2023-2024#

Vous avez le choix entre deux projets. Le premier porte sur le traitement automatique d’image . 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.

Les sujets seront annoncés lors du premier amphi après les vacances :

  • Traitement d’images numériques

  • Jeu Jarnac

Comment démarrer#

Attention

05/11/2023: les sujets ne seront disponibles au téléchargement que dans quelques jours.

Téléchargez comme pour les TP les fichiers du projet. Pour cela, vous pouvez utiliser le tableau de bord, ou bien la ligne de commande :

cd ~/ProgImperative
info-111 fetch Projet-Image

ou:

cd ~/ProgImperative
info-111 fetch Projet-Jarnac

(presque vide dans ce deuxième cas).

Suivez ensuite les instructions dans le document index.md.

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, ou à consulter les sujets sur la page web.

Recommandations#

Testez bien vos programmes au fur et à mesure que vous les écrivez.

Afin d’éviter de perdre votre travail en cas de fausse manipulation, déposez le très régulièrement sur GitLab avec le tableau de bord ou via les commandes usuelles:

cd ~/ProgImperative
info-111 submit Projet-Image

ou:

cd ~/ProgImperative
info-111 submit Projet-MixMoEnDuplicata

Note

Lors du premier dépôt, vous devrez indiquer en complément le nom de votre groupe de TD.

Travailler en binôme#

Rapport de projet#

Vous devez, avant la soutenance, rédiger en commun avec votre binôme un mini-rapport sur votre projet. Un squelette à compléter et les instructions vous sont fournies dans le fichier rapport.md que vous trouverez dans le dossier téléchargé pour le projet. Vous pouvez aussi consulter ces squelettes ici :

  • Projet données libres

  • Projet jeu Jarnac

Chaque fois que vous déposerez votre travail sur GitLab (avec submit), le rapport sera déposé avec; vous n’avez donc pas besoin de le soumettre séparément.

Soutenances#

Déroulement#

Les soutenances de projet ont lieu la semaine du 11 au 15 décembre. Comme vous êtes nombreux, elles s’étalent typiquement sur quatre heures; parfois un peu plus. Les créneaux et salles de soutenance sont indiqués sur vos emplois du temps.

Les heures de convocations vous seront communiquées ultérieurement.

Déroulement#

L’enseignant vient voir les binômes à tour de rôle pour qu’ils présentent leur travail sur leur poste de travail ou ordinateur personnel. Sauf instruction spécifique de votre enseignant, venez en salle informatique à l’heure où vous êtes convoqué ou plus tôt. Installez vous avec votre binôme et préparez votre démonstration pour qu’elle soit prête à lancer (rapport et programmes ouverts, terminal avec commandes de compilation et de lancement préécrites, etc).

Contenu#

La présentation orale durera quatre 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.

Cette présentation pourra typiquement s’appuyer sur le rapport.

Elle sera suivi d’une séance de questions. 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 quatre 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 inutile de redonner des informations qui se trouvent déjà dans le sujet du projet.

Vous aurez au préalable déposé votre projet (code + rapport) sur GitLab (comme d’habitude, par exemple avec info-111 submit). C’est sur cette version que vous serez évalués.