Présentation du projet de fin d’année 1 L’évaluation
La note d’ISN au baccalauréat est donnée par une commission constituée d’un de vos deux professeurs cette année (M. DANTINE & M. KERGOT) et d’un autre enseignant. L’évaluation orale individuelle d’une durée de 20 minutes se déroulera en deux temps :
• Première partie :
Le candidat effectue une présentation orale de son projet, d’une durée maximale de 8 minutes, pendant laquelle il n’est pas interrompu. Il s’appuie pour cela sur un dossier-projet de 5 à 10 pages, hors annexes, élaboré à l’aide de l’outil informatique. Ce projet est structuré de façon à mettre en évidence :
– 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).
La note de zéro est attribuée à tout candidat ne présentant pas un dossier-projet conforme (il n’est pas personnel ou n’est pas réalisé avec l’outil informatique, ou comporte moins de 5 pages, hors annexes).
• Deuxième partie :
La commission interroge le candidat sur différents aspects de son projet et sur son lien avec les compétences fixées par le programme, puis élargit ce questionnement aux autres compétences spécifiées dans le programme. La commission dispose d’une grille de compétences pour l’aider dans son évaluation (voir ci-après). 2 Le cahier des charges du projet
Vous allez conduire votre projet par équipe de 3 ou 2.
Vous devez réaliser une application informatique à l’aide de scripts écrits en Python. L’application doit être exécutable sur tout type de plateforme (Mac-OS, Linux, Windows). Elle peut s’accompagner d’extensions (documents de présentation . . . ) peuvent aussi comporter des pages web en HTML/CSS. Cependant les programmes en Python doivent représenter le cœur du projet.
Les fichiers sources des codes Python pourront être demandés par le professeur pendant la phase de développement. Ils devront respecter les conditions suivantes :
• être encodés en UTF-8
• être bien documentés
• présenter un découpage du code en fonctions ou modules facilitant sa lisibilité et sa maintenance
Votre dossier-projet devra aborder les thèmes suivants :
• le but poursuivi et les motivations,
• le synopsis du projet,
• algorithmique du code :
– structures de données utilisées
– architecture de l’application : programme principal, découpage en fonctions ou en modules . . .
– description d’un ou plusieurs scénarios possibles d’exécution
• présentation des outils ou techniques adoptées et raisons de ces choix : types de données Python particuliers (listes, dictionnaires, . . . ), bibliothèques Python externes (PIL, Tkinter, Pygame), programmation objet ou architecture Modèle Vue Contrôleur (pour les pages web dynamiques) . . .
• les difficultés rencontrées : techniques (bugs), organisation du travail
• le déroulement du projet : répartition du travail, planning, échanges au sein du groupe
• analyse de la réalisation et prolongements possibles
Votre dossier-projet devra respecter les conditions de mise en forme suivantes :
• Il doit comporter au minimum 10 pages hors-Annexes en police de taille 10 point avec interligne simple.
• Les codes sources, images etc . . . sont considérés comme des Annexes.
• Des jeux de tests (avec éventuellement des captures d’écran) doivent être fournis en Annexes pour chaque composant essentiel de l’application.
• Il doit être réalisé à l’aide de l’outil informatique dans des formats de fichiers ouverts (pas de document Word).
• Il doit être remis sous formats papier et numérique dans les délais (au moins une semaine avant l’évaluation) aux membres du jury. 3 Quelques règles pour réussir son projet
Source : ISN Activités numériques de programmation en Python de Frédéric Laroche chez Ellipse.
• Règle n°1 Je comprends ce que fait mon programme et je suis capable de le refaire. Il faut choisir un projet à sa portée sur les plans techniques et algorithmiques. Lors de l’examen final la commission évaluera la compétence C1 « Concevoir et réaliser une solution informatique en réponse à un problème » et la compétence C2 « Décrire et expliquer une situation, un système ou un programme ».
• Règle n°2 Je choisis un projet simple mais pouvant se développer ultérieurement. En l’informatique les projets marquants ne sont pas figés, leur code doit être suffisamment documenté et modulable pour permettre des développements futurs éventuellement par d’autres personnes que les initiateurs du projet. Pour faciliter la diffusion des savoirs, il faut développer votre projet dans l’esprit des logiciels libres même si votre programme est trop modeste pour nécessiter une licence de type GPL.
• Règle n°3 J’évite les problèmes techniques difficiles à maîtriser et j’essaie d’envisager la situation dans sa généralité. Avant de coder, il faut passer par l’étape papier + crayon et réaliser un synopsis du projet : cas d’utilisations, actions réalisées, modèle de structures de données (types de données Python, fichiers . . . ), algorithmique (boucles, fonctions ). Ainsi on peut valider les différentes étapes au cours de l’avancement du projet et disposer toujours d’une vue de ce qu’il reste à réaliser. Notre but est l’apprentissage de la programmation, l’utilisation de bibliothèques externes (PIL, Pygame . . . ) ou de techniques de programmation sophistiquée (programmation objet) doit être justifiée. Pour toute fonction de bibliothèque qu’on utilise, on doit être capable de donner les paramètres d’entrée, l’action réalisée, les paramètres de sortie et un exemple d’utilisation contextualisée.
• Règle n°4 Je ne perds jamais de vue mes objectifs et je ne travaille pas seul.. Lorsque le synopsis du projet est prêt, on peut remplir une fiche de suivi comme celles proposée en Annexes 1 et 2 avec le cahier des charges, le planning et la répartition des tâches. De plus il est recommandé de tenir à jour « un cahier de suivi » (sous format papier ou numérique) en y incorporant des fiches d’état du projet comme celle proposée en Annexe 3. Il faut aussi mettre en place un espace de partage électronique de documents (type Google Drive / Drop Box . . . ) pour faciliter l’échange d’informations au sein du groupe. Enfin il est nécessaire de faire le point régulièrement avec le professeur. ANNEXE 1 : Fiche de suivi du projet / Cahier des charges
| Date
| Description
| Etat actuel :
rien/en cours/fini
| Descriptif détaillé
|
|
|
| Référence à une réalité/Contexte
|
|
|
| Documentation et commentaires du programme
|
|
|
| Références / Sitographie
|
|
|
| Algorithme principal
|
|
|
| Découpage du code en fonctions ou modules
|
|
|
| Utilisation d’une bibliothèque
|
|
|
| Structure de données
|
|
|
| Gestion de fichiers
|
|
|
| Interface utilisateur
|
|
|
|
ANNEXE 2 : Fiche de suivi du projet / Planning
Date
| Etape du projet (Que faire ?)
| Outils (Comment ?)
| Qui fait quoi ?
|
|
|
|
|
|
|
|
|
|
|
|
|
ANNEXE 3 : Fiche d’état du projet
Groupe :
|
| Date :
| Fiche n°
| Etape du projet (selon le planning établi)
|
| Bilan : (où en est le projet ?)
|
| Eventuelle(s) difficulté(s) : (le projet est-il freiné ou bloqué, pourquoi ?)
|
| Solutions proposées : (Comment surmonter cette difficulté ? Qui fait quoi ? )
|
| Prochaine étape du projet : (ce que chacun doit faire fait et pour quand)
|
| Observations particulières
|
| |