Note devoir à la maison (filtrage photo)

Note devoir à la maison (filtrage photo)

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

Bonjour à toutes et à tous !

Pour celles et ceux qui sont en conformité avec le cours
(dernière vérification à midi aujourd'hui),
je viens de publier les notes du devoir à la maison
et vais vous envoyer sous peu un email votre programme et les points obtenus
(si vous n'avez pas de note : veuillez au préalable vous
mettre en conformité avec le cours comme déjà expliqué
de moult fois [e.g.  https://moodlearchive.epfl.ch/2021-2022/mod/forum/discuss.php?d=67855#p135337] ;
je referai le point en début de semaine prochaine)

Pour la correction :
Le barème total final a été fixé à 39 points :
  + général / main() :  8 points
  + add_ring()       : 11 points
  + display()        :  7 points
  + create_filter()  :  2 points
  + apply_filter()   : 11 points

Vos correcteurs ont PEUT ETRE ajouté des commentaires dans votre code
(qui va vous être retourné), mais sinon, les principales erreurs sont
détaillées ci-dessous.

Avec 90.4% de réussite, une moyenne de 33.4 points sur 39 (distribution ci-dessous, en % du total (100 = 39)), c'est un exercice bien réussi. Bravo !

Du coté positif, nous avons remarqué :

- il y de manière générale un effort dans l'écriture de commentaires pour expliquer leur code :-)
  (certain(e)s parfois même trop : ce n'est pas une « rédaction » ;-) )

- quelques-un ont fait un début de gestion d'erreurs 

- globalement très bien réussi avec globalement une belle qualité des codes reçus
  (mais attention à combien d'heures vous y avez passé !)

Les plus grosses erreurs ont été :

comparaison de double par == dans display() (notez qu'on peut afficher des images qui sont le résultats de calculs, p.ex. d'un filtrage)

manque de généricité (considère un cas particulier comme le cas général)
par exemple array versus vector pour les photos (alors que la donnée
était parfaitement claire à ce sujet : 1ère ligne :
Une photo numérique est définie comme un tableau à deux dimensions de taille Hauteur x
Largeur, contenant [...]

ceci dit beaucoup définissaient les bons types pour Photo et Filtre (et souvent avec typedef, c'est bien
!)

autre exemple : mettre des nombres « en dur » dans les fonctions (au lieu de « penser générique » et utiliser p.ex. size() )

plusieurs modularisent le test pour l'anneau (puisque c'est suggéré dans la donnée ?) mais ne modularisent pas le calcul du cercle (copié-collé de ce calcul)

- erreur sur les index du filtre dans la formule (il ne faut pas les +1)

- confusion de types int/size_t en particulier pour des .size()

-check de size_t < 0 (pas possible)

- pourquoi tant de
   if (machin) return true else return false;
 au lieu de simplement
   return machin;
 (avec machin de type bool)


- add_ring : parfois des conditions fausse pour is_in_circle avec la comparison au rayon intérieur avec >= (à la place de >, négation de <= ).

- pour add_ring: quelques-uns ont mal appliqué la symétrie, en divisant quand meme leur code en plusieurs répétitions de boucle
et beaucoup se compliquent trop la vie avec ces symétries (ca s'écrit tout simplement en quatre =)

- encore plusieurs copiés-collés (ou calculer plusieurs fois la même chose)

- quelques erreurs d'indices dans le passage de la formule mathématique aux tableaux C++ (mais la plupart a bien réussi ce passage)

- utilisation de passage par référence constante sont rares (normal à ce stade, mais mettez vous y petit à petit)

PAR CONTRE : il est totalement inutile (et peu lisible) de passer les types de base (int, double, ...)
par référence constante !!


distribution des pourcentage de points : pic à 92%
In reply to Jean-Cédric Chappelier

Re: Note devoir à la maison (filtrage photo)

by Jean-Cédric Chappelier -
> veuillez au préalable vous mettre en conformité avec le cours [...]
> je referai le point en début de semaine prochaine)

pour info : je viens de refaire une mise à jour.
Cependant il y a encore 15 personnes qui n'ont pas rejoint le GROUPE sur Coursera et parmi elles, 2 qui n'ont pas non plus validé l'inscription Piazza...