Depuis l’année universitaire 2016 – 2017, l’équipe du master MIASHS de l’université Paul Valéry à Montpellier me fait confiance et m’a confié deux modules d’enseignement :
- En Master 1, un module Données Connectées
- En Master 2, un module OpenData
MIASHS ça signifie Mathématiques Informatique Appliqués aux Sciences Humaines et Sociales.
L’une des particularités de ce master c’est que les étudiants sont dans un parcours professionnalisant avec de l’apprentissage pour former des Data Scientists. Les étudiants sont souvent en reprise d’étude et ont rarement un parcours informatique.
C’est un grand plaisir pour moi d’enseigner dans ces modules parce que :
- ça me permet de voir d’anciens collègues du LIRMM que j’adore et pour lesquels je manque de temps le reste de l’année
- ça me force à rester au niveau en programmation Web et en culture Web
- ça me permet de rencontrer des étudiants aux parcours atypiques
- ça me sort un peu des préoccupations de NaturalPad pendant deux semaines
Concrètement qu’est-ce qu’on aborde en cours ?
Ou pourquoi un cours de programmation Web dans un master de Data Science ?
Le Web, l’application d’internet probablement la plus connue, est une plateforme permettant à des humains et des machines de consulter et de produire de grandes quantités de données. Le Web peut être vu comme une grande base de données ( plus ou moins bien ) liées les unes aux autres. L’une des compétences attendues d’un Data Scientist étant de constituer un corpus de données pour en extraire des informations, dans ce cours, on apprend à moissonner des données sur le web et les croiser (ou créer des Mashup).
En deuxième année, on met le focus sur les sources de données ouvertes : l’Opendata.
- Définir ce qu’est l’interopérabilité.
- Revenir sur les fondements du Web ( http, les URI et les formats de données ).
- Javascript client en année 1 : du code client pour récupérer des données via des requêtes http et croiser ces données.
- Javascript serveur web (node.js) en année 2 : requêtes http pour moissonner et croiser des données et fournir à son tour des données via une API Web.
- Github est central dans la réalisation des projets et dans leurs évaluations.
Le format du cours ?
Pour chaque année, les enseignements sont concentrés en une seule semaine assez intensive. Ce format se prête bien à un enseignement par la pratique en menant un projet. Le projet sert d’évaluation principale du module.
Je cherche à sortir d’un enseignement pyramidal en faisant produire les supports de cours par les étudiants de façon collaborative et en fonction des questions qu’ils posent.
Cette année, cela donne un support rédigé en peer avec un étudiant à côté de moi pour chaque définition hébergé sur Github.
Les projets étudiants
Le sujet est prévu pour être réalisable dans la semaine d’enseignement.
Il s’agit à chaque fois de réaliser un mashup croisant au moins deux sources de données requêtées via http.
En Master 1, le mashup est réalisé uniquement en code client (en utilisant fetch) hébergé en githubpages.
En Master 2, le mashup est réalisé côté serveur en utilisant node.js. Le serveur node doit également fournir à son tour des données dans plusieurs formats via une API web et en mettant en place une négociation de contenu server-driven.
Les idées et réalisations
Parmi les bonnes idées et bonnes réalisations des étudiants ( malheureusement elles ne sont plus toutes disponibles à cette date ) :
- une application qui calcule le niveau de calories de vos repas et vous propose une activité physique adaptée
- une application qui présente les films de la semaine au cinéma
- un quizz de culture générale
- un face rank des personnages de Harry Potter
- une application de transport en région parisienne
- un application pour estimer le salaire des députés en fonction de leurs présences à l’assemblée
Views: 0