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 vaut html ;

    • sous forme textuelle dans un tableau formaté selon les usages du langage Markdown quand FMT vaut markdown 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.