---
id: "{{ID}}"
title: "{{TITLE}}"
type: "REVIEW_GAME"
created_by: "Curriculum OS Builder"
phase: "{{PHASE}}"
deliverable: "P3-T17"
version: "{{VERSION}}"
date: "{{DATE}}"
template_contract: "artifact-template-v1"
template_required_sections:
  - "Game Rules & Setup Guide"
  - "Round 1: Rapid-Fire Speed Round (100–200 Points)"
  - "Question 1 (100 Pts):"
  - "Question 2 (200 Pts):"
  - "Round 2: Code Duel & Debugging (300–400 Points)"
  - "Challenge 1 (300 Pts):"
  - "Round 3: Final Boss Architecture Challenge (500 Points)"
  - "Kahoot / Quizizz CSV Export Format"
---
<!-- INJECT_BODY -->

# INTERACTIVE REVIEW GAME (QUIZ SHOW PACK): [UNIT / LESSON TITLE]
_Unit: U[X] | Module: M[X.X] | Format: Live Classroom Quiz Show / Kahoot / Jeopardy Format_

## Game Rules & Setup Guide
- **Format:** 3 Rounds of progressive difficulty with team buzzers or interactive clickers.
- **Team Size:** 3-5 students per squad.
- **Bonus Mechanic:** Teams can wager points on Round 3 (Final Boss Challenge).

---

## Round 1: Rapid-Fire Speed Round (100–200 Points)

### Question 1 (100 Pts):
- **Category:** Vocabulary & Syntax
- **Prompt:** "What is the primary difference between `Task` and `Task.detached`?"
- **Options:**
  - `[A]` `Task.detached` inherits actor context; `Task` does not.
  - `[B]` `Task` inherits actor context & priority; `Task.detached` runs completely unisolated. *(Correct)*
  - `[C]` `Task` cannot throw errors; `Task.detached` can.
  - `[D]` There is no difference.

### Question 2 (200 Pts):
- **Category:** Mental Model
- **Prompt:** "Why are SwiftUI Views declared as `struct` (Value Types) rather than `class` (Reference Types)?"
- **Answer:** Value types enforce immutability, make state mutation explicit, and allow lightweight view tree instantiation with zero heap fragmentation.

---

## Round 2: Code Duel & Debugging (300–400 Points)

### Challenge 1 (300 Pts):
- **Prompt:** First team to buzz in and explain why this code fails compilation wins 300 pts!
```swift
class DataStore {
    var items: [String] = []
}
func updateStore(store: DataStore) async {
    // Calling across concurrency boundary without Sendable conformance
}
```
- **Winning Explanation:** `DataStore` is a non-final reference type with mutable state; it does not conform to `Sendable` and cannot safely cross task boundaries.

---

## Round 3: Final Boss Architecture Challenge (500 Points)
- **Scenario:** "Design a real-time multiplayer scorekeeper using Swift 6 Actors. You have 3 minutes to draft the Actor interface on your team whiteboard."
- **Rubric:**
  - `+200 pts:` Declared `actor ScoreKeeper`.
  - `+150 pts:` Thread-safe async update method.
  - `+150 pts:` Non-blocking read access with `isolated` parameters where appropriate.

---

## Kahoot / Quizizz CSV Export Format
```csv
Question,Option 1,Option 2,Option 3,Option 4,Correct Answer,Time Limit (sec)
"What keyword creates an asynchronous suspension point?","defer","await","return","yield",2,20
"Which property wrapper creates local view-owned state?","@Binding","@State","@ObservedObject","@Environment",2,20
"What protocol marks types safe to share across concurrency boundaries?","Codable","Equatable","Sendable","Identifiable",3,30
```
