fin du semestre et rendu du projet

fin du semestre et rendu du projet

by Jean-Cédric Chappelier -
Number of replies: 0


Edit 25 mai : il y a 11 tests unitaires qui vous concernent (et non pas 14).

Bonjour,

voici diverses informations et instructions relatives à la fin de ce cours-projet et à son rendu. Veuillez lire l'intégralité de ce message avec attention.

Tout d'abord, nous repoussons de quelques jours la date officielle de rendu et vous laissons jusqu'au :
jeudi 4 juin 23:59
pour effectuer votre rendu (instructions détaillées en fin de message).

Ensuite, nous vous proposons une séance Zoom supplémentaire de réponses à vos questions (dans le meeting habituel 820-712-844) le mercredi 3 juin de 9h15 à 11h00.
Le but de cette séance est de répondre aux éventuelles incompréhensions sur le retour de la seconde correction, que vous recevrez au plus tard le mardi 2 juin. Le but de cette séance N'est par contre PAS de déboguer à votre place dans l'urgence les dernières étapes de votre projet.
Le plan initial (finir le projet pour le 1er juin ; séance de réponses aux questions le 27 mai) reste l'idée principale ; nous vous offrons simplement une extension (2-4 juin) afin de vous permettre de mieux traiter notre retour de correction (le reste étant supposé fini).

Concernant le rendu final :
ce dernier rendu est l'aboutissement de votre projet et doit donc être considéré comme tel (et non pas comme un 3e rendu intermédiaire d'un projet encore en cours). Nous attendons donc de ce rendu qu'il compile sans aucun soucis, pour l'ensemble des cibles attendues, détaillées ci-dessous. Nous avons été assez tolérants sur ce point (le Makefile ne fonctionnant pas totalement) dans les rendus précédents, mais ne le serons plus du tout pour ce rendu final.
En clair, si l'on tape « make » dans votre projet sur une machine Ubuntu 18.04 (ou Debian), nous devons avoir :

  • les 11 tests unitaires fournis (unit-test-alu.c, unit-test-bit.c, unit-test-bit-vector.c, unit-test-bus.c, unit-test-cartridge.c, unit-test-component.c, unit-test-cpu.c, unit-test-cpu-dispatch-week08.c, unit-test-cpu-dispatch-week09.c, unit-test-memory.c et unit-test-timer.c) ;

  • les 4 exécutables suivants :
    • test-cpu-week08.c (version avec le code assembleur simples (commençant par des NOP) et les 5 premières itérations de la suite de Fibonacci codées en dur) ;
    • test-cpu-week09.c (version avec le calcul de 11 termes de la suite de Fibonacci calculés avec une boucle) ;
    • test-gameboy ;
    • et gbsimulator.
Libre à vous de choisir si ces cibles utilisent ou non les bibliothèques fournies (libcs212gb...ext.so). Vous pouvez d'ailleurs avoir certaines cibles qui n'utilisent aucune bibliothèque fournie, certaines qui utilisent libcs212gbcpuext.so et d'autres qui utilisent libcs212gbfinalext.so ; libre à vous ; ce qui compte c'est que votre Makefile fonctionne de façons autonome.

Votre note finale sera largement péjorée si vous rendez un projet dont le Makefile ne peut pas produire automatiquement les cibles listées ci-dessus. Pour éviter toute ambiguïté, vous pouvez ajouter une cible « factice » pour tout exécutable que vous n'auriez pas fait ; par exemple :
test-gameboy:
<TAB>-@echo "$@ not done"
unit-test-bit-vector:
<TAB>-@echo "$@ not done"

(qui affichera donc simplement « test-gameboy not done », « unit-test-bit-vector not done », par exemple).

En clair : il faut que lorsque l'on copie les sources de votre projet rendu et que l'on tape simplement « make », on obtienne les 15 exécutables listés ci-dessus (ou un message indiquant « .... not done »).

Pour faire le rendu lui-même, comme dit à la fin du dernier sujet (semaine13), il n'y a rien d'autre à faire que de mettre dans la branche master de votre dépôt GitHub ; c'est là que nous irons chercher le dernier commit effectué avant jeudi 4 juin 23:59. C'est ce commit qui correspondra à votre rendu.

Bien entendu, nous restons à votre disposition sur le forum Moodle si vous avez des questions.
Bonne fin de projet !