Premier projet

Cette section comprend l’énoncé et le planning du premier projet LINFO1002 de l’année académique 2020-2021.

Durant le premier quadrimestre, vous avez utilisé la plate-forme INGInious pour apprendre la programmation en langage Python. Pour cela, vous avez proposé des solutions à des exercices de programmation qui ont été évalués par des tests unitaires sur cette plate-forme. Dans le cadre de ce projet, vous allez mobiliser vos connaissances du langage Python de façon à proposer de nouveaux exercices sur la plate-forme INGInious.

Chaque groupe d’étudiants devra proposer quatre exercices qui portent sur différentes parties du cours de programmation que vous avez suivi durant le premier quadrimestre. Votre objectif est de produire des exercices INGInious qui pourront être utilisés par les étudiants qui doivent repasser l’examen durant les sessions de juin ou août.

Un bon exercice a les caractéristiques suivantes:

  • Son énoncé est clair et non-ambigu (faites attention aux spécifications des méthodes que vous demandez, vérifiez l’orthographe et la grammaire du texte de la question, fournissez quelques exemples bien choisis d’utilisation du code que vous demandez aux étudiants d’écrire, …)

  • Il est original (ce n’est pas une simple variante d’un exercice que vous avez réalisé durant le premier quadrimestre ou d’un exercice que vous avez trouvé dans un livre ou sur un site web, …)

  • Sa suite de tests est correcte et elle aide l’étudiant à trouver et corriger ses erreurs (c’est la partie la plus compliquée du projet, votre question doit être suffisamment riche pour que vous puissiez identifier différents types d’erreurs et fournir pour chacune d’entre elles un message clair qui permet à l’étudiant de comprendre son erreur, …)

  • Le code Python de votre suite de tests est clair et compréhensible

Le planning du projet est le suivant:

  • Semaine 2: Introduction à la création d’exercices sur INGInious. Chaque groupe devient responsable d’un « cours » sur la plate-forme INGInious.

  • Semaine 3: Premiers exercices, chaque étudiant propose deux ou trois exercices (juste l’énoncé et une idée de comment le tester) dans son groupe. Le groupe débat avec le tuteur des différents exercices proposés et choisit un exercice par membre du groupe. Cette sélection finale d’exercice sera implémentée par le groupe sur INGInious et rendue pour le projet.

  • Semaine 4: Réalisation des exercices INGInious, ceux-ci doivent impérativement être en ligne et finalisés pour le mardi 1er mars 8h00. Note concernant les travaux INGInious soumis en retard:

  • Les projets soumis en retard seront corrigés par l’équipe d’encadrement, et recevront une note légèrement pénalisée pour le retard.

  • Les projets en retard ne recevront pas de review

  • Les étudiant•e•s ayant soumis leur projet en retard sont invité•e•s à faire la review de deux questions et seront noté•e•s pour leurs reviews au même titre que les étudiant•e•s qui ont rendu leur travail à temps.

  • Semaine 5: Peer-review. Chaque étudiant doit évaluer les exercices faits par deux groupes différents (càd 2 questions INGInious) et leur donner des commentaires constructifs pour les améliorer. Ces commentaires seront côtés par l’équipe enseignante. Les reviews devront être soumises pour le mardi 8 mars à 8h00. Les modalités de soumission seront annoncées prochainement.

  • Semaine 6: Finalisation et amélioration des exercices INGInious par le groupe sur base des commentaires reçus des autres étudiants. Les projets finaux devront être soumis pour le mardi 15 mars à 8h00. Les modalités de soumission seront annoncées prochainement.

Chaque groupe est encouragé à réaliser son travail en utilisant la plate-forme GitHub de façon à garder une trace des contributions des différents membres du groupe. Dans ce cas, le contenu du GitHub devra être équivalent à celui en ligne via le site INGInious. Pensez à organiser votre GitHub proprement et utilisez des messages de commit clairs.

Les travaux seront évalués par l’équipe enseignante à partir de la mi-mars sur base de la version finale des exercices et du code Python qui y est associé. Il n’y a pas de défense orale de ce travail.