Projet 2023
Aider un enseignant à préparer sa séquence pédagogique
Objectif
Pour un enseignant donné, afficher la liste des modules et des groupes TD dans lesquels/auprès desquels il intervient et pour chaque module et chaque groupe, la date de sa première intervention, la date de sa dernière intervention, ainsi que le nombre d’heures de ses interventions (CM, TD, TP, DS confondus).
Cahier des charges fonctionnel
Les données seront celles, extraites d’ADE, que vous avez transformées en CSV durant la première phase et qui devraient exactement correspondrent au fichier fourni
ici
(de manière à ce que vous puissiez faire la phase 2, même sans avoir réussi la phase 1).Le script Awk prend en compte toute l’année universitaire, c’est à dire allant du 1er septembre au 31 juillet.
Le script Awk s’adapte au nom de l”enseignant qui sera passé dans un paramètre nommé
ENS
Les informations à afficher seront présentées en fonction d’un paramètre nommé
FMT
:sous forme d’une page web HTML statique éventuellement liée à une feuille de style CSS quand
FMT
vauthtml
;sous forme textuelle dans un tableau formaté selon les usages du langage Markdown quand
FMT
vautmarkdown
ou n’est pas présent ;
Point d’informations pour les FI lundi 18/12/2023 de 13h15 à 13h45 en salle Von Neumann.
Pour ceux qui ont des questions ou pensent en avoir besoin, un point d’informations complémentaires (non obligatoire) sur la phase 2 sera effectué par M. MERY.
Exemple de résultats
Supposons que l’enseignant soit Jérôme MARTIN.
Sous forme textuelle selon les usages du langage Markdown, le résultat prendra la forme suivante :
meryd@aquen:~/SAE15$ awk -f projet2023.awk -v ENS='MARTIN JEROME' data/all_ics_expected.csv
Séquence pédagogique de MARTIN JEROME
+----------+--------+------------+------------+-----------+
| Module | Groupe | Début | Fin | Nb Heures |
+==========+========+============+============+===========+
| M3109 | S3G1 | 19-10-2021 | 19-10-2021 | 6h30 |
+----------+--------+------------+------------+-----------+
| M3109 | S3G2 | 19-10-2021 | 19-10-2021 | 6h30 |
+----------+--------+------------+------------+-----------+
| R107 | S1G3 | 24-09-2021 | 24-09-2021 | 6h00 |
+----------+--------+------------+------------+-----------+
| R107 | S1G4 | 30-09-2021 | 30-09-2021 | 40h00 |
+----------+--------+------------+------------+-----------+
| R115 | S1G1 | 12-10-2021 | 12-10-2021 | 8h00 |
+----------+--------+------------+------------+-----------+
| R115 | S1G2 | 29-09-2021 | 29-09-2021 | 8h00 |
+----------+--------+------------+------------+-----------+
| R115 | S1G3 | 28-09-2021 | 28-09-2021 | 8h00 |
+----------+--------+------------+------------+-----------+
| R115 | S1G4 | 13-10-2021 | 13-10-2021 | 8h00 |
+----------+--------+------------+------------+-----------+
| RCPI01 | S3G2 | 13-12-2021 | 13-12-2021 | 14h00 |
+----------+--------+------------+------------+-----------+
| SAÉ11 | S1G1 | 17-12-2021 | 17-12-2021 | 3h00 |
+----------+--------+------------+------------+-----------+
| SAÉ11 | S1G2 | 16-12-2021 | 16-12-2021 | 3h00 |
+----------+--------+------------+------------+-----------+
| SAÉ11 | S1G3 | 15-12-2021 | 15-12-2021 | 3h00 |
+----------+--------+------------+------------+-----------+
| SAÉ11 | S1G4 | 17-12-2021 | 17-12-2021 | 3h00 |
+----------+--------+------------+------------+-----------+
| SAÉ15 | S1G4 | 16-11-2021 | 16-11-2021 | 10h00 |
+----------+--------+------------+------------+-----------+
Sous forme HTML/CSS, les résultats affichés prendront la forme :
Séquence pédagogique de MARTIN JEROME
Module |
Groupe |
Début |
Fin |
Nb Heures |
---|---|---|---|---|
M3109 |
S3G1 |
19-10-2021 |
19-10-2021 |
6h30 |
M3109 |
S3G2 |
19-10-2021 |
19-10-2021 |
6h30 |
R107 |
S1G3 |
24-09-2021 |
24-09-2021 |
6h00 |
R107 |
S1G4 |
30-09-2021 |
30-09-2021 |
40h00 |
R115 |
S1G1 |
12-10-2021 |
12-10-2021 |
8h00 |
R115 |
S1G2 |
29-09-2021 |
29-09-2021 |
8h00 |
R115 |
S1G3 |
28-09-2021 |
28-09-2021 |
8h00 |
R115 |
S1G4 |
13-10-2021 |
13-10-2021 |
8h00 |
RCPI01 |
S3G2 |
13-12-2021 |
13-12-2021 |
14h00 |
SAÉ11 |
S1G1 |
17-12-2021 |
17-12-2021 |
3h00 |
SAÉ11 |
S1G2 |
16-12-2021 |
16-12-2021 |
3h00 |
SAÉ11 |
S1G3 |
15-12-2021 |
15-12-2021 |
3h00 |
SAÉ11 |
S1G4 |
17-12-2021 |
17-12-2021 |
3h00 |
SAÉ15 |
S1G4 |
16-11-2021 |
16-11-2021 |
10h00 |
Fonctions spécifiques au projet
Le script doit être découpé en différentes fonctions pour suivre les principes de structuration du code, en appliquant une stratégie « diviser pour régner ».
Les fonctions en support du projet sont décrites dans sa documentation technique.