7.0 KiB
Atelier CookieCode avec cartes
Ce document explique comment utiliser CookieCode comme un atelier ludique avec des cartes physiques ou numeriques.
L'objectif n'est pas seulement d'ecrire du code : le participant doit ressentir qu'il construit quelque chose, qu'il progresse, et qu'il recoit un feedback positif a chaque etape.
Principe de l'atelier
Le parcours conseille est :
Cartes -> Recette orale -> Code CookieCode -> Feedback -> Badge ou defi bonus
Chaque carte correspond a une idee de cuisine et a une notion de programmation.
| Carte | Exemple | Notion apprise |
|---|---|---|
| Structure | RECETTE, SERVIR |
programme, resultat |
| Ingredient | farine, sucre, chocolat |
variable |
| Quantite | 200, g, minutes |
valeur |
| Materiel | saladier, four, couteau |
constante / ressource |
| Action | PRENDRE, AJOUTER, MELANGER, CUIRE |
fonction / instruction |
| Logique | SI, SINON, REPETER |
condition / boucle |
| Objectif | Utilise une boucle, Fais un cookie |
critere de reussite |
Deroule d'une activite
1. Tirer une carte objectif
Exemple :
Defi : Cookie avec boucle
- utilise au moins 3 ingredients ;
- utilise melanger ;
- utilise cuire ;
- utilise repeter ;
- termine par servir.
L'animateur presente le defi comme une mission courte, pas comme un examen.
Phrase conseillee :
Ta mission : creer une recette-programme que Chef Cookie peut comprendre.
2. Construire la recette avec les cartes
Le participant pose les cartes dans l'ordre :
[RECETTE] [Cookie]
[PRENDRE] [farine] [200] [g]
[PRENDRE] [sucre] [100] [g]
[PRENDRE] [chocolat] [150] [g]
[AJOUTER] [farine]
[AJOUTER] [sucre]
[AJOUTER] [chocolat]
[MELANGER]
[REPETER] [2 fois] [MELANGER]
[CUIRE] [12] [minutes]
[SERVIR]
Le but est de manipuler l'algorithme avant de parler de syntaxe JavaScript.
3. Lire la recette a voix haute
Avant de coder, le participant lit son algorithme :
Je prends la farine, je prends le sucre, j'ajoute les ingredients, je melange, je repete, je cuis, je sers.
Ce moment est important : il transforme le code en histoire comprehensible.
4. Traduire en CookieCode
const recette = CookieCode.recette("Cookie")
.prendre("farine", 200, "g")
.prendre("sucre", 100, "g")
.prendre("chocolat", 150, "g")
.ajouter("farine")
.ajouter("sucre")
.ajouter("chocolat")
.melanger()
.repeter(2, function (recette) {
recette.melanger();
})
.cuire(12, "minutes")
.servir();
5. Verifier le defi
const defi = CookieCode.defi("Cookie avec boucle", {
ingredientsMinimum: 3,
actionsObligatoires: ["melanger", "cuire", "servir"],
boucleObligatoire: true,
terminerParServir: true,
interdireErreurs: true
});
const verification = CookieCode.verifier(recette, defi);
console.log(verification.toText());
Sortie attendue :
Defi : Cookie avec boucle
Resultat : reussi
✅ Tu as utilise 3 ingredient(s).
✅ Action trouvee : melanger.
✅ Action trouvee : cuire.
✅ Action trouvee : servir.
✅ Tu as utilise une boucle avec repeter.
✅ Ta recette se termine par servir.
✅ Aucune erreur logique detectee.
Feedback de satisfaction
Le feedback doit donner envie de continuer. Il doit valoriser ce qui est reussi avant de proposer une amelioration.
Regle simple
Toujours utiliser ce format :
1. Bravo pour ce qui fonctionne.
2. Explique ce qui manque simplement.
3. Propose une action concrete.
Exemple :
Bravo, ta recette a deja une bonne sequence d'actions.
Il manque une boucle pour reussir le defi.
Essaie d'ajouter .repeter(2, function (recette) { recette.melanger(); }).
Messages positifs conseilles
🍪 Bravo, ton programme-recette est lisible.
🥣 Tu as cree tes premieres variables avec les ingredients.
🔧 Tu as utilise du materiel comme une constante.
🔁 Super, tu as simplifie une repetition avec une boucle.
🧠 Bien joue, tu as utilise une condition pour prendre une decision.
🎉 Defi reussi : Chef Cookie peut suivre ta recette.
Messages d'aide conseilles
Il manque juste un ingredient pour completer le defi.
Ta recette est presque prete : ajoute une etape servir a la fin.
Tu repetes plusieurs fois la meme action : une carte REPETER peut t'aider.
Tu as servi trop tot : garde SERVIR comme derniere carte.
Ton algorithme est comprehensible, on va maintenant l'ameliorer.
Le ton doit rester encourageant : on ne dit pas que le participant a echoue, on dit que la recette est "a ameliorer".
Badges de progression
Les badges donnent une satisfaction immediate, meme quand le defi principal n'est pas encore complet.
| Badge | Condition |
|---|---|
| 🍪 Premier cookie | Premiere recette creee |
| 🥣 Chef des variables | Au moins 3 ingredients |
| 🔧 Chef du materiel | Au moins 1 materiel utilise |
| 🔁 Chef des boucles | Utilisation de repeter |
| 🧠 Chef des conditions | Utilisation de si |
| 🎯 Defi reussi | Tous les criteres du defi sont valides |
| 🛠 Debug cuisinier | Une recette incomplete a ete corrigee |
Ces badges peuvent etre donnes oralement, imprimes sur papier, ou affiches dans l'interface plus tard.
Rythme conseille pour un atelier de 45 minutes
| Temps | Activite |
|---|---|
| 5 min | Presentation : recette = programme |
| 10 min | Manipulation libre des cartes |
| 10 min | Premier defi simple sans boucle |
| 10 min | Defi avec carte REPETER |
| 5 min | Feedback collectif et badges |
| 5 min | Defi bonus ou correction d'une recette cassee |
Exemple de defis progressifs
Defi 1 : Recette simple
Objectif : creer une recette qui se termine par servir.
Contraintes :
- au moins 2 ingredients ;
- au moins 3 actions ;
- finir par SERVIR.
Defi 2 : Trouve la boucle
Objectif : ameliorer une recette repetee.
Contraintes :
- utiliser REPETER ;
- utiliser MELANGER dans la boucle ;
- finir par SERVIR.
Defi 3 : Recette avec decision
Objectif : utiliser une condition.
Situation : la pate est trop seche.
Contrainte : utiliser SI pour ajouter du lait.
Interaction cartes -> feedback CookieCode
Une carte objectif devient un objet CookieCode.defi.
Carte objectif :
- 3 ingredients minimum
- utiliser melanger
- utiliser cuire
- utiliser repeter
- finir par servir
Devient :
CookieCode.defi("Cookie avec boucle", {
ingredientsMinimum: 3,
actionsObligatoires: ["melanger", "cuire", "servir"],
boucleObligatoire: true,
terminerParServir: true,
interdireErreurs: true
});
Une suite de cartes recette devient un enchainement CookieCode.
[PRENDRE] [farine] [200] [g]
Devient :
.prendre("farine", 200, "g")
[REPETER] [2 fois] [MELANGER]
Devient :
.repeter(2, function (recette) {
recette.melanger();
})
A retenir pour l'animateur
- Le participant doit manipuler avant de coder.
- Le feedback doit etre rapide, visible et positif.
- Une erreur est une occasion de debug, pas un echec.
- Les cartes doivent aider a comprendre l'ordre des instructions.
- Le badge recompense une notion apprise, pas seulement un resultat parfait.