Projets

Le programme

  • Une part de l’horaire de l’enseignement d’au moins un quart du total en classe de première doit être réservée à la conception et à l’élaboration de projets conduits par des groupes de deux à quatre élèves.
  • La gestion d’un projet inclut des points d’étape pour faire un bilan avec le professeur, valider des éléments, contrôler l’avancement du projet ou adapter ses objectifs, voire le redéfinir partiellement, afin de maintenir la motivation des élèves.

Du coup, on part sur une heure par semaine dédié au projet.

Organisation

Je m'inspire de la gestion de projet proposée par Jean-Luc Richter (je n'arrive pas à remettre la main sur l'article où il détaillait ça...).

Trimestre 1: présentation/vente du projet

Les deux premières semaines sont consacrés à découvrir/chercher des projets déjà réalisé par d'autres élèves de première et à choisir un projet qui motive l'élève. Une banque à projets sourcées est constitué. Les groupes sont ensuite constitués en fonction des intérêts de chacun.

Les élèves ensuite se lancent dans la réalisation d'un site internet vantant/vendant leur projet. Ils peuvent promettre ceux qu'ils veulent tant pis s'il ne le réalise pas. Ils doivent faire un site qui claque le plus et qui donne envie de voir le projet réalisé.

Pour l'organisation, on a choisi d'utiliser un Kanban. Les séances projets commencent avec la lecture des taches déjà réalisées, en cours ou à faire. Ils peuvent ajouter d'autres. Puis ils sélectionnent les taches qu'ils vont réalisé pendant l'heure. Ces taches sont disposés sur le tableau dans les colonnes appropriés. Les élèves partent ensuite faire leur projet, en avançant les taches. A la fin, un bilan est réalisé et les taches mises à jour. Mon role ici est d'accompagner les élèves à écrire et sélectionner les taches puis de les garder le plus concentré possible sur ce qu'ils ont décidé de faire.

A la fin du trimestre, le site est déposé sur le serveur pour notation.

Barème:

  • Présentation: - Clareté /3 - Fait envie /2
  • Technique - Validité du code /2 - Mobilisation des outils étudiées en html et css /6 - Nouveau outils découverts /2
  • Organisation - autonomie dans le travail /2 - Collaboration dans l'équipe /2 - Précision des taches à réaliser /1

Trimestre 2: Première ébauche du projet

Le deuxième trimestre a pour but de réaliser une première version rustique du projet. Les élèves devront être capable de faire une démonstration.

On commence par une introduction à Pygame sur deux semaines. On verra plus tard pour une introduction à flask et javascript.

Introduction à Pygame: snake

Les élèves travaillent sur le programme draw.py.

Ils doivent l'exécuter, commenter chaque ligne en expliquant ce qu'il s'y passe et se construire un mémo des fonctions de Pygame.

Ils sont très fortement invités à modifier le programme pour se l'approprier.

On coupera régulièrement la séance pour faire des petits bilans sur les questions intéressantes que se posent les élèves. Voici quelques sujets qui seront sans aucuns doutes traités :
  • La couleur et le code RGB
  • Le repère et les coordonnées dans Pygame
  • Les coordonnées dans les fonctions pour tracer les éléments
  • la gestion des évènements
Documentation maison sur pygame

Le but est de refaire le jeu snake.

Ce projet est décomposer en étapes. Les premières sont à faire dans l'ordre mais on peut laisser à partir de l'étape 4 la liberté aux élèves d'ajouter des étapes ou de faire les étapes dans l'ordre qui leur convient le mieux.

Propositions d'étapes pour réaliser snake

Pour les accompagner, on peut leur donner ce modèle pour commencer un projet Pygame.

Notation du projet Snake

Notation
Description Points
Qualité du code (lisibilité, nom explicite des variables, organisation...) 2
Utilisation de fonctions 1
Grille et éléments graphiques 2
Déplacement du serpent et respect des bordures 2
Nourriture et points 2
Serpent avec plus d'une case 1

Une "correction" et quelques éléments sur la géométrie de la fenêtre :

Introduction à Bottle

L'exercice 5 du plan de travail sur l'interaction client/serveur est à faire par équipe de deux en mode pair programming (changement toutes les 10min). Le rendu est ensuite noté suivant les critères ci-dessous

Notation
Description Points
Qualité du code (lisibilité, nom explicite des variables, organisation, documentation...) 2
Découpage en fonctions élémentaires 2
Validité des chemins et requêtes adaptées 2
Bissextile et nombre de jours fonctionnent correctement 2
Ajout du CSS 1
Validité du code HTML 1

Trimestre 3: Version la plus aboutie possible du projet

Cahier de bord

Suivi du projet avec un cahier de bord à compléter au fur et à mesure. Chaque séance sera conclue par un archivage sur le réseau de l'état du projet.

README

Pendant les vacances de Pâques, les élèves sont invités à avancer leur projet. Ils devront en particulier rédiger un fichier README qui détaillera les points suivants

  • Une courte description du projet avec un détail des librairies utilisées
  • Une explication sur comment lancer le projet
  • Une explication de trois points techniques résolus lors de la construction du projet.

Notation

Notation
Catégorie Détails
Qualité du code (lisibilité, nom explicite des variables, organisation, documentation...) Lisibilité globale
  Utilisation de fonctions, noms des variables
  Organisation
  Documentation interne des fonctions et commentaires
Explication (le README) Description du projet
  Comment faire marcher le programme
  Explication des points techniques
Organisation du travail Autonomie du groupe
  Suivi des taches et dépôt du code
  Situations particulières de travail
Le projet en lui-même (par des non-experts) Avancement global
  Plaisir d'utilisation
Posté le Tue 06 December 2022 (modifié le Thu 06 April 2023) dans 1NSI