# Task 13 — Curriculum module 4 (2 qubits et intrication) > **Index:** [README](README.md). **Spec:** [design](../../specs/2026-04-29-quantum-tutor-design.md). ## Goal Append module 4 (3 exercises on Bell state and CNOT semantics) to `curriculum/curriculum.json`. ## Prerequisites - Task 12 merged. ## Files - Modify: `curriculum/curriculum.json` ## Steps - [ ] **Step 1: Insert after module 3** ```json , { "id": 4, "title": "2 qubits et intrication", "lessons": [ { "id": 1, "title": "Le circuit de Bell et l'intrication", "concept": "Deux qubits peuvent être 'intriqués' : mesurer l'un détermine instantanément le résultat de l'autre. L'état de Bell est le prototype de l'intrication.", "example_circuit": "OPENQASM 3.0;\ninclude \"stdgates.inc\";\nqubit[2] q;\nbit[2] c;\nh q[0];\ncx q[0], q[1];\nc = measure q;", "what_to_observe": "Lance avec 1000 shots. Tu dois voir uniquement '00' et '11' en quantités égales — jamais '01' ou '10'.", "exercises": [ { "id": "4-1-a", "prompt": "Crée un état de Bell entre 2 qubits : la mesure doit donner uniquement '00' ou '11'.", "hint": "H sur q[0], puis CX q[0]→q[1].", "criteria": { "required_outcomes": [ {"bitstring": "00", "min_ratio": 0.4}, {"bitstring": "11", "min_ratio": 0.4} ], "forbidden_outcomes": ["01", "10"] }, "feedback_pass": "Excellent ! Tu as créé l'état de Bell.", "feedback_fail": "Tu dois voir uniquement '00' et '11'. Utilise H q[0] puis CX q[0],q[1]." }, { "id": "4-1-b", "prompt": "CNOT sans superposition : pars de |00⟩ et applique CX. Que vois-tu ?", "hint": "Sans H, q[0] reste |0⟩.", "criteria": { "required_outcomes": [{"bitstring": "00", "min_ratio": 0.99}], "forbidden_outcomes": ["01", "10", "11"] }, "feedback_pass": "Correct ! CNOT avec contrôle=|0⟩ ne change rien.", "feedback_fail": "Tu dois obtenir '00' systématiquement." }, { "id": "4-1-c", "prompt": "Prépare q[0]=|1⟩ avec X, puis applique CX. Que voit-on sur q[1] ?", "hint": "CNOT flip la cible quand le contrôle est |1⟩.", "criteria": { "required_outcomes": [{"bitstring": "11", "min_ratio": 0.99}], "forbidden_outcomes": ["00", "01", "10"] }, "feedback_pass": "Parfait ! |10⟩ devient |11⟩ après CX.", "feedback_fail": "Avec q[0]=|1⟩, le CNOT doit flipper q[1]." } ] } ] } ``` - [ ] **Step 2: Verify** ```bash cargo test tutor::tests::curriculum_json_deserializes_with_module_1 2>&1 | grep "test result" ``` Expected: `test result: ok. 1 passed`. - [ ] **Step 3: Commit** ```bash git add curriculum/curriculum.json git commit -m "feat: add curriculum module 4 (2 qubits et intrication)" ```