Erreur calcul moyenne avec évaluation de type 2 (2nde session) #811
Labels
No Label
ABS
à confirmer
API
Apogée
bug
BUT
Dev
duplicate
enhancement
Entreprises
frontend
help wanted
invalid
Jury
PE
prio
question
RGPD
Users
wontfix
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: ScoDoc/ScoDoc#811
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
C'est dans le cadre de la gestion des Sportifs de haut niveau. L'étudiant a suivi quelques modules de S3 l'an dernier et je suis en train de reporter ses moyennes dans le semestre 3 actuel. J'ai choisi d'utiliser les évaluations de type "2nde session (remplace toujours)" pour reporter ses moyennes 2022-2023, en configurant cette évaluation de la manière suivante :
Jusque là, aucun problème, cela ne perturbe pas les autres étudiants (qui n'ont pas de note dans cette évaluation), et je retrouve parfaitement la moyenne de mon sportif.
Là où cela se complique, c'est dans les modules où il y a des moyennes différentes par UE. J'ai alors créé 1 éval par UE et saisi ses moyennes d'UE de l'an dernier :
Dans ce cas, les moyennes de modules par UE sont mal calculées : ( elles semblent dupliquer, en ne prenant que l'une des évaluations)
(il a une seule note en UE1 = 6.53 , sa moyenne devrait être de 6.53 et non 8.22).
Données envoyées le 5/12/2023 à 16:19
Il s'agit du bulletin formsemestre_id=25&etudid=475
Résumé
Solution envisagée
get_evaluation_session2(modimpl)
Conformité: bug lié
Bug découvert en travaillant sur ce ticket, sera corrigé en même temps.
La conformité d'un module est vérifiée via
qui est appelé par
ModuleImpl.check_apc_conformity(res)
avec
evals_poids = modimpl.get_evaluations_poids()
.Or
get_evaluations_poids
renvoie les poids de toutes les évaluations, y compris rattrapage et session2:load_evaluations_poids
charge unDataFrame(columns=ue_ids, index=evaluation_ids, dtype=float)
.Bug: actuellement on peut rendre un modimpl conforme en ajoutant une évaluation de session2 avec des poids bien choisis, même si cette dernière n'est pas utilisée dans les calculs.
Solution
check_apc_conformity
etmoduleimpl_is_conforme
pourraient avoir un argument indiquant le type d'évaluations à considérer.En APC, les évaluations de rattrapage et session2 ne seraient prises en compte que si le sous-ensemble qu'elles forment est conforme (non orthogonal aux coefs du module).
moduleimpl_status
.Notes techniques
Les évaluations de session 2 sont
Evaluation.evaluation_type == Evaluation.EVALUATION_SESSION2
.Le calcul des moyennes BUT en question est effectué dans
ModuleImplResultsAPC.compute_module_moy()
.Modifier
ModuleImplResultsAPC.get_evaluation_session2()
pour que cette méthode vérifie la conformité des évals de session2.Calculer une moyenne pondérée par les poids avant d'affecter
etuds_moy_module
.Tests unitaires
test_notes_rattrapage.py
pour tester ces cas avec poids.