Bonus IUT Sceaux
This commit is contained in:
parent
52aa79160b
commit
7cf06a79e6
@ -1197,6 +1197,88 @@ class BonusRoanne(BonusSportAdditif):
|
|||||||
proportion_point = 1
|
proportion_point = 1
|
||||||
|
|
||||||
|
|
||||||
|
class BonusSceaux(BonusSportAdditif): # atypique
|
||||||
|
"""IUT de Sceaux
|
||||||
|
|
||||||
|
L’IUT de Sceaux (Université de Paris-Saclay) propose aux étudiants un seul enseignement
|
||||||
|
non rattaché aux UE : l’option Sport.
|
||||||
|
<p>
|
||||||
|
Cette option donne à l’étudiant qui la suit une bonification qui s’applique uniquement
|
||||||
|
si sa note est supérieure à 10.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Cette bonification s’applique sur l’ensemble des UE d’un semestre de la façon suivante :
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<tt>
|
||||||
|
[ (Note – 10) / Nb UE du semestre ] / Total des coefficients de chaque UE
|
||||||
|
</tt>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Exemple : un étudiant qui a obtenu 16/20 à l’option Sport en S1
|
||||||
|
(composé par exemple de 3 UE:UE1.1, UE1.2 et UE1.3)
|
||||||
|
aurait les bonifications suivantes :
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>UE1.1 (Total des coefficients : 15) ⇒ Bonification UE1.1 = <tt>[ (16 – 10) / 3 ] /15
|
||||||
|
</tt>
|
||||||
|
</li>
|
||||||
|
<li>UE1.2 (Total des coefficients : 14) ⇒ Bonification UE1.2 = <tt>[ (16 – 10) / 3 ] /14
|
||||||
|
</tt>
|
||||||
|
</li>
|
||||||
|
<li>UE1.3 (Total des coefficients : 12,5) ⇒ Bonification UE1.3 = <tt>[ (16 – 10) / 3 ] /12,5
|
||||||
|
</tt>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
"""
|
||||||
|
|
||||||
|
name = "bonus_iut_sceaux"
|
||||||
|
displayed_name = "IUT de Sceaux"
|
||||||
|
proportion_point = 1.0
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self,
|
||||||
|
formsemestre: "FormSemestre",
|
||||||
|
sem_modimpl_moys: np.array,
|
||||||
|
ues: list,
|
||||||
|
modimpl_inscr_df: pd.DataFrame,
|
||||||
|
modimpl_coefs: np.array,
|
||||||
|
etud_moy_gen,
|
||||||
|
etud_moy_ue,
|
||||||
|
):
|
||||||
|
# Pour ce bonus, il faut conserver:
|
||||||
|
# - le nombre d'UEs
|
||||||
|
self.nb_ues = len([ue for ue in ues if ue.type != UE_SPORT])
|
||||||
|
# - le total des coefs de chaque UE
|
||||||
|
# modimpl_coefs : DataFrame, lignes modimpl, col UEs (sans sport)
|
||||||
|
self.sum_coefs_ues = modimpl_coefs.sum() # Series, index ue_id
|
||||||
|
super().__init__(
|
||||||
|
formsemestre,
|
||||||
|
sem_modimpl_moys,
|
||||||
|
ues,
|
||||||
|
modimpl_inscr_df,
|
||||||
|
modimpl_coefs,
|
||||||
|
etud_moy_gen,
|
||||||
|
etud_moy_ue,
|
||||||
|
)
|
||||||
|
|
||||||
|
def compute_bonus(self, sem_modimpl_moys_inscrits, modimpl_coefs_etuds_no_nan):
|
||||||
|
"""Calcul du bonus IUT de Sceaux 2023
|
||||||
|
sem_modimpl_moys_inscrits: les notes de sport
|
||||||
|
En APC: ndarray (nb_etuds, nb_mod_sport, nb_ues_non_bonus)
|
||||||
|
En classic: ndarray (nb_etuds, nb_mod_sport)
|
||||||
|
|
||||||
|
Attention: si la somme des coefs de modules dans une UE est nulle, on a un bonus Inf
|
||||||
|
(moyenne d'UE cappée à 20).
|
||||||
|
"""
|
||||||
|
if (0 in sem_modimpl_moys_inscrits.shape) or (self.nb_ues == 0):
|
||||||
|
# pas d'étudiants ou pas d'UE ou pas de module...
|
||||||
|
return
|
||||||
|
super().compute_bonus(sem_modimpl_moys_inscrits, modimpl_coefs_etuds_no_nan)
|
||||||
|
self.bonus_ues = (self.bonus_ues / self.nb_ues) / self.sum_coefs_ues
|
||||||
|
|
||||||
|
|
||||||
class BonusStEtienne(BonusSportAdditif):
|
class BonusStEtienne(BonusSportAdditif):
|
||||||
"""IUT de Saint-Etienne.
|
"""IUT de Saint-Etienne.
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# -*- mode: python -*-
|
# -*- mode: python -*-
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
SCOVERSION = "9.4.60"
|
SCOVERSION = "9.4.61"
|
||||||
|
|
||||||
SCONAME = "ScoDoc"
|
SCONAME = "ScoDoc"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user