Erreur validation de licence pro #388

Closed
opened 2022-05-30 14:13:42 +02:00 by castagnetti · 3 comments

Bonjour,

dans ma LPro Techniques Avancées d'Usinage en GMP (pour la retrouver suite à l'envoi des données IUT de Bordeaux) qui est déclarée de type "Licence Pro (en un "semestre"), selon arrêté du 22/01/2014" en un semestre, j'ai 5 UE, dont 2 de type projet/stage

image

En scodoc 7, le calcul de décision de jury, faisait la moyenne pondérée des UE projets/stage pour que l'on puisse les séparer dans 2 UE différentes.

Ici, pour l'étudiant 5397, qui a les notes suivantes
UE1 UE2 UE3 UE4 UE5
14.96 11.88 13.33 10.30 07.00

La moyenne générale est bien supérieure à 10 mais la moyenne des UE4 et 5 donne 8.5 de moyenne. Le logiciel ne devrait pas proposer ADM en première décision. Ici même le calcul auto le propose ADM.

Est ce le fait d'avoir 2 UE de type projet qui n'est plus pris en compte ?
Merci

Bonjour, dans ma LPro Techniques Avancées d'Usinage en GMP (pour la retrouver suite à l'envoi des données IUT de Bordeaux) qui est déclarée de type *"Licence Pro (en un "semestre"), selon arrêté du 22/01/2014"* en un semestre, j'ai 5 UE, dont 2 de type projet/stage ![image](/attachments/d28ec474-54de-4a60-a3b5-101b305a1fb6) En scodoc 7, le calcul de décision de jury, faisait la moyenne pondérée des UE projets/stage pour que l'on puisse les séparer dans 2 UE différentes. Ici, pour l'étudiant 5397, qui a les notes suivantes UE1 UE2 UE3 UE4 UE5 14.96 11.88 13.33 10.30 07.00 La moyenne générale est bien supérieure à 10 mais la moyenne des UE4 et 5 donne 8.5 de moyenne. Le logiciel ne devrait pas proposer ADM en première décision. Ici même le calcul auto le propose ADM. Est ce le fait d'avoir 2 UE de type projet qui n'est plus pris en compte ? Merci
157 KiB
viennet added the
bug
à confirmer
labels 2022-06-01 14:21:21 +02:00
Owner

La classe ParcoursLP2014 effectue apparemment ce calcul (moyenne des UE de type projet) dans sa méthode check_barre_ues:

def check_barre_ues(self, ues_status):
        """True si la ou les conditions sur les UE sont valides
        Article 10: "une moyenne égale ou supérieure à 10 sur 20 à l'ensemble constitué
                     du projet tutoré et du stage."
        """
        # Les UE de type "projet ou stage" ayant des notes
        mc_stages_proj = [
            (ue_status["moy"], ue_status["coef_ue"])
            for ue_status in ues_status
            if ue_status["ue"]["type"] == UE_STAGE_LP
            and type(ue_status["moy"]) == float
        ]
        # Moyenne des moyennes:
        sum_coef = sum(x[1] for x in mc_stages_proj)
        if sum_coef > 0.0:
            moy = sum([x[0] * x[1] for x in mc_stages_proj]) / sum_coef
            ok = moy > (self.BARRE_MOY_UE_STAGE_PROJET - NOTES_TOLERANCE)

cette méthode est appelée par
NotesTableCompat.etud_check_conditions_ues().

Donc: le cas semble toujours prévu dans ScoDoc 9. Il faut un jeu de test (copie des données ou autre) pour vérifier ce problème.

La classe `ParcoursLP2014` effectue apparemment ce calcul (moyenne des UE de type projet) dans sa méthode `check_barre_ues`: ```py def check_barre_ues(self, ues_status): """True si la ou les conditions sur les UE sont valides Article 10: "une moyenne égale ou supérieure à 10 sur 20 à l'ensemble constitué du projet tutoré et du stage." """ # Les UE de type "projet ou stage" ayant des notes mc_stages_proj = [ (ue_status["moy"], ue_status["coef_ue"]) for ue_status in ues_status if ue_status["ue"]["type"] == UE_STAGE_LP and type(ue_status["moy"]) == float ] # Moyenne des moyennes: sum_coef = sum(x[1] for x in mc_stages_proj) if sum_coef > 0.0: moy = sum([x[0] * x[1] for x in mc_stages_proj]) / sum_coef ok = moy > (self.BARRE_MOY_UE_STAGE_PROJET - NOTES_TOLERANCE) ``` cette méthode est appelée par `NotesTableCompat.etud_check_conditions_ues()`. Donc: le cas semble toujours prévu dans ScoDoc 9. Il faut un jeu de test (copie des données ou autre) pour vérifier ce problème.
Owner

mc_stages_projest vide.

ues_statusliste bien les 5 UE

[ ue_s for ue_s in ues_status if ue_s["ue"]["type"] == UE_STAGE_LP liste bien les 2 UE

mais ue_status["moy"])est de type <class 'numpy.float64'> et non de type float.

=> il faut ici utiliser

np.issubdtype(type(ue_status["moy"]), np.floating)
`mc_stages_proj`est vide. `ues_status`liste bien les 5 UE `[ ue_s for ue_s in ues_status if ue_s["ue"]["type"] == UE_STAGE_LP ` liste bien les 2 UE mais `ue_status["moy"])`est de type `<class 'numpy.float64'>` et non de type `float`. => il faut ici utiliser ```py np.issubdtype(type(ue_status["moy"]), np.floating) ```
Owner

Fixed 7f786faa2d

Fixed 7f786faa2d51812cd739f72f1257788aafbf6e5c
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: ScoDoc/ScoDoc#388
No description provided.