fix: les 6
This commit is contained in:
397
readme.md
397
readme.md
@@ -13,33 +13,46 @@ Een 18-weekse cursus die studenten meeneemt van AI-beginner naar AI-powered deve
|
||||
| **v1** | Gegeven | Originele lessen (Les01, Les02 mappen) |
|
||||
| **[v2](v2/)** | In ontwikkeling | Verbeterde lessen op basis van feedback |
|
||||
|
||||
**Feedback & Reflectie:** [v1-feedback.md](v1-feedback.md) - Bevindingen na het geven van les 1, 2 en 3
|
||||
**Feedback & Reflectie:** [v1-feedback.md](v1-feedback.md) - Bevindingen na het geven van les 1-3
|
||||
|
||||
---
|
||||
|
||||
## Lesformat (Nieuw!)
|
||||
|
||||
**Feedback van studenten:** Het traditionele "1 uur lecture + 2 uur solo werk" werkt niet optimaal. Studenten voelen zich verloren en geven voorkeur aan samenwerken.
|
||||
|
||||
**Nieuw format (toegepast op alle lessen):**
|
||||
- **~45 minuten:** Theorie met live demo's (docent codeert en verklaart)
|
||||
- **15 minuten:** Pauze
|
||||
- **~120 minuten:** Klassikaal bouwen (Tim codeert voor, studenten volgen mee met regelmatige "nu jullie" momenten waar zij zelf code schrijven)
|
||||
|
||||
Dit format betrekent meer interactie, sneller feedback en meer mogelijkheden voor sparring en samenwerken.
|
||||
|
||||
---
|
||||
|
||||
## Overzicht
|
||||
|
||||
> **Let op:** Curriculum v2 - geherstructureerd na feedback les 1-2. Cursor vervangt OpenCode als primaire AI tool. Meer tijd voor Next.js en Supabase.
|
||||
> **Let op:** Curriculum v2 - geherstructureerd na teaching experience. Old Les 5 (TypeScript voor React/Next.js) is uitgewerkt in de twee Next.js lessen. Old Les 6-8 zijn samengevat in nieuwe Les 5-6. Old Les 9-16 verschuiven naar Les 7-14. Old Les 17 (1 werkdag) is uitgebreid naar 3 werkdagen (Les 15-17).
|
||||
|
||||
| Les | Onderwerp | Deel | Status |
|
||||
|-----|-----------|------|--------|
|
||||
| 01 | [Introductie tot AI en Large Language Models](Samenvattingen/Les01-Samenvatting.md) | 1 | ✅ Gegeven |
|
||||
| 02 | [AI Code Assistants (OpenCode → Cursor)](Samenvattingen/Les02-Samenvatting.md) | 1 | ✅ Gegeven |
|
||||
| 03 | [Cursor Setup & Basics](Samenvattingen/Les03-Samenvatting.md) | 1 | ✅ Gegeven |
|
||||
| 04 | [TypeScript Fundamentals](Samenvattingen/Les04-Samenvatting.md) | 2 | 🔨 In ontwikkeling |
|
||||
| 05 | [TypeScript voor React/Next.js](Samenvattingen/Les05-Samenvatting.md) | 2 | 📋 Samenvatting |
|
||||
| 06 | [Next.js 1: Pages, Routing & Layouts](Samenvattingen/Les06-Samenvatting.md) | 2 | 📋 Samenvatting |
|
||||
| 07 | [Next.js 2: Server Components & Data Fetching](Samenvattingen/Les07-Samenvatting.md) | 2 | 📋 Samenvatting |
|
||||
| 08 | [Next.js 3: API Routes & Server Actions](Samenvattingen/Les08-Samenvatting.md) | 2 | 📋 Samenvatting |
|
||||
| 09 | [Database Principles & Supabase Setup](Samenvattingen/Les09-Samenvatting.md) | 2 | 📋 Samenvatting |
|
||||
| 10 | [Supabase: Auth & CRUD](Samenvattingen/Les10-Samenvatting.md) | 2 | 📋 Samenvatting |
|
||||
| 11 | [Full-Stack Mini Project](Samenvattingen/Les11-Samenvatting.md) | 3 | 📋 Samenvatting |
|
||||
| 12 | [Styling: Tailwind CSS & shadcn/ui](Samenvattingen/Les12-Samenvatting.md) | 3 | 📋 Samenvatting |
|
||||
| 13 | [Hands-on: Van Idee naar Prototype](Samenvattingen/Les13-Samenvatting.md) | 3 | 📋 Samenvatting |
|
||||
| 14 | [Project Setup & AI Config (.cursorrules, claude.md)](Samenvattingen/Les14-Samenvatting.md) | 3 | 📋 Samenvatting |
|
||||
| 15 | [Vercel AI SDK, Tool Calling & Agents](Samenvattingen/Les15-Samenvatting.md) | 4 | 📋 Samenvatting |
|
||||
| 16 | [AI Chat Interface & Streaming](Samenvattingen/Les16-Samenvatting.md) | 4 | 📋 Samenvatting |
|
||||
| 17 | [Eindproject Werkdag](Samenvattingen/Les17-Samenvatting.md) | 4 | 📋 Samenvatting |
|
||||
| 04 | [TypeScript Fundamentals](Samenvattingen/Les04-Samenvatting.md) | 2 | ✅ Gegeven |
|
||||
| 05 | [Next.js — Het React Framework (Part 1)](Samenvattingen/Les05-Samenvatting.md) | 2 | ✅ Gegeven (v1) |
|
||||
| 06 | [Next.js — QuickPoll Vervolg (Part 2)](Samenvattingen/Les06-Samenvatting.md) | 2 | 📋 Gepland |
|
||||
| 07 | [Database Principles & Supabase Setup](Samenvattingen/Les07-Samenvatting.md) | 2 | 📋 Samenvatting |
|
||||
| 08 | [Supabase: Auth & CRUD](Samenvattingen/Les08-Samenvatting.md) | 2 | 📋 Samenvatting |
|
||||
| 09 | [Full-Stack Mini Project](Samenvattingen/Les09-Samenvatting.md) | 3 | 📋 Samenvatting |
|
||||
| 10 | [Styling: Tailwind CSS & shadcn/ui](Samenvattingen/Les10-Samenvatting.md) | 3 | 📋 Samenvatting |
|
||||
| 11 | [Van Idee naar Prototype](Samenvattingen/Les11-Samenvatting.md) | 3 | 📋 Samenvatting |
|
||||
| 12 | [Project Setup & AI Config (.cursorrules, claude.md)](Samenvattingen/Les12-Samenvatting.md) | 3 | 📋 Samenvatting |
|
||||
| 13 | [Vercel AI SDK, Tool Calling & Agents](Samenvattingen/Les13-Samenvatting.md) | 4 | 📋 Samenvatting |
|
||||
| 14 | [AI Chat Interface & Streaming](Samenvattingen/Les14-Samenvatting.md) | 4 | 📋 Samenvatting |
|
||||
| 15 | [Eindproject Werkdag 1](Samenvattingen/Les15-Samenvatting.md) | 4 | 📋 Samenvatting |
|
||||
| 16 | [Eindproject Werkdag 2](Samenvattingen/Les16-Samenvatting.md) | 4 | 📋 Samenvatting |
|
||||
| 17 | [Eindproject Polish & Code Review](Samenvattingen/Les17-Samenvatting.md) | 4 | 📋 Samenvatting |
|
||||
| 18 | [Deployment, Presentaties & Evaluatie](Samenvattingen/Les18-Samenvatting.md) | 4 | 📋 Samenvatting |
|
||||
|
||||
---
|
||||
@@ -49,9 +62,9 @@ Een 18-weekse cursus die studenten meeneemt van AI-beginner naar AI-powered deve
|
||||
| Deel | Lessen | Tools | Kosten |
|
||||
|------|--------|-------|--------|
|
||||
| Deel 1: AI Foundations | 1-3 | ChatGPT, v0.dev, OpenCode, **Cursor** | Gratis (Cursor Student Plan) |
|
||||
| Deel 2: Technical Foundations | 4-10 | TypeScript, Next.js, Supabase | Gratis |
|
||||
| Deel 3: Full-Stack Development | 11-14 | Next.js, Supabase, Tailwind, **shadcn/ui**, Cursor | Gratis |
|
||||
| Deel 4: Advanced AI & Deployment | 15-18 | Cursor, Vercel AI SDK, Vercel | Gratis (Cursor Student Plan) |
|
||||
| Deel 2: Technical Foundations | 4-8 | TypeScript, Next.js, Supabase | Gratis |
|
||||
| Deel 3: Full-Stack Development | 9-12 | Next.js, Supabase, Tailwind, **shadcn/ui**, Cursor | Gratis |
|
||||
| Deel 4: Advanced AI & Deployment | 13-18 | Cursor, Vercel AI SDK, Vercel | Gratis (Cursor Student Plan) |
|
||||
|
||||
**Eindopdracht:** Cursor (Student Plan - gratis Pro voor 1 jaar)
|
||||
|
||||
@@ -212,136 +225,86 @@ Kennismaking met AI, LLMs en de basis van AI-assisted development met Cursor.
|
||||
|
||||
# Deel 2: Technical Foundations
|
||||
|
||||
**7 lessen · 12 EC**
|
||||
**5 lessen · 10 EC**
|
||||
|
||||
Stevige technische basis: TypeScript, Next.js, databases en Supabase.
|
||||
|
||||
---
|
||||
|
||||
### Les 5: TypeScript voor React/Next.js
|
||||
### Les 5: Next.js — Het React Framework (Part 1)
|
||||
|
||||
**Tools:** Cursor, TypeScript, React, Next.js
|
||||
**Tools:** Next.js 15, Cursor, TypeScript, Tailwind CSS
|
||||
|
||||
**Docent vertelt:**
|
||||
- TypeScript + React: props typen, useState met types
|
||||
- Event handlers en callback types
|
||||
- Generics basics (Array<T>, Promise<T>)
|
||||
- API response types en async functies
|
||||
- Type narrowing en utility types (Partial, Pick, Omit)
|
||||
- JS naar TS omzetten in een React project
|
||||
**Docent vertelt (~45 min, demo-driven):**
|
||||
- Waarom Next.js? Het probleem met pure React
|
||||
- Create-next-app en project structuur
|
||||
- App Router: file-based routing, page.tsx, layout.tsx
|
||||
- Dynamic routes ([id]) met TypeScript
|
||||
- Server Components vs Client Components ("use client")
|
||||
- Data Fetching in Server Components (async components)
|
||||
- Server Actions introductie
|
||||
- Route Groups en best practices
|
||||
|
||||
**Studenten doen:**
|
||||
- React components typen met interfaces
|
||||
- useState en useEffect met types gebruiken
|
||||
- Event handlers correct typen
|
||||
- Bestaand React project omzetten naar TypeScript
|
||||
**Samen bouwen (~120 min, klassikaal):**
|
||||
- QuickPoll app Part 1 (Stap 0-3 uit lesopdracht)
|
||||
- Tim + klas: create-next-app, types definiëren, folder structuur
|
||||
- Klassikaal: layout met navigatie, homepage met polls list
|
||||
- Klassikaal: API route GET single poll
|
||||
|
||||
**Lesopdracht:** Bouw getypte React componenten met Cursor. Type props, state, events en API responses.
|
||||
**Lesopdracht:** QuickPoll app Part 1 (Stap 0-3 uit lesopdracht) - stap-voor-stap handleiding
|
||||
|
||||
**Huiswerk:** Zet een compleet React project om van JavaScript naar TypeScript. Alle componenten, hooks en API calls volledig typen.
|
||||
**Huiswerk:** Stap 0-3 zelfstandig afmaken als je het niet af hebt
|
||||
|
||||
[→ Ga naar Les 5](Samenvattingen/Les05-Samenvatting.md)
|
||||
**Lesmateriaal:**
|
||||
- Slide-Overzicht
|
||||
- Docenttekst
|
||||
- Les05-Lesopdracht.pdf (stap-voor-stap handleiding)
|
||||
- les5-quickpoll-starter.zip (scaffolded project)
|
||||
- les5-quickpoll-voorbeeld.zip (Tim's referentie)
|
||||
|
||||
[→ Ga naar Les 5 Samenvatting](Samenvattingen/Les05-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
### Les 6: Next.js 1: Pages, Routing & Layouts
|
||||
### Les 6: Next.js — QuickPoll Vervolg (Part 2)
|
||||
|
||||
**Tools:** Next.js 14, OpenCode/WebStorm, Vercel
|
||||
**Tools:** Next.js 15, Cursor, TypeScript, Tailwind CSS
|
||||
|
||||
**Docent vertelt:**
|
||||
- Wat is Next.js? React framework met superpowers
|
||||
- Server-Side Rendering (SSR) vs Client-Side Rendering (CSR)
|
||||
- Waarom SSR? SEO, performance, initial load
|
||||
- App Router: file-based routing uitgelegd
|
||||
- Folder structuur: app/, pages, layouts, loading, error
|
||||
- Dynamic routes: [id], [...slug], [[...optional]]
|
||||
- Link component en navigation
|
||||
- Metadata en SEO basics
|
||||
**Docent vertelt (~30-40 min):**
|
||||
- Recap Les 5 + Q&A
|
||||
- API Route Handlers: GET, POST met NextResponse (dieper)
|
||||
- Middleware: request intercepten, logging, rate limiting
|
||||
- Environment Variables (.env.local, NEXT_PUBLIC_)
|
||||
- Loading, Error, Not-Found special files
|
||||
- next/image, next/link, Metadata
|
||||
- Deployment op Vercel
|
||||
- Cursor/AI workflow (.cursorrules, Cmd+K, Cmd+L)
|
||||
|
||||
**Studenten doen:**
|
||||
- Next.js project aanmaken met `npx create-next-app@latest`
|
||||
- Pagina's maken met App Router
|
||||
- Layout en nested layouts implementeren
|
||||
- Dynamic routes bouwen
|
||||
- Navigation met Link component
|
||||
**Samen bouwen (~120 min, klassikaal):**
|
||||
- QuickPoll app Part 2 (Stap 4-7 uit lesopdracht)
|
||||
- Klassikaal: API POST vote route
|
||||
- Klassikaal: Poll detail pagina (server component)
|
||||
- Klassikaal: VoteForm (client component met fetch)
|
||||
- Klassikaal: Loading, error, not-found states
|
||||
- Bonus: Create poll pagina
|
||||
- Deploy naar Vercel
|
||||
|
||||
**Lesopdracht:**
|
||||
1. `npx create-next-app@latest` met TypeScript + Tailwind + App Router
|
||||
2. Maak 4 pagina's: home, about, products, contact
|
||||
3. Maak root layout met Header en Footer
|
||||
4. Maak `/products/[id]` dynamic route
|
||||
5. Deploy naar Vercel
|
||||
**Lesopdracht:** QuickPoll app Part 2 (Stap 4-7 uit lesopdracht)
|
||||
|
||||
**Huiswerk:** Voeg nested layout toe voor products section, maak loading.tsx en error.tsx, experimenteer met metadata.
|
||||
**Huiswerk:** App afmaken en deployen op Vercel, bonus features toevoegen
|
||||
|
||||
[→ Ga naar Les 6](Samenvattingen/Les06-Samenvatting.md)
|
||||
**Lesmateriaal:**
|
||||
- Slide-Overzicht
|
||||
- Docenttekst
|
||||
- Les06-Lesopdracht.pdf (stap-voor-stap handleiding)
|
||||
- les6-quickpoll-starter.zip (scaffolded project)
|
||||
- les6-quickpoll-voorbeeld.zip (Tim's referentie)
|
||||
|
||||
[→ Ga naar Les 6 Samenvatting](Samenvattingen/Les06-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
### Les 7: Next.js 2: Server Components & Data Fetching
|
||||
|
||||
**Tools:** Next.js 14, React Query (TanStack Query), Cursor
|
||||
|
||||
**Docent vertelt:**
|
||||
- Server Components vs Client Components
|
||||
- 'use client' directive: wanneer en waarom
|
||||
- Data fetching in Server Components (async/await)
|
||||
- React Query: waarom, installatie, basics
|
||||
- useQuery en useMutation hooks
|
||||
- Caching en revalidation strategies
|
||||
|
||||
**Studenten doen:**
|
||||
- Server Component met data fetching maken
|
||||
- Client Component met React Query maken
|
||||
- useQuery en useMutation implementeren
|
||||
- Caching strategieën testen
|
||||
|
||||
**Lesopdracht:**
|
||||
1. Maak Server Component met async data fetching
|
||||
2. Bouw Client Component met React Query
|
||||
3. Implementeer useQuery voor producten
|
||||
4. Voeg useMutation toe voor user interactions
|
||||
5. Test caching behavior
|
||||
|
||||
**Huiswerk:** Experimenteer met revalidation strategies, voeg error boundaries toe, bouw loading states voor betere UX.
|
||||
|
||||
[→ Ga naar Les 7](Samenvattingen/Les07-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
### Les 8: Next.js 3: API Routes & Server Actions
|
||||
|
||||
**Tools:** Next.js 14, Cursor, Supabase
|
||||
|
||||
**Docent vertelt:**
|
||||
- API Routes: Route Handlers in App Router
|
||||
- HTTP methods: GET, POST, PUT, DELETE
|
||||
- Server Actions: form actions en mutations
|
||||
- Request/response handling
|
||||
- Error handling in API routes
|
||||
- Middleware basics (authentication)
|
||||
|
||||
**Studenten doen:**
|
||||
- API routes schrijven voor CRUD operaties
|
||||
- Server Actions implementeren voor forms
|
||||
- Request validation toevoegen
|
||||
- Error handling testen
|
||||
- Authentication middleware bouwen
|
||||
|
||||
**Lesopdracht:**
|
||||
1. Maak `/api/items` routes (GET, POST, PUT, DELETE)
|
||||
2. Bouw Server Actions voor form submissions
|
||||
3. Voeg request validation toe met Zod
|
||||
4. Implementeer error handling
|
||||
5. Test all CRUD operations
|
||||
|
||||
**Huiswerk:** Voeg authentication middleware toe, implementeer optimistic UI updates, schrijf API route tests.
|
||||
|
||||
[→ Ga naar Les 8](Samenvattingen/Les08-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
### Les 9: Database Principles & Supabase Setup
|
||||
### Les 7: Database Principles & Supabase Setup
|
||||
|
||||
**Tools:** Diagramming tool (draw.io/Excalidraw), Supabase, Cursor
|
||||
|
||||
@@ -369,13 +332,13 @@ Stevige technische basis: TypeScript, Next.js, databases en Supabase.
|
||||
4. Configureer `.env.local`
|
||||
5. Test connectie met Supabase client
|
||||
|
||||
**Huiswerk:** Refine je database schema, voeg meer relaties toe, dokumenteer decisions, bereid Les 10 vor.
|
||||
**Huiswerk:** Refine je database schema, voeg meer relaties toe, dokumenteer decisions, bereid Les 8 vor.
|
||||
|
||||
[→ Ga naar Les 9](Samenvattingen/Les09-Samenvatting.md)
|
||||
[→ Ga naar Les 7 Samenvatting](Samenvattingen/Les07-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
### Les 10: Supabase: Auth & CRUD
|
||||
### Les 8: Supabase: Auth & CRUD
|
||||
|
||||
**Tools:** Supabase, Next.js, Cursor, React Query
|
||||
|
||||
@@ -405,7 +368,7 @@ Stevige technische basis: TypeScript, Next.js, databases en Supabase.
|
||||
|
||||
**Huiswerk:** Add OAuth provider (Google/GitHub), implementeer logout en password reset, deploy naar Vercel met env secrets.
|
||||
|
||||
[→ Ga naar Les 10](Samenvattingen/Les10-Samenvatting.md)
|
||||
[→ Ga naar Les 8 Samenvatting](Samenvattingen/Les08-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
@@ -417,7 +380,7 @@ Integratie van alle geleerde technieken, styling en voorbereiding op eindproject
|
||||
|
||||
---
|
||||
|
||||
### Les 11: Full-Stack Mini Project
|
||||
### Les 9: Full-Stack Mini Project
|
||||
|
||||
**Tools:** Cursor, Supabase, Browser DevTools
|
||||
|
||||
@@ -428,7 +391,7 @@ Integratie van alle geleerde technieken, styling en voorbereiding op eindproject
|
||||
- Probleemoplossing in real time
|
||||
|
||||
**Studenten doen:**
|
||||
- **Groepsdiscussie:** Bespreek auth & CRUD ervaringen uit Les 10
|
||||
- **Groepsdiscussie:** Bespreek auth & CRUD ervaringen uit Les 8
|
||||
- Mini-project kiezen: Bookmarks, Todo's, Notes, of Recipe Collection
|
||||
- Met Cursor alle onderdelen kombinieren: auth, database, API, UI
|
||||
- Zelfstandig problemen oplossen
|
||||
@@ -438,43 +401,11 @@ Integratie van alle geleerde technieken, styling en voorbereiding op eindproject
|
||||
|
||||
**Huiswerk:** Verbeterpunten toevoegen, reflectie schrijven (200 woorden), repo opruimen, voorbereiden op styling.
|
||||
|
||||
[→ Ga naar Les 11](Samenvattingen/Les11-Samenvatting.md)
|
||||
[→ Ga naar Les 9 Samenvatting](Samenvattingen/Les09-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
### Les 11: Hands-on: Van Idee naar Prototype
|
||||
|
||||
**Tools:** OpenCode/WebStorm, ChatGPT (voor planning)
|
||||
|
||||
**Docent vertelt:**
|
||||
- Hoe ga je van vaag idee naar concrete features?
|
||||
- Feature breakdown methode
|
||||
- Component thinking: UI opdelen in herbruikbare stukken
|
||||
- Minimum Viable Product (MVP) denken
|
||||
- Korte demo van het proces
|
||||
|
||||
**Studenten doen:**
|
||||
- **Groepsdiscussie:** Bespreek Tool Selection reflecties - welke workflows werken het beste?
|
||||
- Kiezen van een simpel project idee
|
||||
- Met AI features breakdown maken
|
||||
- Component structuur bedenken
|
||||
- Prototype bouwen met alles wat ze hebben geleerd
|
||||
- Focus op WORKFLOW, niet perfectie
|
||||
|
||||
**Voorbeeld projecten:**
|
||||
- Weer widget met 3-daagse forecast
|
||||
- Simpele quiz app (3 vragen)
|
||||
- Recipe card met ingrediënten toggle
|
||||
|
||||
**Lesopdracht:** Kies een mini-project, maak feature breakdown met AI, bouw werkend prototype. Documenteer je proces: welke prompts werkten, waar liep je vast, hoe loste je het op.
|
||||
|
||||
**Huiswerk:** Verbeter je prototype (styling, edge cases), schrijf "Lessons Learned" document (300 woorden).
|
||||
|
||||
[→ Ga naar Les 11](Samenvattingen/Les11-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
### Les 12: Styling: Tailwind CSS & shadcn/ui
|
||||
### Les 10: Styling: Tailwind CSS & shadcn/ui
|
||||
|
||||
**Tools:** Tailwind CSS, shadcn/ui, Cursor
|
||||
|
||||
@@ -504,11 +435,11 @@ Integratie van alle geleerde technieken, styling en voorbereiding op eindproject
|
||||
|
||||
**Huiswerk:** Refactor alle components, add animations met Tailwind, explore shadcn variations, dokumenteer styling decisions.
|
||||
|
||||
[→ Ga naar Les 12](Samenvattingen/Les12-Samenvatting.md)
|
||||
[→ Ga naar Les 10 Samenvatting](Samenvattingen/Les10-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
### Les 13: Hands-on: Van Idee naar Prototype
|
||||
### Les 11: Van Idee naar Prototype
|
||||
|
||||
**Tools:** Cursor, ChatGPT (voor planning)
|
||||
|
||||
@@ -536,21 +467,13 @@ Integratie van alle geleerde technieken, styling en voorbereiding op eindproject
|
||||
|
||||
**Lesopdracht:** Kies eindproject idee, maak feature breakdown met AI, ontwerp component tree, zet up codebase, bouw eerste 2-3 components.
|
||||
|
||||
**Huiswerk:** Bouw meer components, integreer eerste data, documenteer architecture decisions, voorbereiding Les 14.
|
||||
**Huiswerk:** Bouw meer components, integreer eerste data, documenteer architecture decisions, voorbereiding Les 12.
|
||||
|
||||
[→ Ga naar Les 13](Samenvattingen/Les13-Samenvatting.md)
|
||||
[→ Ga naar Les 11 Samenvatting](Samenvattingen/Les11-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
# Deel 4: Advanced AI & Deployment
|
||||
|
||||
**4 lessen · 6 EC**
|
||||
|
||||
AI-powered features, streaming, finale afronding en deployment.
|
||||
|
||||
---
|
||||
|
||||
### Les 14: Project Setup & AI Config (.cursorrules, claude.md)
|
||||
### Les 12: Project Setup & AI Config (.cursorrules, claude.md)
|
||||
|
||||
**Tools:** Cursor, Git, GitHub
|
||||
|
||||
@@ -581,11 +504,19 @@ AI-powered features, streaming, finale afronding en deployment.
|
||||
|
||||
**Huiswerk:** Polish documentatie, add architecture diagrams, test .cursorrules in Cursor, prepare voor Deel 4.
|
||||
|
||||
[→ Ga naar Les 14](Samenvattingen/Les14-Samenvatting.md)
|
||||
[→ Ga naar Les 12 Samenvatting](Samenvattingen/Les12-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
### Les 15: Vercel AI SDK, Tool Calling & Agents
|
||||
# Deel 4: Advanced AI & Deployment
|
||||
|
||||
**6 lessen · 8 EC**
|
||||
|
||||
AI-powered features, streaming, finale afronding en deployment.
|
||||
|
||||
---
|
||||
|
||||
### Les 13: Vercel AI SDK, Tool Calling & Agents
|
||||
|
||||
**Tools:** Vercel AI SDK, Zod, Externe APIs, Cursor
|
||||
|
||||
@@ -614,11 +545,11 @@ AI-powered features, streaming, finale afronding en deployment.
|
||||
|
||||
**Huiswerk:** Add more tools, implementeer agents met `maxSteps`, documenteer in AI-DECISIONS.md, integreer in eindproject.
|
||||
|
||||
[→ Ga naar Les 15](Samenvattingen/Les15-Samenvatting.md)
|
||||
[→ Ga naar Les 13 Samenvatting](Samenvattingen/Les13-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
### Les 16: AI Chat Interface & Streaming
|
||||
### Les 14: AI Chat Interface & Streaming
|
||||
|
||||
**Tools:** Vercel AI SDK, Cursor, Browser APIs
|
||||
|
||||
@@ -648,40 +579,106 @@ AI-powered features, streaming, finale afronding en deployment.
|
||||
|
||||
**Huiswerk:** Add chat features (clear history, export, favorites), deploy naar Vercel, gather user feedback.
|
||||
|
||||
[→ Ga naar Les 16](Samenvattingen/Les16-Samenvatting.md)
|
||||
[→ Ga naar Les 14 Samenvatting](Samenvattingen/Les14-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
### Les 17: Eindproject Werkdag
|
||||
### Les 15: Eindproject Werkdag 1
|
||||
|
||||
**Tools:** Cursor, Vercel, Supabase, alle vorige tools
|
||||
|
||||
**Focus:** Core features bouwen
|
||||
|
||||
**Docent vertelt:**
|
||||
- Q&A session: wat loop je tegen aan?
|
||||
- Cursor tips & tricks review
|
||||
- Debugging strategies
|
||||
- Performance optimization basics
|
||||
- Deployment troubleshooting
|
||||
- Final checklist review
|
||||
|
||||
**Studenten doen:**
|
||||
- **Volle dag werken aan eindproject**
|
||||
- Docent beschikbaar voor individuele hulp
|
||||
- Features afmaken
|
||||
- Docent beschikbaar voor individuele hulp en klassikaal sparring
|
||||
- Core features bouwen
|
||||
- Testing en bug fixes
|
||||
- Voorbereiding voor presentatie
|
||||
- Code review voorbereiden
|
||||
- Regelmatig vragen stellen
|
||||
|
||||
**Lesopdracht:**
|
||||
1. Alle features afmaken van je eindproject
|
||||
1. Core features van eindproject afmaken
|
||||
2. Testing: user flows doorlopen
|
||||
3. Bug fixes en edge cases
|
||||
4. Code cleanup en refactoring
|
||||
5. Deploy naar Vercel
|
||||
4. Code cleanup
|
||||
5. Checkpoint: is het werkend?
|
||||
|
||||
**Huiswerk:** Laatste fixes, presentatie voorbereiden, documentatie finaliseren, demo video opnemen (optioneel).
|
||||
**Huiswerk:** Voortgang bijhouden, notities maken voor volgende werkdag, extra features plannen.
|
||||
|
||||
[→ Ga naar Les 17](Samenvattingen/Les17-Samenvatting.md)
|
||||
[→ Ga naar Les 15 Samenvatting](Samenvattingen/Les15-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
### Les 16: Eindproject Werkdag 2
|
||||
|
||||
**Tools:** Cursor, Vercel, Supabase, alle vorige tools
|
||||
|
||||
**Focus:** Features afmaken, testing, bug fixes
|
||||
|
||||
**Docent vertelt:**
|
||||
- Recap vorige werkdag
|
||||
- Extra features planning
|
||||
- Performance optimization
|
||||
- Deployment preparation
|
||||
|
||||
**Studenten doen:**
|
||||
- **Volle dag werken aan eindproject**
|
||||
- Docent beschikbaar voor hulp
|
||||
- Remaining features afmaken
|
||||
- Uitgebreide testing
|
||||
- Korte demo's van voortgang aan de klas
|
||||
- Performance optimization
|
||||
|
||||
**Lesopdracht:**
|
||||
1. Alle geplande features afmaken
|
||||
2. Uitgebreide testing en bug fixes
|
||||
3. Performance audit
|
||||
4. Code review voorbereiding
|
||||
5. Presentatie voorbereiding
|
||||
|
||||
**Huiswerk:** Laatste polishing, documentatie finaliseren, code review met klasgenoot.
|
||||
|
||||
[→ Ga naar Les 16 Samenvatting](Samenvattingen/Les16-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
### Les 17: Eindproject Polish & Code Review
|
||||
|
||||
**Tools:** Cursor, Vercel, GitHub, Supabase
|
||||
|
||||
**Focus:** Code review in paren, UI polish, performance check, presentatie voorbereiding
|
||||
|
||||
**Docent vertelt:**
|
||||
- Code review best practices
|
||||
- Performance optimization details
|
||||
- Presentation tips
|
||||
- Deployment final checks
|
||||
|
||||
**Studenten doen:**
|
||||
- Code review in paren (peer feedback)
|
||||
- UI polish en refinement
|
||||
- Performance optimization (Lighthouse audit)
|
||||
- Accessibility audit
|
||||
- Presentatie voorbereiding
|
||||
- Final deployment checks
|
||||
|
||||
**Lesopdracht:**
|
||||
1. Zorg dat iemand anders je code review
|
||||
2. Voer feedback uit
|
||||
3. Run Lighthouse en fix issues
|
||||
4. Accessibility check
|
||||
5. Deploy final version
|
||||
|
||||
**Huiswerk:** Presentatie oefenen, demo video opnemen (optioneel), laatste tweaks.
|
||||
|
||||
[→ Ga naar Les 17 Samenvatting](Samenvattingen/Les17-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
@@ -727,7 +724,7 @@ AI-powered features, streaming, finale afronding en deployment.
|
||||
|
||||
**Huiswerk:** N.A. - Course afgerond!
|
||||
|
||||
[→ Ga naar Les 18](Samenvattingen/Les18-Samenvatting.md)
|
||||
[→ Ga naar Les 18 Samenvatting](Samenvattingen/Les18-Samenvatting.md)
|
||||
|
||||
---
|
||||
|
||||
@@ -746,7 +743,9 @@ AI-powered features, streaming, finale afronding en deployment.
|
||||
|
||||
Elke uitgewerkte les bevat:
|
||||
- `Les[xx]-Slide-Overzicht.md` - Slide deck structuur
|
||||
- `Les[xx]-Lesplan.md` - Tijdsindeling en activiteiten
|
||||
- `Les[xx]-Lesplan.md` - Tijdsindeling en activiteiten (nu: ~45 min theorie + 15 min pauze + ~120 min klassikaal bouwen)
|
||||
- `Les[xx]-Docenttekst.md` - Uitgebreide docenthandleiding
|
||||
- `Les[xx]-Bijlage-A-Lesopdracht.md` - Lesopdracht (2 uur)
|
||||
- `Les[xx]-Bijlage-B-Huiswerkopdracht.md` - Huiswerkopdracht (2 uur)
|
||||
- `Les[xx]-Bijlage-A-Lesopdracht.md` - Lesopdracht (klassikaal en huiswerk)
|
||||
- `Les[xx]-Bijlage-B-Huiswerkopdracht.md` - Huiswerkopdracht
|
||||
|
||||
**Lesformat verandering (v2):** Meer klassikaal bouwen, minder solo werk. Docent codeert voor, studenten volgen mee met regelmatige "nu jullie" momenten. Betere interactie en sparring.
|
||||
|
||||
Reference in New Issue
Block a user