flowchart TD Start("Identify Learning Objective"):::startNode Describe["Describe the Visualization"]:::teacherNode WritePrompt["Write AI Prompt"]:::teacherNode Generate["Generate Initial Code"]:::aiNode Test["Test in p5.js Editor"]:::testNode Decision{"Meets Learning Objective?"}:::decisionNode Refine["Refine with AI"]:::aiNode AddCourse["Add to Course Materials"]:::teacherNode Feedback["Gather Student Feedback"]:::testNode End("Effective Learning Tool"):::endNode Start --> Describe Describe --> WritePrompt WritePrompt --> Generate Generate --> Test Test --> Decision Decision -->|No| Refine Refine --> Test Decision -->|Yes| AddCourse AddCourse --> Feedback Feedback --> End classDef startNode fill:#22c55e,stroke:#166534,stroke-width:2px,color:#fff,font-size:16px classDef endNode fill:#22c55e,stroke:#166534,stroke-width:2px,color:#fff,font-size:16px classDef teacherNode fill:#3b82f6,stroke:#1d4ed8,stroke-width:2px,color:#fff,font-size:16px classDef aiNode fill:#a855f7,stroke:#7c3aed,stroke-width:2px,color:#fff,font-size:16px classDef testNode fill:#f97316,stroke:#c2410c,stroke-width:2px,color:#fff,font-size:16px classDef decisionNode fill:#eab308,stroke:#a16207,stroke-width:2px,color:#333,font-size:16px linkStyle default stroke:#999,stroke-width:2px,font-size:16px