Files
Vincent Bourdon 9af114e391 Initial import
2026-06-09 16:14:55 +02:00

3.0 KiB

Task 12 — Curriculum module 3 (Interférence et phase)

Index: README. Spec: design.

Goal

Append module 3 (3 exercises on phase, H·Z·H, Rz(π), H·S·H) to curriculum/curriculum.json.

Prerequisites

  • Task 11 merged.

Files

  • Modify: curriculum/curriculum.json

Steps

  • Step 1: Insert after module 2
,
{
  "id": 3,
  "title": "Interférence et phase",
  "lessons": [
    {
      "id": 1,
      "title": "La phase quantique et l'interférence",
      "concept": "La phase d'un état quantique est invisible à la mesure directe, mais deux états en superposition peuvent interférer : leurs amplitudes s'additionnent ou s'annulent. C'est le moteur de l'avantage quantique.",
      "example_circuit": "OPENQASM 3.0;\ninclude \"stdgates.inc\";\nqubit[1] q;\nbit[1] c;\nh q[0];\nz q[0];\nh q[0];\nc = measure q;",
      "what_to_observe": "Ce circuit (H·Z·H) donne toujours '1'. Compare avec un simple X.",
      "exercises": [
        {
          "id": "3-1-a",
          "prompt": "Vérifie que H·Z·H = X. Écris le circuit H·Z·H et mesure.",
          "hint": "Applique h, puis z, puis h, puis mesure.",
          "criteria": {
            "required_outcomes": [{"bitstring": "1", "min_ratio": 0.99}],
            "forbidden_outcomes": ["0"]
          },
          "feedback_pass": "Parfait ! H·Z·H = X — l'interférence transforme un flip de phase en flip de bit.",
          "feedback_fail": "Assure-toi d'appliquer h, z, h dans cet ordre."
        },
        {
          "id": "3-1-b",
          "prompt": "Applique H, puis Rz(π), puis H. Que vois-tu ?",
          "hint": "rz(pi) q[0]; — la constante pi est disponible.",
          "criteria": {
            "required_outcomes": [{"bitstring": "1", "min_ratio": 0.99}],
            "forbidden_outcomes": ["0"]
          },
          "feedback_pass": "Exact ! Rz(π) est équivalent à Z (à une phase globale près).",
          "feedback_fail": "Vérifie ta syntaxe pour rz(pi) q[0];"
        },
        {
          "id": "3-1-c",
          "prompt": "Crée un circuit H·S·H et mesure. Que devient la distribution ?",
          "hint": "S introduit une phase de 90° qui modifie l'interférence.",
          "criteria": {
            "required_outcomes": [
              {"bitstring": "0", "min_ratio": 0.2},
              {"bitstring": "1", "min_ratio": 0.2}
            ],
            "forbidden_outcomes": []
          },
          "feedback_pass": "Bien joué ! H·S·H produit une superposition non triviale.",
          "feedback_fail": "Tu dois voir les deux outcomes. Applique h, s, h dans cet ordre."
        }
      ]
    }
  ]
}
  • Step 2: Verify
cargo test tutor::tests::curriculum_json_deserializes_with_module_1 2>&1 | grep "test result"

Expected: test result: ok. 1 passed.

  • Step 3: Commit
git add curriculum/curriculum.json
git commit -m "feat: add curriculum module 3 (interférence et phase)"