Projet de fin d’année Conseils et pistes

(actualisé le ) par administrateur

Durant la période septembre-janvier, vous allez acquérir lors des séances d’ISN, les notions nécessaires à la réalisation d’un programme en PYTHON sur lequel vous serez évalué.


1. L’esprit de l’évaluation au BAC


  • L’idée générale, c’est que l’on n’évalue pas un programme informatique (de manière très caricaturale, il fonctionne 20/20, sinon 0/20…), mais la démarche que vous aurez accompli.
  • Vous devez donc mettre en avant votre manière de résoudre le problème posé, des pistes qui selon vous amènerait vers des solutions pertinentes, même si elles ne sont pas pleinement implémentées. Il faut faire apparaître vos difficultés, vos erreurs. Elles font parties de votre démarche. Si vous passez 5 heures sur une piste et qu’elle n’aboutit pas, il faut la présenter et expliquer pourquoi la démarche a échouée, et ce que vous proposez pour pallier le problème. Bref, qu’avez-vous appris de vos erreurs ? Que cela soit clair : le codage proposé de la solution ne sera que l’annexe de votre rapport.
  • Pour chaque fonction implémentée, vous devez prouver qu’elle fonctionne avant d’aller plus loin. Pour cela vous devez écrire un jeu de test pertinent (cas général, cas aux limites). Le choix du jeu de test doit être clairement explicité. Il est plus pertinent de montrer que sur les 3 fonctions que vous deviez écrire, 2 fonctionnent et vous pouvez le prouver. Il restera à expliquer pourquoi la dernière ne fonctionne pas et ce qu’il faudrait faire. Arriver au contraire avec 3 fonctions écrites complètement, mais un programme qui « plante » sans savoir expliquer pourquoi entraîne généralement une mauvaise note.
  • Donc une fonction « afficheTableau » doit être accompagné d’une fonction « testAfficheTableau » qui en prouve le bon fonctionnement.
  • Soyez raisonnables : si vous n’êtes pas très à l’aise en programmation, ne cherchez pas à faire à tout prix une jolie interface graphique pour entrer les commandes utilisateurs et afficher de très belles sorties ou à faire un programme très général. Limitez-vous à des entrées et sorties simples, à un cas particulier. Pensez au départ à un programme simple, prévoyez des améliorations possibles et s’il vous reste du temps, rajoutez-les. Ainsi vous aurez un programme fonctionnel, qui pourra déboucher sur une très belle réalisation si vous êtes efficace, mais dans tous les cas vous pourrez faire une démonstration.

