# C4-S01 — Diagnostic et consolidation

import { AssessmentGrid } from "../../src/components/AssessmentGrid";
import { Correction } from "../../src/components/Correction";
import { ExerciseCard } from "../../src/components/ExerciseCard";
import { LearningObjectives } from "../../src/components/LearningObjectives";
import { LessonHeader } from "../../src/components/LessonHeader";
import { LessonNavigation } from "../../src/components/LessonNavigation";
import { TeacherTip } from "../../src/components/TeacherTip";

<LessonHeader
  id="C4-S01"
  title="Diagnostic des acquis et consolidation algorithmique"
  cycle="4"
  levels="5e, 4e, 3e"
  duration="55 minutes"
  tool="Scratch avancé"
  grouping="Individuel puis binômes"
  expressPrep={{
    objective: "Auditer un jeu d'arcade rétro et consolider les acquis de fin de cycle 3.",
    material: "Projet Space Shooter défectueux.",
    trap: "Manquer de rigueur dans l'ordre des vérifications de conditions.",
    timing: "10' Cadrage d'audit • 30' Réparation des 3 anomalies • 15' Recette",
  }}
  studentUrl="/activites/cycle-4/c4-a01-repare-le-jeu"
  studentId="C4-A01"
/>

<LearningObjectives
  objectives={[
    "Évaluer le niveau initial sur les fondamentaux (séquences, boucles, conditions, variables, coordonnées).",
    "Lire, analyser et expliquer le fonctionnement d'un script complexe conçu par un tiers.",
    "Détecter et corriger 3 erreurs courantes dans un programme de jeu d'arcade.",
  ]}
/>

---

## 🎒 Matériel & Préparation

- 1 poste par élève ou binôme.
- Fiche de test diagnostique (10 questions à choix multiples et analyse de code).

---

## ⏱️ Déroulé de la séance

### 1. Test diagnostique d'entrée (15 min)

Évaluation individuelle sur fiche ou en ligne pour mesurer les compétences acquises au Cycle 3.

### 2. Atelier de consolidation pratique (30 min)

<ExerciseCard title="Mission : L'audit du jeu d'arcade rétro" difficulty="Moyen">
  Un projet de mini-jeu contient 3 anomalies : 1. Le joueur sort de l'écran par la droite et
  disparaît. 2. Le chronomètre descend en dessous de zéro et ne stoppe jamais la partie. 3. Les
  pièces ramassées réapparaissent immédiatement sur le joueur. Analyser le projet et corriger les
  scripts.
</ExerciseCard>

<Correction title="Voir les 3 correctifs">

```text
// 1. Limite de scène
si <(abscisse x) > 230> alors
    mettre x à 230

// 2. Arrêt du chronomètre à zéro
si <(temps) < 1> alors
    envoyer à tous [fin_de_partie v]
    stop [ce script v]

// 3. Réapparition des pièces avec distance minimale
aller à x: (nombre aléatoire entre -200 et 200) y: (nombre aléatoire entre -100 et 140)
```

</Correction>

### 3. Bilan & Niveaux d'autonomie (10 min)

Mise en place de binômes tutorés pour équilibrer les compétences dans la classe.

<TeacherTip title="Pédagogie différenciée">
  Identifiez rapidement les élèves experts qui pourront jouer le rôle de « consultants techniques »
  auprès de leurs camarades pendant les séances de projet.
</TeacherTip>

---

## 📊 Grille d'évaluation

<AssessmentGrid
  criteria={[
    {
      label: "Analyse et comprend un script existant",
      withHelp: "Exécute sans pouvoir expliquer le rôle des blocs",
      autonomous: "Explique oralement la logique de chaque script",
      transfer: "Anticipe les effets de bord d'une modification de variable",
    },
    {
      label: "Maîtrise des fondamentaux Cycle 3",
      withHelp: "Confond coordonnées et variables",
      autonomous: "Résout les 3 anomalies du test diagnostic",
      transfer: "Propose une réécriture plus élégante du code",
    },
  ]}
/>


<LessonNavigation
  nextUrl="/cycle-4/c4-s02-logique-booleenne"
  nextId="C4-S02"
  nextTitle="Logique booléenne"
  cycleUrl="/cycle-4"
  cycleTitle="Vue d'ensemble du Cycle 4"
/>
