# Curriculum Klas B — 18 Lessen **Versie:** 1.1 (concept) **Doelgroep:** Studenten met al kennis van terminal/git, JS/TS, React/Next.js en AI tools. **Focus:** Code kwaliteit · Veiligheid · Mooie ontwerpen **Eindopdracht:** ongewijzigd (Next.js 14 + Supabase + Vercel AI SDK + externe API) **Lesvorm:** Online, 2 uur per les --- ## Lesformat (elke les) | Tijd | Onderdeel | |------|-----------| | 0:00 – 1:00 | Uitleg / live demo (60 min) | | 1:00 – 1:15 | Pauze (15 min) | | 1:15 – 2:00 | Praktijk / hands-on (45 min) | Plus: **kleine huiswerkopdracht** elke week (~30–60 min) — reinforced wat in de les is behandeld en bereidt voor op volgende les. --- ## Filosofie Klas A had veel tijd nodig voor setup, basics en klassikaal volgen. Klas B niet. Daarom: - **Geen setup-tijd:** terminal, git, npm, Cursor staan al. Controle in Les 2 in 10 min. - **Theorie kort, demo-driven:** binnen de 60 min talk zo veel mogelijk live coden. - **Standaarden vanaf dag 1:** elke les bevat één "professional habit" (types, validatie, a11y, security). - **Huiswerk is verplicht klein:** geen weekend-projecten — wel iedere week een concrete oefening. - **Eindopdracht parallel** vanaf Les 4 (eigen project naast lessen, niet pas na les 18). --- ## Roadmap — 4 Blokken ### Blok 1 — Solid Foundation (Les 1–4) | Les | Titel | Kern-leerdoel | Huiswerk | |-----|-------|---------------|----------| | 1 | Introductie AI & LLMs | (Reeds gegeven 2026-05-12) | — | | 2 | AI-Dev Workflow Mastery | Cursor + Skills.sh + .cursorrules + MCPs effectief inzetten | Maak een eigen .cursorrules voor je stack | | 3 | Next.js 14 Architectuur | App Router, Server vs Client Components, folder conventies | Bouw een mini-app skeleton met juiste structuur | | 4 | TypeScript voor Professionals | Generics, discriminated unions, Zod schemas, type-safe contracts | Refactor 1 functie naar volledig type-safe + Zod | ### Blok 2 — Design & Craft (Les 5–9) | Les | Titel | Kern-leerdoel | Huiswerk | |-----|-------|---------------|----------| | 5 | Design Systems met Tailwind + Shadcn | Design tokens, theming, dark mode, componenten library | Setup eigen design tokens + 3 componenten | | 6 | Mooie UI in de Praktijk | Smaak ontwikkelen: typografie, spacing, kleur, hiërarchie | Herontwerp 1 bestaande pagina, screenshot voor/na | | 7 | Motion & Micro-interactions | Framer Motion, loading states, transitions, feedback patterns | Voeg 3 micro-interactions toe aan je app | | 8 | Accessibility & Responsive | ARIA, keyboard nav, contrast, mobile-first | a11y audit op eigen project + 3 fixes | | 9 | Clean Code & Refactor met AI | Naming, code smells, AI-assisted refactoring | Refactor 1 component van "werkt" naar "mooi" | ### Blok 3 — Data & Security (Les 10–13) | Les | Titel | Kern-leerdoel | Huiswerk | |-----|-------|---------------|----------| | 10 | Supabase + Database Design | Schema modelleren, relaties, indexes, migraties | ERD + schema voor je eindopdracht | | 11 | Auth & RLS vanaf de Grond | Auth flow, sessions, JWT, RLS policies (vanaf dag 1!) | RLS policies schrijven + testen met 2 users | | 12 | Server Actions & Validatie | Zod, sanitization, error handling, never-trust-client | Alle forms in je app valideren met Zod | | 13 | Web Security in de Praktijk | OWASP Top 10, XSS, CSRF, secrets management, .env hygiene | Security audit eigen project + fix top-3 issues | ### Blok 4 — AI Features & Production (Les 14–18) | Les | Titel | Kern-leerdoel | Huiswerk | |-----|-------|---------------|----------| | 14 | Vercel AI SDK Basics | Streaming, useChat, generateText, structured outputs | Bouw een streaming chat in eigen project | | 15 | Tool Calling & Externe APIs | Function calling, API integratie, error states | 1 AI tool koppelen aan een gratis externe API | | 16 | AI Agents & maxSteps | Multi-step autonome agents, planning, tool orchestration | Agent maken die 2+ tools chained gebruikt | | 17 | Testing & Deployment | Vitest + Playwright (AI-assisted), Vercel deploy, Lighthouse | Tests schrijven + deployen naar productie | | 18 | Code Review & Pitch | Peer review, refactor sessie, eindopdracht presentatie | Pitch-deck voorbereiden (5 min) | --- ## Mapping naar eindopdracht-leeruitkomsten | Leeruitkomst | Lessen die dit dekken | |---|---| | 1. TypeScript & Next.js Development | 3, 4, 5, 9 | | 2. Database Design & Supabase | 10, 11, 12 | | 3. AI-Assisted Development met Cursor | 2, 9, 17 | | 4. Skills.sh voor Consistente Output | 2 (intro), terugkerend | | 5. Prompt Engineering & Iteratief Werken | 2, 14, 16 | | 6. AI Agents Bouwen met Vercel AI SDK | 14, 15, 16 | Bovenop eindopdracht-eisen (kwaliteit/security/design): 6, 7, 8, 13, 17, 18. --- ## Verschillen met Klas A curriculum - Geen losse "Cursor Basics" — Klas B start direct op niveau (Les 2 = workflow mastery). - Geen "TypeScript Fundamentals" als beginnersles — vervangen door pro-versie (Les 4). - Design krijgt **5 lessen** i.p.v. impliciet meeliften. - Security krijgt eigen volwaardige les (13) bovenop Auth/RLS (11, 12). - AI Agents krijgt 3 lessen i.p.v. 2 (14–16). - Testing + Deployment samengevoegd in 1 les (17) — past in 2-uur format. - Eindopdracht-werk parallel vanaf Les 4. --- ## Open vragen voor jou 1. **Eindopdracht parallel vanaf Les 4:** akkoord, of pas later? 2. **Pair programming online:** breakout rooms in Zoom/Teams of laten studenten zelf afspreken? 3. **Huiswerk inleveren:** GitHub PR, Discord/Slack channel, of niet centraal verzamelen? 4. **Die ene gevorderde leerling** (recruitment-app): aparte uitdaging in huiswerk of normaal meeloopen?