programme.template 8.28 KB
<?xml version="1.0" encoding="utf-8"?>
<!doctype html>
<html>
	<head>
		<title>Programme de la licence Informatique</title>
		<script src="Chart.js"></script>
		<meta name = "viewport" content = "initial-scale = 1, user-scalable = no">
        <meta charset="utf-8"> 
	</head>
	<body>
        <h1>Objectifs</h1>
        <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>

        <h1>Protocole</h1>
        <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) :
        <ul>
            <li>Algorithmique (algorithmique)</li>
            <li>Machine (architecture|système|réseau)</li>
            <li>Programmation (programmation|programmation fonctionnelle|programmation OO|web|outils de développement)</li>
            <li>Informatique fondamentale (calculabilité|compilation|langage|logique)</li>
            <li>Information (base de données|xml|modélisation)</li>
            <li>Mathématiques (mathématiques)</li>
            <li>Science (science)</li>
            <li>Connexe (anglais|projet|stage)</li>
            <li>Autre (autre|sécurité|graphique)</li>
        </ul>
        <p>Cette classification s'inspire de celle de Dowek (Algorithmique, Machine, Langage, Information).</p>
        <p>Le nombre total d'ECTS attribué à chaque thème et à chaque catégorie a ensuite été calculé pour chaque formation.</p>

        <h1>Limites de l'approche</h1>
        <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>

        <h1>Résultats</h1>
        <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>

		<canvas id="canvas1" height="600" width="1200"></canvas>

        <p>On constate une forte hétérogénéité sur certains thèmes (du simple au double pour les mathématiques).</p>
        <p>Sur les thèmes qui dépassent 7,5 ECTS, la licence de Besançon se distingue en étant celle qui a le moins : d'algorithmique, de mathématiques et de programmation impérative. C'est également celle qui a le plus : de base de données (égalité avec Lyon et Nancy), de modélisation (égalité avec Dijon et Lyon), de science et de stage.</p>

		<canvas id="canvas2" height="600" width="1200"></canvas>

        <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>

        <h1>Évolution avec le CMI</h1>

        <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>

		<canvas id="canvas4" height="600" width="1200"></canvas>

        <p>Le nouveau programme rajoute des ECTS en Information au détriment de la Programmation.</p>

        <h1>Perspectives</h1>

        <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>

	<script>

		var barChartData1 = {
			labels : [csv.theme],
			datasets : [
				{
					fillColor : "rgba(220,220,220,0.5)",
					strokeColor : "rgba(220,220,220,1)",
					data : [besançon.csv.theme]
				},
				{
					fillColor : "rgba(205,151,187,0.5)",
					strokeColor : "rgba(205,151,187,1)",
					data : [bordeaux.csv.theme]
				},
				{
					fillColor : "rgba(187,205,151,0.5)",
					strokeColor : "rgba(187,205,151,1)",
					data : [dijon_EI.csv.theme]
				},
				{
					fillColor : "rgba(151,187,205,0.5)",
					strokeColor : "rgba(151,187,205,1)",
					data : [dijon_MI.csv.theme]
				},
				{
					fillColor : "rgba(187,151,205,0.5)",
					strokeColor : "rgba(187,151,205,1)",
					data : [grenoble.csv.theme]
				},
				{
					fillColor : "rgba(151,205,187,0.5)",
					strokeColor : "rgba(151,205,187,1)",
					data : [lyon.csv.theme]
				},
				{
					fillColor : "rgba(205,187,151,0.5)",
					strokeColor : "rgba(205,187,151,1)",
					data : [nancy.csv.theme]
				},
				{
					fillColor : "rgba(151,151,151,0.5)",
					strokeColor : "rgba(151,151,151,1)",
					data : [rennes.csv.theme]
				}
			]
			
		}

		var barChartData2 = {
			labels : [csv.cat],
			datasets : [
				{
					fillColor : "rgba(220,220,220,0.5)",
					strokeColor : "rgba(220,220,220,1)",
					data : [besançon.csv.cat]
				},
				{
					fillColor : "rgba(205,151,187,0.5)",
					strokeColor : "rgba(205,151,187,1)",
					data : [bordeaux.csv.cat]
				},
				{
					fillColor : "rgba(187,205,151,0.5)",
					strokeColor : "rgba(187,205,151,1)",
					data : [dijon_EI.csv.cat]
				},
				{
					fillColor : "rgba(151,187,205,0.5)",
					strokeColor : "rgba(151,187,205,1)",
					data : [dijon_MI.csv.cat]
				},
				{
					fillColor : "rgba(187,151,205,0.5)",
					strokeColor : "rgba(187,151,205,1)",
					data : [grenoble.csv.cat]
				},
				{
					fillColor : "rgba(151,205,187,0.5)",
					strokeColor : "rgba(151,205,187,1)",
					data : [lyon.csv.cat]
				},
				{
					fillColor : "rgba(205,187,151,0.5)",
					strokeColor : "rgba(205,187,151,1)",
					data : [nancy.csv.cat]
				},
				{
					fillColor : "rgba(151,151,151,0.5)",
					strokeColor : "rgba(151,151,151,1)",
					data : [rennes.csv.cat]
				}
			]
			
		}

		var barChartData3 = {
			labels : [csv.theme],
			datasets : [
                {
					fillColor : "rgba(220,220,220,0.5)",
					strokeColor : "rgba(220,220,220,1)",
					data : [besançon.csv.theme]
				},
				{
					fillColor : "rgba(205,151,187,0.5)",
					strokeColor : "rgba(205,151,187,1)",
					data : [bordeaux.csv.theme]
				},
				{
					fillColor : "rgba(205,187,151,0.5)",
					strokeColor : "rgba(205,187,151,1)",
					data : [nancy.csv.theme]
				},
				{
					fillColor : "rgba(151,151,151,0.5)",
					strokeColor : "rgba(151,151,151,1)",
					data : [rennes.csv.theme]
				},
                {
                    fillColor : "rgba(205,205,205,0.5)",
                    strokeColor : "rgba(205,205,205,1)",
                    data : [besançon2.csv.theme]
                }
			]
			
		}

		var barChartData4 = {
			labels : [csv.cat],
			datasets : [
				{
					fillColor : "rgba(220,220,220,0.5)",
					strokeColor : "rgba(220,220,220,1)",
					data : [besançon.csv.cat]
				},
                {
					fillColor : "rgba(205,151,187,0.5)",
					strokeColor : "rgba(205,151,187,1)",
					data : [bordeaux.csv.cat]
				},
				{
					fillColor : "rgba(205,187,151,0.5)",
					strokeColor : "rgba(205,187,151,1)",
					data : [nancy.csv.cat]
				},
				{
					fillColor : "rgba(151,151,151,0.5)",
					strokeColor : "rgba(151,151,151,1)",
					data : [rennes.csv.cat]
				},
				{
					fillColor : "rgba(205,205,205,0.5)",
					strokeColor : "rgba(205,205,205,1)",
					data : [besançon2.csv.cat]
				}
			]
			
		}

	var myLine1 = new Chart(document.getElementById("canvas1").getContext("2d")).Bar(barChartData1);
	var myLine2 = new Chart(document.getElementById("canvas2").getContext("2d")).Bar(barChartData2);
	
	//var myLine3 = new Chart(document.getElementById("canvas3").getContext("2d")).Bar(barChartData3);
	var myLine4 = new Chart(document.getElementById("canvas4").getContext("2d")).Bar(barChartData4);
	
	</script>

	</body>
</html>