Bonjour à tous, et bonne année.
Vous trouverez ci-joint un fichier libreoffice avec vos notes de projets (rapport + projet lui-même). D'une manière générale, vous avez fait de bons projets. La moyenne est de 13 et la médiane de 15 (c'est-à-dire que la moitié des projets sont au dessus de 15, l'autre moitié en dessous).
Voici le détail de la notation : le rapport est noté sur 15, note que je divise ensuite par 3 pour avoir une note sur 5. Le projet lui-même est noté sur 15. L'addition de ces deux notes donne la note sur 20.
Barême pour la note de rapport :
* Présentation générale (la forme, le visuel du rapport) : 2 points. Presque tout le monde à 2, sauf les rapports qui n'étaient même pas agrafés (0 dans ce cas). Il est inconcevable de rendre un rapport en feuilles volantes !
* Introduction : 1
* Explication compilation - exécution : 1
* Déroulement du programme et du code : 1
* UML des patterns : 1 par pattern
* Description des patterns : 0.5 par pattern
* Comment le pattern est inséré dans le code : 1 par pattern
* UML général : 1
* Présentation des classes importantes dans le projet : 1
* Difficulté rencontrées et extensions possibles : 1
* Conclusion : 1
* Bonus (vraiment le plus par rapport à ce qui était attendu, autant sur le fond que la forme) : 1
Barême pour la note du code :
* Pattern : 2 points par pattern
- 2 si tout va bien.
- 1 si le pattern est utilisé d'une manière vraiment anti-naturelle.
- 0 si c'est faux ou non fait.
* Impressions générales (réalisation du projet, qualité du C++) : 4 points
- 4 rare, vraiment si c'est très très bien fait
- 3 normal, très bon travail
- 2 pas mal, bon travail
- 1 médiocre
- 0 échec complet
* Commentaire - documentation : 3 points
- 3 bien commenté avec un outil genre doxygen
- 2 bien commenté avec des commentaires C++
- 1 moyennement commenté
- 0 peu ou pas commenté
Vous trouverez le code des autre groupes à l'adresse suivante (lien disponible 30 jours pour 100 téléchargements) : http://filex.univ-nantes.fr/get?k=Cdem3miJd9olHF6whjV
Autre chose, je pensais pour l'an prochain prendre quelques séances de TP pour faire un "cours" sur les bonnes manières de programmer en C++. Pensez-vous cela intéressant ? Je pensais, en vrac, parler des choses suivantes (sûrement pas tout) :
- general :
* initialisation / declaration (=, (), {} et {default} en C++11)
* const
* exceptions (et C++11 noexcept)
* nested class
* C++ cast
- memory management :
* rule of thumb (regle de pouce)
* regle de 3
* regle de 4.5
* RAII
* smart pointers
* regle de 0
* valgrind
- copies temporaires :
* passage par valeur, reference, variable
* copie superficielle et en profondeur
* copie temporaire lors d'appel de fonction
- std :
* containers
* algo standard (find, sort, ...)
- Principe SOLID, Principe 1 classe = 1 fonctionnalité
- surcharge operator (+, +=, ++, ...)
- C++11
* move semantic
* functors, lambda
Bon courage pour votre deuxième semestre !
F.