Commit 67cec455c8d6793e6fed327fb621ce2cc5762d11

Authored by Louis-Claude Canon
1 parent 678e756d8e
Exists in master

Cleaner build

Showing 5 changed files with 86 additions and 80 deletions Side-by-side Diff

1   -all:
2   - ./script.sh
  1 +FORMATION=besançon2_CMI besançon2 besançon bordeaux dijon_EI dijon_MI grenoble lyon nancy rennes
  2 +DATA=$(addsuffix .csv, $(addprefix data/, ${FORMATION}))
  3 +CAT=$(addsuffix .cat, ${DATA})
  4 +
  5 +all: www/programme.html
  6 +%.cat: %
  7 + ./parse.sh $<
  8 +www/programme.html: www/programme.template ${CAT}
  9 + ./build.sh
3 10 deploy:
4 11 scp -r www/* lccanon@lifc-home.univ-fcomte.fr:public_html/
5 12 clean:
6   - -rm data/*.cat data/*.theme data/theme.txt www/programme.html 2> /dev/null
  13 + -rm ${CAT} data/*.theme data/csv.cat data/csv.theme data/theme.txt www/programme.html 2> /dev/null
  1 +#! /bin/bash
  2 +
  3 +# Generate web page with graphical results
  4 +
  5 +cp www/programme.template www/programme.html
  6 +
  7 +IFS=$'\n'
  8 +for FILE in $(ls -1 data)
  9 +do
  10 + if [ $(grep "\[$FILE\]" www/programme.html | tr -d '\n') ]
  11 + then
  12 + sed -i "s/\[$FILE\]/[$(head -c -1 -q data/$FILE)]/g" www/programme.html
  13 + fi
  14 +done
  1 +#! /bin/bash
  2 +
  3 +cut -d ";" -f 4 data/*.csv | sort | uniq > data/theme.txt
  4 +
  5 +THEMES=$(cat data/theme.txt | tr "\n" ",")
  6 +CATEGORIES=$(grep -o -E "^[^(]*" categorie.txt | sed "s/ $//" | tr "\n" ",")
  7 +THEMES=$(echo $THEMES | sed "s/,/\",\"/g" | sed "s/^/\"/" | sed "s/,\"$//")
  8 +CATEGORIES=$(echo $CATEGORIES | sed "s/,/\",\"/g" | sed "s/^/\"/" | sed "s/,\"$//")
  9 +
  10 +echo $THEMES > data/csv.theme
  11 +echo $CATEGORIES > data/csv.cat
  12 +
  13 +FORMATION=$1
  14 +echo -n $FORMATION
  15 +
  16 +echo -n -e " ("
  17 +echo -n $(cut -d ";" -f 3 $FORMATION | paste -sd+ | bc)
  18 +echo " ECTS)"
  19 +
  20 +> $FORMATION.theme
  21 +> $FORMATION.cat
  22 +
  23 +echo -e "\tPar thème"
  24 +
  25 +IFS=''
  26 +cat data/theme.txt |
  27 +while read THEME
  28 +do
  29 + echo -n -e "\t\t$THEME "
  30 + ECTS=$(grep $THEME$ $FORMATION | cut -d ";" -f 3)
  31 + if [[ -z "$ECTS" ]]
  32 + then
  33 + ECTS=0
  34 + fi
  35 + ECTS=$(echo $ECTS | tr ' ' '\n' | paste -sd+ | bc)
  36 + THEMES_ECTS=$THEMES_ECTS,$ECTS
  37 + echo -n "$ECTS," >> $FORMATION.theme
  38 + echo $ECTS
  39 +done
  40 +sed -i "s/,$/\n/" $FORMATION.theme
  41 +
  42 +echo -e "\tPar catégorie"
  43 +
  44 +IFS=''
  45 +cat categorie.txt |
  46 +while read CAT
  47 +do
  48 + CATEGORIE=$(echo $CAT | grep -o -E "^[^(]*")
  49 + PATT=$(echo $CAT | grep -o "(.*)")
  50 + echo -n -e "\t\t$CATEGORIE"
  51 + ECTS=$(grep -E $PATT$ $FORMATION | cut -d ";" -f 3 | paste -sd+ | bc)
  52 + echo -n "$ECTS," >> $FORMATION.cat
  53 + echo $ECTS
  54 +done
  55 +sed -i "s/,$/\n/" $FORMATION.cat
1   -#! /bin/bash
2   -
3   -cut -d ";" -f 4 data/*.csv | sort | uniq > data/theme.txt
4   -
5   -THEMES=$(cat data/theme.txt | tr "\n" ",")
6   -CATEGORIES=$(grep -o -E "^[^(]*" categorie.txt | sed "s/ $//" | tr "\n" ",")
7   -THEMES=$(echo $THEMES | sed "s/,/\",\"/g" | sed "s/^/\"/" | sed "s/,\"$//")
8   -CATEGORIES=$(echo $CATEGORIES | sed "s/,/\",\"/g" | sed "s/^/\"/" | sed "s/,\"$//")
9   -
10   -echo $THEMES > data/csv.theme
11   -echo $CATEGORIES > data/csv.cat
12   -
13   -for FORMATION in $(ls data/*.csv)
14   -do
15   - echo -n $FORMATION
16   -
17   - echo -n -e " ("
18   - echo -n $(cut -d ";" -f 3 $FORMATION | paste -sd+ | bc)
19   - echo " ECTS)"
20   -
21   - > $FORMATION.theme
22   - > $FORMATION.cat
23   -
24   - echo -e "\tPar thème"
25   -
26   - IFS=''
27   - cat data/theme.txt |
28   - while read THEME
29   - do
30   - echo -n -e "\t\t$THEME "
31   - ECTS=$(grep $THEME$ $FORMATION | cut -d ";" -f 3)
32   - if [[ -z "$ECTS" ]]
33   - then
34   - ECTS=0
35   - fi
36   - ECTS=$(echo $ECTS | tr ' ' '\n' | paste -sd+ | bc)
37   - THEMES_ECTS=$THEMES_ECTS,$ECTS
38   - echo -n "$ECTS," >> $FORMATION.theme
39   - echo $ECTS
40   - done
41   - sed -i "s/,$/\n/" $FORMATION.theme
42   -
43   - echo -e "\tPar catégorie"
44   -
45   - IFS=''
46   - cat categorie.txt |
47   - while read CAT
48   - do
49   - CATEGORIE=$(echo $CAT | grep -o -E "^[^(]*")
50   - PATT=$(echo $CAT | grep -o "(.*)")
51   - echo -n -e "\t\t$CATEGORIE"
52   - ECTS=$(grep -E $PATT$ $FORMATION | cut -d ";" -f 3 | paste -sd+ | bc)
53   - echo -n "$ECTS," >> $FORMATION.cat
54   - echo $ECTS
55   - done
56   - sed -i "s/,$/\n/" $FORMATION.cat
57   -done
58   -
59   -
60   -# Generate web page with graphical results
61   -
62   -cp www/programme.template www/programme.html
63   -
64   -IFS=$'\n'
65   -for FILE in $(ls -1 data)
66   -do
67   - if [ $(grep "\[$FILE\]" www/programme.html | tr -d '\n') ]
68   - then
69   - sed -i "s/\[$FILE\]/[$(head -c -1 -q data/$FILE)]/g" www/programme.html
70   - fi
71   -done
www/programme.template View file @ 67cec45
... ... @@ -8,10 +8,11 @@
8 8 <meta charset="utf-8">
9 9 </head>
10 10 <body>
11   - <h1>Objectifs</h1>
  11 + <h1>Comparaison des licences informatiques</h1>
  12 + <h2>Objectifs</h2>
12 13 <p>L'analyse suivante compare le programme de plusieurs licences d'informatique. Il s'agit d'une approche quantitative qui mérite d'être améliorée (n'hésitez pas à me transmettre vos suggestions). L'objectif est d'identifier les lacunes que pourraient avoir nos étudiants qui intègrent d'autres masters qui correspondent mieux à leur projet, mais aussi les lacunes des étudiants extérieurs intégrant le M1.</p>
13 14  
14   - <h1>Protocole</h1>
  15 + <h2>Protocole</h2>
15 16 <p>Pour chaque formation, un thème a été associé à chaque enseignement ("compilation" par exemple), puis ces thèmes ont été regroupés dans des catégories plus larges de la façon suivante (chaque ligne correspond à une catégorie, les thèmes sont entre parenthèse) :
16 17 <ul>
17 18 <li>Algorithmique (algorithmique)</li>
18 19  
... ... @@ -27,10 +28,10 @@
27 28 <p>Cette classification s'inspire de celle de Dowek (Algorithmique, Machine, Langage, Information).</p>
28 29 <p>Le nombre total d'ECTS attribué à chaque thème et à chaque catégorie a ensuite été calculé pour chaque formation.</p>
29 30  
30   - <h1>Limites de l'approche</h1>
  31 + <h2>Limites de l'approche</h2>
31 32 <p>Cette approche est limitée par la présence des options, le manque d'information (nombre d'ECTS ou contenu exact), l'orientation pluri-disciplinaire de certaines licences (mathématiques, électronique, ...), une catégorisation imparfaite (pour sécurité et graphique notamment) et une comparaison uniquement quantitative.</p>
32 33  
33   - <h1>Résultats</h1>
  34 + <h2>Résultats</h2>
34 35 <p>Les formations considérées (dans le même ordre que sur les figures) : Besançon (181), Bordeaux 1 (180), Dijon EI (180), Dijon MI (180), Grenoble 1 (180), Lyon 1 (186), Nancy 1 (180) et Rennes 1 (177). Le nombre en parenthèse correspond au nombre d'ECTS total de la formation.</p>
35 36  
36 37 <canvas id="canvas1" height="600" width="1200"></canvas>
... ... @@ -42,7 +43,7 @@
42 43  
43 44 <p>L'hétérogénéité précédente est lissé avec les catégories plus larges. Les constats sont les mêmes : moins d'algorithmique et de mathématiques et plus d'information et de science que toutes les autres licences.</p>
44 45  
45   - <h1>Évolution avec le CMI</h1>
  46 + <h2>Évolution avec le CMI</h2>
46 47  
47 48 <p>Pour faciliter la lecture, voici un focus sur les formations les plus comparables (c'est-à-dire avec le moins de mathématiques) : Bordeaux 1, Nancy 1 et Rennes 1. La nouvelle licence non-CMI est rajoutée à droite (la licence actuelle étant toujours à gauche).</p>
48 49  
... ... @@ -50,7 +51,7 @@
50 51  
51 52 <p>Le nouveau programme rajoute des ECTS en Information au détriment de la Programmation.</p>
52 53  
53   - <h1>Perspectives</h1>
  54 + <h2>Perspectives</h2>
54 55  
55 56 <p>Ces données suggèrent qu'il serait pertinent de rajouter 3 à 6 ECTS pour de l'algorithmique (le sujet est vaste) et autant pour les mathématiques (des choses spécifiques à la sécurité ou au graphisme par exemple) en prenant si besoin sur les catégories Information et Science.</p>
56 57