Projets en informatique 2

linfo1002  2019-2020  Louvain-la-Neuve

Projets en informatique 2
Note du 29 juin 2020
Sans connaitre encore le temps que dureront les mesures de distances sociales liées à la pandémie de Covid-19, et quels que soient les changements qui ont dû être opérés dans l’évaluation de la session de juin 2020 par rapport à ce que prévoit la présente fiche descriptive, de nouvelles modalités d’évaluation des unités d’enseignement peuvent encore être adoptées par l’enseignant ; des précisions sur ces modalités ont été -ou seront-communiquées par les enseignant·es aux étudiant·es dans les plus brefs délais.
5 crédits
30.0 h + 30.0 h
Q2
Enseignants
Bonaventure Olivier;
Langue
d'enseignement
Français
Préalables
Ces projets supposent l'acquisition en parallèle de notions de bases en programmation telles que visées par le cours LINFO1101.
Thèmes abordés
Cette unité d'enseignement s'articule autour de projets de programmation.
Les objectifs sont :
  • d'appliquer les notions vues en parallèle dans le cours LINFO1101 Introduction à la programmation ;
  • de modéliser des situations simples ayant recourt à des systèmes informatiques ;
  • d'explorer diverses applications de l'informatique, y compris l'utilisation d'informations provenant de capteurs ;
  • de se confronter aux contraintes professionnelles : travail en groupe, respect des échéances, sens des responsabilités ;
  • d'acquérir des compétences transversales prise de notes, rédaction de rapports, présentation orale de résultats.
Acquis
d'apprentissage

A la fin de cette unité d’enseignement, l’étudiant est capable de :

1
Eu égard au référentiel AA du programme « Bachelier en sciences informatiques », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
  • S1.I2
  • S2.1, S2.2, S2.4
  • S4.1, S4.2, S4.3
  • S5.2, S5.3, S5.4, S5.5, S5.6
Les étudiants ayant suivi avec succès ce cours seront capables de :
  • analyser une situation-problème concrète nécessitant le développement d'une application informatique et percevoir le rôle que cette application devra jouer ;
  • concevoir l'application informatique correspondant aux besoins identifiés en faisant un usage de la programmation structurée et justifier les choix de conception ;
  • implémenter une application informatique en utilisant à bon escient les éléments du langage Python ;
  • réaliser une application d'ampleur réduite, mais correcte, modulaire, lisible, et bien documentée ;
  • mettre en œuvre des tests unitaires pour valider l'exactitude d'un programme ;
  • utiliser un environnement de programmation comportant des outils de programmation intégrés comme un éditeur, compilateur, debugger, et des outils de maniement de fichiers, de tests, de documentation.
Les étudiants auront développé des compétences méthodologiques et opérationnelles. En particulier, ils auront développé leur capacité à :
  • contribuer au fonctionnement de groupe dans le cadre de dispositifs d'apprentissage actifs coopératifs de type projet, expliciter les enjeux (avantages, inconvénients) du travail de groupe et donner quelques pistes opérationnelles pour favoriser un travail de groupe efficace ;
  • mener une démarche de développement d'une application informatique
  • comprendre une situation-problème décrite via des documents écrits, une présentation orale et en extraire ce qui en fait l'essence et le reformuler afin de définir le résultat attendu ;
  • établir le cahier des charges et une feuille de route pour un projet;
  • décomposer le problème initial en sous-problèmes qui peuvent être facilement résolus à l'aide d'un outil informatique ;
  • schématiser l'architecture de l'application pour en donner une description de haut niveau permettant à tout informaticien d'en percevoir rapidement la structure ;
  • documenter l'application pour qu'elle puisse facilement être adaptée par le suite par un autre informaticien ;
  • concevoir et réaliser des tests permettant de valider l'application développée ;
  • collaborer de manière efficace sur le développement d'application;
  • communiquer de manière efficace :
  • rédiger un document technique décrivant l'application développée, les destinataires de ce document étant des informaticiens n'ayant pas participé à son développement mais qui doivent l'adapter ;
  • rédiger un rapport de projet cohérent et structuré afin de convaincre de la réussite du projet ;
  • présenter avec un support multimédia la solution développée de manière à le convaincre de la réussite du projet.
 

La contribution de cette UE au développement et à la maîtrise des compétences et acquis du (des) programme(s) est accessible à la fin de cette fiche, dans la partie « Programmes/formations proposant cette unité d’enseignement (UE) ».
Contenu
Le cours présuppose la connaissance de base du langage de programmation python tel que vu dans le cours LINFO1101. Les étudiants travaillent par groupe pour résoudre des problèmes plus complexes que ceux qui sont traités dans le cours de programmation. L'accent est mis sur la communication écrite. Deux projets différents sont organisés durant le semestre. 
Durant le premier projet, les étudiants doivent pouvoir:
  • travailler efficacemment en groupe
  • écrire des programmes corrects 
  • écrire des tests qui valident le bon fonctionnement de leurs programmes
  • documenter leurs programmes et les tests qui y sont associés
  • apporter un regard critique sur le travail d'autres groupes d'étudiants pour les aider à s'améliorer (peer-review constructive)
  • évaluer les performances de leurs programmes 
Durant le second projet, les étudiants doivent pouvoir:
  • travailler efficacemment en groupe
  • trouver des librairies et modules python qui permettent de résoudre des problèmes similaires
  • comparer les fonctionnalités et les performances de différentes solutions à un même problème
  • documenter et analyser ces différences de fonctionnalités et de performances


  •  
Méthodes d'enseignement
Apprentissage par projet en groupe de x

 
Modes d'évaluation
des acquis des étudiants
  • Evaluation du travail de groupe du premier projet sur base du projet rendu, de sa documentation  (40%)
  • Evaluation continue du travail indidivuel de l'étudiant et de ses contributions au peer review du premier projet (10%) 
  • Evaluation du travail de groupe du second projet sur base du projet rendu, de sa documentation  (40%)
  • Evaluation continue du travail indidivuel de l'étudiant et de ses contributions au peer review du second projet (10%) 
La pondération pourra être modifiée en cas de non-participation effective de l'étudiant au travail du groupe ainsi qu'en cas de note individuelle insuffisante, ou très insuffisante. Les étudiants qui auront échoué en juin pourront refaire un projet individuel durant l'été. Ce projet comptera pour 66% des points, les 34% resteront seront la obtenue en juin.
Faculté ou entité
en charge
INFO


Programmes / formations proposant cette unité d'enseignement (UE)

Intitulé du programme
Sigle
Crédits
Prérequis
Acquis
d'apprentissage
Bachelier en sciences informatiques