Projets

Application Web

Fiche de Projet
Réalisé par : Stéphane Guerrier
Membres : Lionel Voirol et Yuming Zhang (assistant-es)
Contact : Stephane.Guerrier@unige.ch
Cours : Introduction to data science  
Cursus : Bachelor
Nombre d'étudiant-es : 50 - 100
Innovations utilisées :
Faire réagir
Faire réaliser une vidéo, un podcast
Problématique :
Préparer
Faire créer
Faculté : GSEM
Description du Projet
Situation de départ

Fort de son expérience aux États-Unis, la volonté de l’enseignant pour ce cours de programmation a été de le rendre le plus interactif possible. Il propose le support de cours sous forme d’un ebook interactif et encourage la participation des étudiant-es à travers des exercices interactifs, des forums de discussions et des projets collaboratifs. 


Mise en place et déroulement du projet

L’ensemble du cours détaillé est proposé au travers d’un ebook interactif. Chacun des thèmes abordés dans le cours sont présentés de façon complète et structurée sur ce support qui peut se suffire à lui-même pour les étudiant-es décidant de suivre le cours sans venir en présentiel. Ce livre numérique contient un grand nombre de liens dynamiques. De plus, l’ensemble du contenu de ce livre a été rédigé par l’équipe enseignante mais peut-être complété et modifié en tout temps par les étudiant-es s’ils/elles souhaitent ajouter des notes ou des commentaires. En proposant l’ensemble de la structure du cours par chapitres et sous-chapitres, ce livre présente la théorie accompagnée d’illustrations, de tableaux, de syntaxes ou encore de vidéos.

Lors du cours en présentiel, l’enseignant appuie sa présentation sur un site web qu’il a développé proposant, pour chaque chapitre, du contenu théorique articulé avec des exercices pratiques. L’enseignant dispense donc dans un premier temps un exposé théorique sur un thème particulier, thème sur lequel porteront les exercices proposés ensuite. Les exercices autocorrectifs prennent la forme de QCM ou de morceaux de scripts à compléter. Cette méthode automatique offre la possibilité aux étudiant-es de demander des indices, d’obtenir la solution, de tester leurs idées ou/et de recommencer chaque exercice.

Pour certains chapitres, l’enseignant accompagne son exposé d’une application web qu’il a développé. Par exemple, dans le chapitre 2, il propose une application permettant de construire des rapports de façon automatique. Celle-ci propose de sélectionner l’objet que l’on souhaite ajouter (un tableau, une vidéo, un graphique, une image, etc.) et génère automatiquement le code et le document correspondant.

L’enseignant favorise également l’interaction en utilisant la plateforme questions/réponses Piazza (choisie entre autres pour son interactivité ainsi que sa capacité à publier du code bien formaté). Les étudiant-es sont invité-es à échanger sur cette plateforme en posant des questions sur les exercices qu’ils/elles ont à résoudre. Etudiant-es comme enseignant peuvent alors répondre aux différentes questions posées sous la forme d’un fil de discussion. Celui-ci comporte une seule réponse « étudiante » pouvant être éditée par toutes et tous et une seule réponse de l’enseignant. La suite de la discussion sur une question en particulier s’effectue à l’aide de l’outil de suivi de discussion. L’enseignant dédie 10% de l’évaluation du cours à une note de participation sur Piazza en fonction du nombre et de la pertinence des questions posées ainsi que des réponses proposées.

L’évaluation du cours porte sur 4 éléments : la participation (10%), un projet collectif (30%) des devoirs collectifs (30%), et des exercices individuels en classe (30%). Les devoirs et le projet s’effectuent en groupe de 3 ou 4 que les étudiant-es forment eux/elles-mêmes. Les devoirs proposés sont les mêmes pour l’ensemble des groupes. Ils s’effectuent de manière collaborative sur la plateforme GitHub. Le projet consiste en la construction collective d’une application web. Le sujet est laissé à choix aux étudiant-es qui peuvent en sélectionner un dans leurs intérêts personnels (meilleur centre équestre, choisir un pays ou une ville pour faire la fête, quiz musicaloptimisation d’un portfolio, application pour amateur de vins). La seule contrainte imposée est d’utiliser certains outils définis. Ils/elles doivent extraire des informations du web et développer une application. Chaque membre du groupe doit ensuite proposer une présentation personnelle du projet, expliquer son intérêt et en faire la promotion (possible sous forme de vidéo). L’évaluation porte principalement sur la programmation de l’application, la complexité du projet et la capacité à collaborer sous GitHub de manière professionnelle. Afin d'ajouter une composante individuelle à la note globale, des exercices individuels sont proposés par l’équipe enseignante. Ils sont effectués en classe pendant 1 à 2h selon l’exercice. Ils consistent en une tâche de programmation pour laquelle les étudiant-es ont un total libre accès à internet et ses ressources.


Retour et conseils sur la mise en place d'un tel projet

L’enseignant attire l’attention sur les difficultés techniques de la mise en place d’un tel format. En effet, la partie technique, telle que la gestion d’un serveur, peut s’avérer chronophage. Toutefois, l’avantage d’un tel investissement tient dans le fait que cela permet de réutiliser la plupart des outils créés pour les années suivantes.

Un autre avantage des outils choisis par l’enseignant pour ce cours tient dans le fait qu’ils s’ajustent très bien au public cible et à des différents contenus. Ils sont par exemple utilisés non seulement avec des étudiant-es de bachelor mais également avec des doctorant-es. En effet, l’enseignant utilise la même approche sur des contenus différents dans un cours dispensé dans le programme doctoral. Celui-ci intégre davantage de notions mathématiques que le cours de bachelor. Les doctorant-es disposent de codes et d’outputs pour créer les graphiques dont ils/elles peuvent avoir besoin lors de la publication d’un article. L’ensemble des éléments leur est fourni sur un site de sorte que le cours est une interaction entre présentiel et auto-formation sur le site grâce à des slides très complètes et des exercices. L’évaluation du cours consiste en la production d’un petit article leur permettant de faire le point sur leurs acquis et poser des questions sur ce qu’ils/elles n’ont pas compris.


Avis des étudiant-es

« Franchement très content d’avoir choisi ce cours ! Peut-être le seul du Bachelor offrant des vrai skills pour notre future vie professionnelle. Une suite de ce cours d’introduction pourrait vraiment être intéressant ! »

[Avis librement traduits de l’anglais]

« Ce cours était vraiment bien organisé, avec un programme complet et un manuel personnalisé pour les cours magistraux. J'ai vraiment apprécié l'utilisation de plateformes en ligne telles que Piazza et Github, que j'envisagerai certainement d'utiliser pour de futurs projets. En outre, les devoirs étaient assez difficiles mais très pratiques, de sorte que j'ai pu apprendre comment R est utilisé dans des projets de la vie réelle. "Je pense qu'il est important d'utiliser R pour des projets futurs. En outre, les devoirs étaient assez difficiles mais très pratiques, ce qui m'a permis d'apprendre comment R est utilisé dans les projets de la vie réelle. »

« Je pense que le cours est encore meilleur en ligne, car il est possible d'avoir tout sur son écran d'ordinateur et de faire des captures d'écran des codes lorsque c'est nécessaire. Je ne pense pas que le cours ait perdu en qualité en passant au numérique, au contraire ! »

Exemple de réalisation
Fichiers multimédias annexes