2. La mise en œuvre


  • La plus grande difficulté de ce projet, ce n’est pas le codage, c’est de travailler en équipe. Vous devrez bien vous organiser au sein de votre groupe constitué de 3 à 4 élèves afin de vous répartir le travail en fonction des compétences des uns et des autres. Une des clés de votre réussite sera de travailler régulièrement à votre projet : ne vous y prenez pas à la dernière minute sous peine de catastrophe ! Pour cela, vous devrez respecter impérativement un calendrier de suivi de projet (voir le paragraphe 5
  • Si vous voulez être efficaces, il vous faut découper le « gros » problème en « petits » problèmes plus faciles à résoudre. Ainsi, un mur est l’assemblage de nombreuses briques. De même pour un logiciel.
  • On commence avec un papier et un crayon. Partir immédiatement sur l’ordinateur est une erreur commune qui ne pardonne pas. Cela ne fonctionnera pas, où alors cela donnera un programme lent, difficile à modifier, et avec un temps de développement beaucoup plus important qu’avec une réflexion initiale.
  • Utiliser des fonctions pour chaque brique (initialiser, afficher…).
  • Définissez les variables dont vous aurez besoin, leur type, trouvez leur un nom explicite.
  • Définissez clairement ce qu’une fonction reçoit en entrée (que représente la variable, quelle est son type…), et en sortie (doit-elle avoir une sortie ?). Vous aurez ainsi défini l’interface de votre fonction. C’est plus important que d’écrire la fonction elle-même !
  • Ecrivez le squelette de votre programme qui ne doit comporter que des définitions de variables et de fonctions (vide !).
  • Partagez-vous les fonctions à réaliser.
  • Tester et mettez au point vos fonctions individuellement.
  • Mettez en commun vos fonctions dans le squelette de programme.
  • Testez et mettez au point votre programme.
  • Ecrivez un jeu de test pour vérifier qu’il réagit bien dans toutes les situations. Pensez au comportement aux limites !

Il vous faudra respecter tous ces points si vous voulez être efficace.


3. Dossier à rendre


Votre dossier personnel, de 5 à 10 pages hors annexe que vous rendrez début mai soit environ 15 jours avant votre soutenance, devra comporter au minimum :

  • La présentation du cahier des charges
  • *Quel est le but visé par votre programme ?
  • Quels moyens allez-vous mettre en œuvre pour atteindre ce but ?
  • Vos recherches documentaires (bibliographie ; sitographie…)
    • Éléments dont vous avez eu besoin pour la réalisation de votre projet
  • La répartition du travail au sein du groupe :
    • Distinguez votre travail de celui de l’équipe
    • Expliquez comment vous avez collaborés ensembles
  • La réalisation de votre équipe :
    • Détaillez le rôle et le principe de fonctionnement de vos fonctions, leurs entrées sorties.
    • Prouvez qu’elles fonctionnent correctement (justifiez le choix de vos tests)
  • Le fonctionnement du programme :
    • Le programme complet fonctionne-t-il toujours (pour toutes sortes de données), quelquefois ou jamais ?
    • Prouvez qu’il fonctionne correctement (justifiez le choix de vos tests).
  • Prolongement & perspectives :
    • Que proposeriez-vous pour améliorer votre programme (maquette d’interface utilisateur, fonctions supplémentaires…).
  • Conclusion :
    • Que vous a apporté ce travail ?
  • En annexe, le codage proprement dit doit respecter les standards de programmation :
    • Indentations du code-source ;
    • Variables avec des noms explicites ;
    • Des commentaires précisent le but visé.

Ce dossier devra être rédigé avec un traitement de texte et imprimé. Une copie numérique au format PDF sera également mis à disposition des membres du jury d’examen.


4. Modalités d’évaluation du projet


  • L’épreuve au BAC :
    • Durée : 20 minutes maximum
    • Coefficient : 2

L’épreuve est composée de deux parties qui se déroulent consécutivement lors d’une soutenance orale individuelle de 20 minutes.

*** Première partie – Évaluation d’un projet et soutenance orale ***

  • Durée : 8 minutes maximum
  • Notée sur 8 points

Le candidat effectue une présentation orale de son projet pendant laquelle il n’est pas interrompu. Il s’appuie sur un dossier-projet de 5 à 10 pages, hors annexes, élaboré à l’aide de l’outil informatique. En l’absence de dossier-projet ou en cas de non-conformité, la note de zéro est attribuée. Lors de la présentation, le candi

*** Deuxième partie – Dialogue argumenté avec la commission d’évaluation ***

  • Durée : 12 minutes maximum
  • Notée sur 12 points

La commission d’évaluation interroge le candidat sur différents aspects de son projet et sur son lien avec les compétences fixées par le programme.

La commission d’évaluation est composée d’un professeur ayant suivi et formé l’élève pendant l’année et d’un autre enseignant n’ayant pas été associé à l’enseignement de spécialité suivi par le candidat.

Conclusion :

  • Le dossier et donc l’oral doivent mettre en avant :
    • le but visé et les moyens choisis pour atteindre ce but ;
    • la démarche de projet qui a conduit au résultat tel que présenté ;
    • la dimension collaborative du projet liée au travail en équipe (2 à 3 élèves).
  • Après votre présentation, vous serez interrogé sur différents aspects de votre projet et sur son lien avec les compétences fixées par le programme. Les questions seront ensuite élargies aux autres compétences du programme. Cette interrogation a notamment pour but de vérifier que vous vous êtes approprié les notions fondamentales, que vous savez les utiliser dans un contexte particulier ou les relier aux autres enseignements scientifiques de votre série.

Grille d’évaluation par compétences :


5. Calendrier 2017-2018 indicatif du projet


Durée du projet : 12 semaines hors vacances scolaires.

PériodeObjectifs
Du 18 dau 22 décembre 2017 (1 semaine) : Constitution des équipes - Choix du projet
VACANCES DE NOEL
Du 8 au 19 janvier 2018 (2 semaines) : Choix du projet – Analyse des besoins - Rédaction du cahier des charges - Répartition des tâches
Du 22 janvier au 16 février 2018 (4 semaines) : Codage : variables, fonctions... - Mise en commun- Point étape n° 1 semaine du 12 février
VACANCES D’HIVERS
Du 5 mars au 13 avril 2018 (5 semaines) : Codage : variables, fonctions... - Mise en commun- Point étape n° 2 semaine du 9 avril 2018
VACANCES DE PRINTEMPS
Entre le 16 et le 23 mai 2018 Retour du dossier individuel (format papier + PDF)
Entre le 29 et le 30 mai 2018 : Évaluation

Remarques importantes :

  • Toutes les séances d’ISN ne pourront pas être consacrées à la réalisation de votre projet. Il faudra donc vous organiser afin de pouvoir travailler sur votre projet en dehors des heures de cours.
  • Vous pourrez pour cela vous appuyer sur des outils numériques qui vous permettront de travailler à plusieurs à distance (réseaux sociaux ou SKYPE par exemple). L’ENT MonLycée.net possède de nombreux outils de travail collaboratif.
  • Enfin, la plateforme GITHUB permet de partager facilement votre programme entre les membres de votre équipe pour y travailler collaborativement. Une fois votre compte GITHUB créé, vous pourrez créer un dépôt (REPOSITORY) contenant votre projet. Ce dépôt pourra contenir les dossiers et les fichiers relatifs à votre programme. La création de branches (BRANCH) au sein de votre dépôt vous permettra de gérer facilement les différentes versions (COMMITS) de votre programme.