Skip to content
Snippets Groups Projects
Commit a9fd1296 authored by Emmanuel Viennet's avatar Emmanuel Viennet
Browse files

Bonus IUT Rennes: modif sept 24

parent f601ef47
No related branches found
No related tags found
No related merge requests found
......@@ -774,6 +774,34 @@ class BonusIUTRennes1(BonusSportAdditif):
"""Calcul bonus optionnels (sport, langue vivante, engagement étudiant),
règle IUT de l'Université de Rennes 1 (Lannion, Rennes, St Brieuc, St Malo).
<div><b>Pour les semestres à partir de sept. 2024:</b></div>
<p>
Article 5 : Bonification des activités hors programmes nationaux :
</p>
<p>
Pour calculer la moyenne M de chaque UE des semestres pairs, il convient
d'ajouter la validation de note obtenue qui s'effectuera suivant la
formule :
<pre>
M = Mo + ((S-10)/10)/(Nombre d'UE du semestre)
</pre>
où Mo est la moyenne de l'UE avant prise en compte de la note et S est
la note finale attribuée par l'activité bonifiée (si S > 10).
</p>
<p>
Sont éligibles à cette bonification une activité sportive dans le cadre
universitaire, une langue vivante optionnelle et l'engagement étudiant
(dans le cadre défini par la commission de la formation et de la vie
universitaire (CFVE) de l'Université de Rennes annexe 3).
</p>
<p>
Pour l'étudiant pouvant prétendre à plusieurs bonifications, seule la
meilleure des notes sera prise en compte. Toutefois, une bonification
liée à l'engagement est cumulable avec une autre bonification.
</p>
</div>
<div><b>Pour les semestres avant 2024:</b></div>
<ul>
<li>Les étudiants peuvent suivre un ou plusieurs activités optionnelles notées
dans les semestres pairs.<br>
......@@ -796,17 +824,26 @@ class BonusIUTRennes1(BonusSportAdditif):
# S'applique aussi en classic, sur la moy. gen.
def compute_bonus(self, sem_modimpl_moys_inscrits, modimpl_coefs_etuds_no_nan):
"""calcul du bonus"""
"""calcul du bonus, avec changement de règle en sept 2024"""
# Nouvelle règle à partir de sept. 2024
# Prend la note de chaque modimpl, sans considération d'UE
if len(sem_modimpl_moys_inscrits.shape) > 2: # apc
sem_modimpl_moys_inscrits = sem_modimpl_moys_inscrits[:, :, 0]
# ici sem_modimpl_moys_inscrits est nb_etuds x nb_mods_bonus, en APC et en classic
note_bonus_max = np.max(sem_modimpl_moys_inscrits, axis=1) # 1d, nb_etuds
nb_ues = len(self.formsemestre.get_ues(with_sport=False))
if nb_ues == 0:
self.bonus_ues = pd.DataFrame()
self.bonus_moy_gen = pd.Series()
return
proportion_point = (
1 / (10.0 * nb_ues)
if self.formsemestre.date_debut > datetime.date(2024, 8, 1)
else self.proportion_point
)
bonus_moy_arr = np.where(
note_bonus_max > self.seuil_moy_gen,
(note_bonus_max - self.seuil_moy_gen) * self.proportion_point,
(note_bonus_max - self.seuil_moy_gen) * proportion_point,
0.0,
)
# Seuil: bonus dans [min, max] (défaut [0,20])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment