Brainstorming : idées de projets
I. Études de sujets de projets prédéfinis
A. Présentation du travail à réaliser
Dans le livre Informatique et Sciences du Numérique, les auteurs proposent à la fin une liste d'idées de projets. Dans un premier temps, vous allez, en groupes de 4, essayer d'évaluer un certain nombre de ces projets selon différents critères.
Chaque groupe étudiera 4 projets. Pour chaque projet, il faudra essayer de définir :
- Ce qui peut amener les élèves à être motivés par le projet ;
- Les difficultés liées à l'aspect "métier" ;
- Les difficultés liées à l'aspect informatique ;
- Le graphe des tâches à implanter
- La charge du projet.
Pour ce faire, vous allez procéder en plusieurs phases :
- phase 1 : étude à 2 de 2 projets (5 minutes)
- Dans chacun des groupes, vous vous partagez les projets et chaque binôme essaie de définir, pour chaque projet, les réponses aux points 1 à 4 ci-dessous.
- phase 2 : rendu au sein du groupe (5 minutes)
- Chaque binôme expose à l'autre binôme le résultat de son travail, et peut réagir à ce qui lui est présenté.
- phase 3 : estimation de la charge (5 minutes)
- En utilisant la méthode du planning poker sur 2 Projets (1 de chaque binôme), estimer la charge de chaque tâche et en déduire la charge globale du projet et le nombre d'élèves adéquats.
- phase 4 : synthèse des travaux (15 minutes)
- Chaque groupe présente aux autres le travail fait sur l'un des projets menés à terme
B. Quelques explications détaillées
1. Graphe des tâches
En utilisant une notation ressemblant à celle des diagrammes d'activité d'UML, il s'agit de définir les différentes sous-parties du projet en faisant apparaître qui doit être fait séquentiellement, et ce qui peut être fait en parallèle.
Supposons un projet nécessitant d'effectuer une première tâche T1, puis la tâche T2, qui peut être faite en parallèle des tâches T3 et T4, et enfin la tâche T5. Par ailleurs, T3 doit être terminée avant de commencer T4, et T2 et T4 doivent être terminées pour effectuer T5. On arrive alors au graphe suivant :
2. Planning Poker
Cette méthode permet à un groupe d'estimer la charge d'une tâche selon une unité arbitraire. Ici, on adapte le princpe pour procéder à une évaluation en homme × heure.
Pour chaque tâche, chacun mise face cachée une carte comportant une des premières valeurs de la suite de Fibonacci ou le symbole infini : 1, 2, 3, 5, 8, 13, 21, ∞.
La carte spéciale ∞ signifie que la tâche dépasse les 21 heures et qu'elle doit donc être scindée en plusieurs sous-tâches.
Une fois que tout le monde a joué une carte, on révèle les choix de chacun. Le but est d'arriver à ce que tout le monde soit d'accord. Si ce n'est pas le cas, les personnes ayant joué les cartes extrèmes doivent expliquer la raison de leur vote, puis on recommence.
Pour gagner du temps, si, après 2 tours, on n'a plus que 2 valeurs différentes proposées, on prend la moyenne pondérée.
C. Illustration sur un exemple
1. Énoncé (extrait du livre de Gilles Dowek pré-cité)
Un générateur d'exercice de calcul mental
Programmer un générateur d’exercices de calcul mental : le programme choisit aléatoirement une opération et deux nombres, et vérifie la réponse de l’utilisateur. On peut ensuite poser une série de questions et compter le score total. On pourra enfin prévoir plusieurs niveaux de difficulté selon les opérations proposées ou la taille des nombres à calculer, et laisser l’utilisateur choisir son niveau de difficulté ou attribuer des scores variables aux réponses.
2. Application de la démarche
a. Motivations
- métier immédiatement compréhensible
- facilité à obtenir des premiers résultats ; améliorable à l'infini
- possibilité de jouer soi-même et tenter de battre des records
b. Difficultés liées à l'aspect métier
- Risques liées à la division par zéro
- Domaine de définion = ℕ : attention à la soustraction et la division
- Domaine de définion = ℤ : attention à la division
- Domaine de définion = 𝒟 : attention à la division
- Évaluer la difficulté d'un calcul
c. Difficultés liées à l'aspect informatique
- Contrôler la saisie clavier pour éviter les plantages
- Bien gérer le tirage aléatoire
- Prise en compte du temps de réponse pour l'attribution d'une note
- Contrôle de la valeur exacte si on travaille sur des réels
d. Graphe des tâches
e. Estimation de la charge
Numéro | Tâche | Charge | Commentaires |
---|---|---|---|
1 | Génération d'une question | 5 | Il faut se mettre dans le projet, et générer des problèmes pertinents |
2 | Vérification de la réponse | 1 | |
3 | Proposer un choix de difficulté | 1 | |
4 | Tirage selon difficulté | 5 | La difficulté peut influer sur les nombres choisis, les opérations, etc. |
5 | Passage à plusieurs questions | 2 | Il faudra sans doute demander le nombre de questions |
6 | Note en fonction du temps | 3 | Il faut faire une petite recherche sur les bibliothèques de Python pour calculer le temps, et mettre au point la formule définissant la note, sans oublier de mettre "0" quelque soit le temps si la réponse est fausse. |
7 | Contrôle de la saisie | 2 | L'utilisateur peut taper n'importe quoi. Il faut donc vérifier s'il s'agit bien d'un nombre et sinon, reposer la question. |
8 | Passage à une interface graphique | 21 | La durée dépend fortement de l'ergonomie souhaitée et des connaissances des élèves. C'est cependant une tâche aisément découpable en sous-tâches et parallélisable. |
f. Estimation de la charge globale et de la taille de l'équipe
Histoire de partir sur une base commune, il est judicieux que toute l'équipe travaille ensemble sur les 2 premières tâches. Le temps indiqué n'est donc pas compressible. On obtient donc une phase 1 de 6 heures.
Il est judicieux que ce soit la même personne qui travaille sur les tâches 3 et 4. Pendant ce temps-là, une autre personne pourra se charger des tâches 5, 6 et 7. Cela donne une phase 2 de 7 heures.
Si on souhaite une interface graphique, il faudra certainement redécouper la dernière tâche pour une estimation plus précise. Il y aurait sûrement une première partie de découverte et de conception à faire en commun (6 heures ?), puis ensuite un travail parallélisable d'environ 8 heures chacun. Cela donne une phase 3 de 15 heures.
Au final, on peut estimer que ce projet sera un projet :
- pour 2 élèves ;
- d'une quinzaine d'heures par élève sans interface graphique ;
- d'une trentaine d'heures par élève avec interface graphique.
D. Liste des groupes d'idées de projets à étudier
Numéro | Liste des projets |
---|---|
1 | Mastermind Calcul en valeur exacte sur des fractions Cent mille milliards de poèmes Déchiffrer automatiquement un message codé selon la méthode de César |
2 | Dessin de plantes Tours de Hanoï Mastermind Jeu de la vie |
3 | Calcul en valeur exacte sur des fractions Joueur de Tic-tac-toe Tortue logo Enveloppe convexe |
4 | Déchiffrer automatiquement un message codé selon la méthode César Jeu de la vie Une balle Cent mille milliards de poèmes |
5 | Joueur de Tic-tac-toe Enveloppe convexe Qui est-ce ? Tortue logo |
6 | Une balle Tour de Hanoï Qui est-ce ? Dessin de plantes |
II. Proposition d'idées de projets
Il s'agit d'un travail a effectuer en dehors du cours. Chaque groupe doit proposee 2 nouveaux sujets de projet avec l'étude complète (motivations, difficultés, tâches, charge). Ce travail est à rendre pour évaluation et sera ensuite diffusé à tout le monde pour pouvoir être librement utilisé par la suite.