832 lines
22 KiB
Markdown
832 lines
22 KiB
Markdown
# Les 1: Introductie tot AI en Large Language Models
|
|
|
|
## Slide Overzicht (3 uur les) - V2
|
|
|
|
**V2 Verbeteringen:**
|
|
- Account setup met checkpoints (slides 6-8)
|
|
- Deployment demo samen met class (slide 34)
|
|
- Troubleshooting notities toegevoegd
|
|
|
|
**Spreektijd docent:** ~55 minuten
|
|
**Account setup (samen):** ~10 minuten
|
|
**Demo v0.dev + deployment:** ~20 minuten
|
|
**Hands-on opdracht:** ~50 minuten
|
|
**Afsluiting + buffer:** ~25 minuten
|
|
|
|
---
|
|
|
|
## BLOK 1: WELKOM & INTRODUCTIE (13 minuten)
|
|
|
|
### Slide 1: Titelslide
|
|
*(30 seconden)*
|
|
|
|
**Titel:** Introductie tot AI en Large Language Models
|
|
**Subtitel:** AI Development - Les 1
|
|
**Docent:** Tim Rijkse
|
|
**Datum:** [Datum invullen]
|
|
|
|
---
|
|
|
|
### Slide 2: Planning
|
|
*(1,5 minuut)*
|
|
|
|
**Titel:** Wat gaan we vandaag doen?
|
|
|
|
**Inhoud:**
|
|
|
|
| Tijd | Onderwerp |
|
|
|------|-----------|
|
|
| 09:00 - 09:15 | Welkom & voorstelrondje |
|
|
| 09:15 - 09:40 | Wat is AI? LLMs, hallucinaties, tools |
|
|
| 09:40 - 10:00 | ChatGPT in de praktijk |
|
|
| 10:00 - 10:15 | Prompt Engineering |
|
|
| 10:15 - 10:35 | Live demo: Van schets naar website |
|
|
| 10:35 - 11:30 | Jullie aan de slag! |
|
|
| 11:30 - 12:00 | Resultaten delen & huiswerk |
|
|
|
|
**Einddoel:** Van een tekening op papier naar een live website!
|
|
|
|
---
|
|
|
|
### Slide 3: Voorstellen docent
|
|
*(1,5 minuut)*
|
|
|
|
**Titel:** Even voorstellen
|
|
|
|
**Inhoud:**
|
|
- Naam: Tim Rijkse
|
|
- Developer + AI docent bij NOVI
|
|
- Dagelijks bezig met AI-assisted development
|
|
- Bereikbaar via Teams
|
|
|
|
---
|
|
|
|
### Slide 4: Kennismaking
|
|
*(5 minuten - studenten aan het woord)*
|
|
|
|
**Titel:** Wie zijn jullie?
|
|
|
|
**Inhoud:**
|
|
- Naam
|
|
- Achtergrond (werk/studie)
|
|
- Heb je al eens ChatGPT of andere AI-tools gebruikt?
|
|
- Zo ja, waarvoor?
|
|
|
|
---
|
|
|
|
### Slide 5: De Leerlijn AI Developer
|
|
*(2 minuten)*
|
|
|
|
**Titel:** 18 weken, 4 delen
|
|
|
|
**Inhoud:**
|
|
|
|
| Deel | Lessen | Focus |
|
|
|------|--------|-------|
|
|
| 1: AI Foundations | 1-4 | AI basics, tools, ethics, prompting |
|
|
| 2: Technical Foundations | 5-9 | TypeScript, Next.js, databases, Supabase |
|
|
| 3: AI Tooling & Prototyping | 10-12 | Tool selectie, prototyping, Cursor |
|
|
| 4: Advanced AI Features | 13-18 | Agents, MCP, AI SDK, deployment |
|
|
|
|
**Eindresultaat:** Complete full-stack applicatie met AI
|
|
|
|
---
|
|
|
|
### Slide 6: Accounts Check - ChatGPT
|
|
*(3 minuten)*
|
|
|
|
**Titel:** Stap 1: ChatGPT Account
|
|
|
|
**Inhoud:**
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────┐
|
|
│ STAP 1: CHATGPT ACCOUNT │
|
|
│ ───────────────────────────────────────────────── │
|
|
│ 1. Ga naar chat.openai.com │
|
|
│ 2. Klik "Sign up" │
|
|
│ 3. Kies: Email of Google/Apple login │
|
|
│ 4. Bevestig je email │
|
|
│ ───────────────────────────────────────────────── │
|
|
│ ✅ CHECKPOINT: Je ziet het ChatGPT chatvenster │
|
|
│ Steek je hand op als je dit hebt! │
|
|
└─────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
**⚠️ WACHT** - We gaan pas door als iedereen klaar is!
|
|
|
|
---
|
|
|
|
### Slide 7: Accounts Check - GitHub
|
|
*(3 minuten)*
|
|
|
|
**Titel:** Stap 2: GitHub Account
|
|
|
|
**Inhoud:**
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────┐
|
|
│ STAP 2: GITHUB ACCOUNT │
|
|
│ ───────────────────────────────────────────────── │
|
|
│ 1. Ga naar github.com │
|
|
│ 2. Klik "Sign up" │
|
|
│ 3. Kies username (dit wordt je URL!) │
|
|
│ 4. Bevestig je email │
|
|
│ ───────────────────────────────────────────────── │
|
|
│ ✅ CHECKPOINT: Je ziet je GitHub dashboard │
|
|
│ Steek je hand op als je dit hebt! │
|
|
└─────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
**⚠️ WACHT** - We gaan pas door als iedereen klaar is!
|
|
|
|
---
|
|
|
|
### Slide 8: Accounts Check - Vercel
|
|
*(4 minuten)*
|
|
|
|
**Titel:** Stap 3: Vercel Account (koppel met GitHub!)
|
|
|
|
**Inhoud:**
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────┐
|
|
│ STAP 3: VERCEL ACCOUNT │
|
|
│ ───────────────────────────────────────────────── │
|
|
│ 1. Ga naar vercel.com │
|
|
│ 2. Klik "Sign Up" │
|
|
│ 3. BELANGRIJK: Kies "Continue with GitHub" │
|
|
│ (niet email!) │
|
|
│ 4. Geef Vercel toegang tot je GitHub │
|
|
│ ───────────────────────────────────────────────── │
|
|
│ ✅ CHECKPOINT: Je ziet Vercel dashboard │
|
|
│ EN je GitHub username staat rechtsboven │
|
|
│ Steek je hand op als je dit hebt! │
|
|
└─────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
**⚠️ Veel voorkomende fout:** Eerst deployen, dan pas GitHub koppelen. Doe het NU!
|
|
|
|
---
|
|
|
|
## BLOK 2: WAT IS AI? (15 minuten)
|
|
|
|
### Slide 9: Wat is Artificial Intelligence?
|
|
*(3 minuten)*
|
|
|
|
**Titel:** AI - Meer dan een buzzword
|
|
|
|
**Inhoud:**
|
|
|
|
**Definitie:** Computersystemen die taken uitvoeren die normaal menselijke intelligentie vereisen
|
|
|
|
**Typen AI:**
|
|
- **Narrow AI** (wat we nu hebben): specifieke taken
|
|
- **General AI** (toekomst): breed menselijk denken
|
|
|
|
**Voorbeelden:**
|
|
- Aanbevelingen (Netflix, Spotify)
|
|
- Spraakassistenten (Siri, Alexa)
|
|
- Code generatie (ChatGPT, Copilot)
|
|
|
|
---
|
|
|
|
### Slide 10: Hoe werken Large Language Models?
|
|
*(4 minuten)*
|
|
|
|
**Titel:** De magie achter ChatGPT
|
|
|
|
**Inhoud:**
|
|
|
|
1. **Training:** Model leest miljarden teksten
|
|
2. **Patroonherkenning:** Leert statistische verbanden
|
|
3. **Voorspelling:** Voorspelt het volgende woord
|
|
4. **Output:** Genereert tekst token voor token
|
|
|
|
**Belangrijk inzicht:**
|
|
- LLMs "begrijpen" niet echt - ze voorspellen
|
|
- Geen bewustzijn, geen intentie
|
|
- Geavanceerde patroonherkenning op enorme schaal
|
|
|
|
---
|
|
|
|
### Slide 11: Tokens & Next-Token Prediction
|
|
*(4 minuten)*
|
|
|
|
**Titel:** Hoe "denkt" een LLM?
|
|
|
|
**Inhoud:**
|
|
|
|
**Stap 1: Tekst → Tokens (nummers)**
|
|
```
|
|
"Ik drink koffie" → [1847, 5621, 8934]
|
|
```
|
|
Elk woord (of woorddeel) krijgt een nummer.
|
|
|
|
**Stap 2: Betekenis in getallen**
|
|
Woorden met vergelijkbare betekenis liggen dicht bij elkaar:
|
|
- "koffie" en "thee" → dichtbij
|
|
- "staal" en "metaal" → dichtbij
|
|
- "koffie" en "fiets" → ver uit elkaar
|
|
|
|
**Stap 3: Voorspel het volgende token**
|
|
```
|
|
"Ik drink koffie met ___"
|
|
```
|
|
Het model berekent kansen:
|
|
- "melk" → 45%
|
|
- "suiker" → 30%
|
|
- "een" → 15%
|
|
|
|
→ Kiest waarschijnlijk "melk" (maar niet altijd!)
|
|
|
|
**Dit verklaart:**
|
|
- Waarom het soms briljant is (patronen herkend)
|
|
- Waarom het soms onzin produceert (verkeerde voorspelling)
|
|
- Waarom dezelfde vraag verschillende antwoorden geeft (kans, niet zekerheid)
|
|
|
|
---
|
|
|
|
### Slide 12: Hallucinaties
|
|
*(5 minuten)*
|
|
|
|
**Titel:** Waarom AI soms "liegt"
|
|
|
|
**Inhoud:**
|
|
|
|
**Wat zijn hallucinaties?**
|
|
- AI verzint informatie die niet bestaat
|
|
- Klinkt heel overtuigend
|
|
- Grammaticaal perfect, maar feitelijk onjuist
|
|
|
|
**Voorbeelden:**
|
|
- Fake wetenschappelijke papers met echte-klinkende titels
|
|
- Niet-bestaande npm packages met installatie-instructies
|
|
- Verzonnen restaurants met adressen
|
|
|
|
**Waarom gebeurt dit?**
|
|
Het model voorspelt wat LIJKT op correcte output, niet wat WAAR is.
|
|
|
|
**Regel:** Verifieer altijd! Vertrouw, maar check.
|
|
|
|
---
|
|
|
|
## BLOK 3: HET AI-LANDSCHAP (10 minuten)
|
|
|
|
### Slide 13: De Grote Spelers
|
|
*(3 minuten)*
|
|
|
|
**Titel:** Welke AI tools zijn er?
|
|
|
|
**Inhoud:**
|
|
|
|
| Tool | Bedrijf | Sterk in |
|
|
|------|---------|----------|
|
|
| **ChatGPT** | OpenAI | Algemeen, code, creatief |
|
|
| **Claude** | Anthropic | Lange teksten, nuance |
|
|
| **Gemini** | Google | Google integratie |
|
|
| **Grok** | xAI | Actueel nieuws (X/Twitter) |
|
|
|
|
**Vandaag:** Focus op ChatGPT - meest toegankelijk.
|
|
|
|
---
|
|
|
|
### Slide 14: Gratis AI Opties
|
|
*(4 minuten)*
|
|
|
|
**Titel:** Gratis modellen - meer dan genoeg!
|
|
|
|
**Inhoud:**
|
|
|
|
| Provider | Model | Sterk in | Privacy |
|
|
|----------|-------|----------|---------|
|
|
| **ChatGPT Free** | GPT-5 | Algemeen, code, images | Cloud |
|
|
| **Claude Free** | Sonnet 3.5 | Lange teksten, nuance | Cloud |
|
|
| **Gemini Free** | Gemini Pro | Google integratie | Cloud |
|
|
| **Groq** | Llama 3.3 | Supersnel, gratis API | Cloud |
|
|
| **Ollama** | Diverse (lokaal) | Privacy, offline | **Lokaal** |
|
|
|
|
**Conclusie:** Voor deze cursus is gratis ruim voldoende!
|
|
|
|
**Privacy tip:** Ollama draait lokaal → data verlaat je computer niet.
|
|
|
|
---
|
|
|
|
### Slide 15: Betaalde & Premium Modellen
|
|
*(3 minuten)*
|
|
|
|
**Titel:** Wanneer upgraden?
|
|
|
|
**Inhoud:**
|
|
|
|
**Betaald (~$20/maand):**
|
|
|
|
| Provider | Voordelen |
|
|
|----------|-----------|
|
|
| ChatGPT Plus | Meer berichten, sneller, GPT-5.2, DALL-E |
|
|
| Claude Pro | Meer berichten, prioriteit, langere context |
|
|
|
|
**Premium Tier:**
|
|
|
|
| Model | Kosten | Wanneer? |
|
|
|-------|--------|----------|
|
|
| **Claude Opus** | ~$75/maand API | Beste redenering, complexe taken |
|
|
| GPT-5.2 Turbo | Via Plus | Lange context, nieuwste features |
|
|
|
|
**Advies:** Start gratis. Upgrade alleen als je tegen limieten aanloopt.
|
|
|
|
---
|
|
|
|
### Slide 16: Welke tool voor welke taak?
|
|
*(4 minuten)*
|
|
|
|
**Titel:** Snelle vergelijking
|
|
|
|
**Inhoud:**
|
|
|
|
| Taak | Beste keuze |
|
|
|------|-------------|
|
|
| Snelle code snippets | ChatGPT of Claude |
|
|
| Lange documenten | Claude (200K context) |
|
|
| Actueel nieuws | Grok of Perplexity |
|
|
| UI componenten | v0.dev (straks!) |
|
|
| Privacy-gevoelig | Ollama (lokaal) |
|
|
| Supersnel prototypen | Groq API |
|
|
|
|
**Tip:** Professionele developers gebruiken meerdere tools!
|
|
|
|
---
|
|
|
|
## BLOK 4: CHATGPT IN DE PRAKTIJK (22 minuten)
|
|
|
|
### Slide 17: ChatGPT Interface
|
|
*(3 minuten)*
|
|
|
|
**Titel:** Laten we ChatGPT openen
|
|
|
|
**Inhoud:**
|
|
|
|
*[Live demonstratie - open chat.openai.com]*
|
|
|
|
**Wat je ziet:**
|
|
- Chatvenster (midden)
|
|
- Chat geschiedenis (links)
|
|
- Model kiezen (bovenaan)
|
|
- Instellingen (rechtsonder)
|
|
|
|
**Actie:** Open nu ChatGPT op je laptop!
|
|
|
|
---
|
|
|
|
### Slide 18: Model Kiezen
|
|
*(2 minuten)*
|
|
|
|
**Titel:** Welk model gebruik je?
|
|
|
|
**Inhoud:**
|
|
|
|
**In ChatGPT kun je kiezen:**
|
|
- **GPT-5** - Standaard, snel, gratis
|
|
- **GPT-5 with canvas** - Voor documenten bewerken
|
|
- **GPT-5.2** - Nieuwste en krachtigste (betaald)
|
|
|
|
**Tip:** GPT-5 is voor de meeste taken prima!
|
|
|
|
---
|
|
|
|
### Slide 19: Tijdelijke Chat
|
|
*(2 minuten)*
|
|
|
|
**Titel:** Privacy: Tijdelijke Chat
|
|
|
|
**Inhoud:**
|
|
|
|
**Wat is tijdelijke chat?**
|
|
- Chat wordt NIET opgeslagen
|
|
- Wordt NIET gebruikt om model te trainen
|
|
|
|
**Wanneer gebruiken?**
|
|
- Gevoelige informatie
|
|
- Werk-gerelateerde data
|
|
- Client gegevens
|
|
|
|
---
|
|
|
|
### Slide 20: Afbeeldingen Analyseren
|
|
*(5 minuten)*
|
|
|
|
**Titel:** Image-to-Text - Cruciaal voor onze workflow!
|
|
|
|
**Inhoud:**
|
|
|
|
**Wat kun je doen?**
|
|
- Foto uploaden en vragen stellen
|
|
- Screenshot laten analyseren
|
|
- **Schets laten interpreteren** ← Dit gebruiken we straks!
|
|
|
|
**Hoe werkt het?**
|
|
- Klik op 📎 (paperclip)
|
|
- Upload afbeelding
|
|
- Stel je vraag
|
|
|
|
*[Live demonstratie met een schets]*
|
|
|
|
---
|
|
|
|
### Slide 21: Bestanden Uploaden
|
|
*(2 minuten)*
|
|
|
|
**Titel:** PDF's en documenten
|
|
|
|
**Inhoud:**
|
|
|
|
**ChatGPT kan:**
|
|
- PDF's lezen en samenvatten
|
|
- Word documenten analyseren
|
|
- Code bestanden reviewen
|
|
- Spreadsheets interpreteren
|
|
|
|
**Limiet:** ~50 pagina's per document
|
|
|
|
---
|
|
|
|
### Slide 22: Custom Instructions
|
|
*(3 minuten)*
|
|
|
|
**Titel:** ChatGPT Personaliseren
|
|
|
|
**Inhoud:**
|
|
|
|
**Wat zijn Custom Instructions?**
|
|
- Permanente instructies die ChatGPT onthoudt
|
|
- Zit in Instellingen → Personalisatie
|
|
|
|
**Handige voorbeelden:**
|
|
- "Ik ben een frontend developer, gebruik React en Tailwind"
|
|
- "Antwoord in het Nederlands tenzij ik Engels vraag"
|
|
- "Geef code voorbeelden met TypeScript"
|
|
|
|
---
|
|
|
|
### Slide 23: ChatGPT Projects
|
|
*(3 minuten)*
|
|
|
|
**Titel:** Alles op één plek: Projects
|
|
|
|
**Inhoud:**
|
|
|
|
**Wat zijn Projects?**
|
|
- Slimme werkruimtes voor langlopende taken
|
|
- Eigen instructies per project
|
|
- Bestanden uploaden (PDF, Word, afbeeldingen)
|
|
- Project-specifiek geheugen
|
|
|
|
**Waarom handig?**
|
|
- Context blijft behouden tussen chats
|
|
- Geen herhaling van instructies nodig
|
|
- Perfect voor: cursussen, klanten, projecten
|
|
|
|
**Gratis tier:** 5 bestanden per project
|
|
**Betaald:** 25-40 bestanden per project
|
|
|
|
---
|
|
|
|
### Slide 24: Praktijk Oefening
|
|
*(5 minuten - studenten werken)*
|
|
|
|
**Titel:** Stel je ChatGPT in!
|
|
|
|
**Inhoud:**
|
|
|
|
**Opdracht (5 minuten):**
|
|
|
|
1. **Custom Instructions instellen:**
|
|
- Ga naar Instellingen → Personalisatie
|
|
- Vul in: "Ik ben een frontend developer. Ik werk met React en Tailwind CSS."
|
|
|
|
2. **Maak je eerste Project:**
|
|
- Klik op "New Project" (linkerzijbalk)
|
|
- Naam: "Les 1 - v0.dev Prompt Engineer"
|
|
- Instructie: "Help me gedetailleerde prompts schrijven voor v0.dev. Focus op React + Tailwind CSS componenten."
|
|
|
|
**Dit project gebruiken we straks voor de v0.dev demo!**
|
|
|
|
---
|
|
|
|
## BLOK 5: PROMPT ENGINEERING (12 minuten)
|
|
|
|
### Slide 25: Wat is Prompt Engineering?
|
|
*(2 minuten)*
|
|
|
|
**Titel:** De kunst van het vragen stellen
|
|
|
|
**Inhoud:**
|
|
|
|
**Een prompt is:** De instructie die je aan AI geeft
|
|
|
|
**Waarom belangrijk?**
|
|
- Goede prompt = bruikbaar resultaat
|
|
- Slechte prompt = frustratie
|
|
|
|
**Garbage in = garbage out!**
|
|
|
|
---
|
|
|
|
### Slide 26: Slechte vs Goede Prompt
|
|
*(3 minuten)*
|
|
|
|
**Titel:** Het verschil zien
|
|
|
|
**Slechte prompt:**
|
|
> "Maak een button"
|
|
|
|
**Goede prompt:**
|
|
> "Maak een React button component met Tailwind CSS. Primary styling met blauwe achtergrond (#2563EB). Include hover state en loading state met spinner."
|
|
|
|
**Waarom beter?**
|
|
- Specificeert technologie
|
|
- Beschrijft features
|
|
- Geeft visuele details
|
|
|
|
---
|
|
|
|
### Slide 27: Prompt Framework
|
|
*(2 minuten)*
|
|
|
|
**Titel:** 4 elementen van een goede prompt
|
|
|
|
**Inhoud:**
|
|
|
|
1. **Rol:** "Je bent een senior frontend developer..."
|
|
2. **Context:** "...die werkt aan een SaaS landingspagina..."
|
|
3. **Taak:** "...maak een hero section met..."
|
|
4. **Format:** "...gebruik React en Tailwind"
|
|
|
|
---
|
|
|
|
### Slide 28: Tech Stack Specificeren
|
|
*(2 minuten)*
|
|
|
|
**Titel:** Vertel de AI welke technologie
|
|
|
|
**Inhoud:**
|
|
|
|
**Voor deze cursus:**
|
|
- **React** - JavaScript framework voor UI
|
|
- **Tailwind CSS** - Utility-first CSS
|
|
- **Next.js** - React framework
|
|
|
|
**In je prompt:**
|
|
> "Gebruik React met Tailwind CSS"
|
|
|
|
**Tip:** v0.dev genereert automatisch React + Tailwind!
|
|
|
|
---
|
|
|
|
### Slide 29: Kleuren en Look & Feel
|
|
*(2 minuten)*
|
|
|
|
**Titel:** Visuele specificaties
|
|
|
|
**Inhoud:**
|
|
|
|
**Wat specificeren?**
|
|
- **Kleuren:** "#2563EB" of "blauw thema"
|
|
- **Stijl:** "Modern, minimalistisch"
|
|
- **Referenties:** "In de stijl van Stripe.com"
|
|
|
|
**Voorbeeld:**
|
|
> "Blauw kleurenschema met primary #2563EB. Modern en minimalistisch. B2B SaaS stijl."
|
|
|
|
---
|
|
|
|
### Slide 30: Prompting Tips
|
|
*(1 minuut)*
|
|
|
|
**Titel:** Samenvatting
|
|
|
|
**Inhoud:**
|
|
|
|
1. Geef een rol
|
|
2. Wees specifiek
|
|
3. Specificeer tech stack
|
|
4. Beschrijf look & feel
|
|
5. Itereer - eerste poging is zelden perfect
|
|
|
|
---
|
|
|
|
## BLOK 6: LIVE DEMO V0.DEV (25 minuten)
|
|
|
|
### Slide 31: Introductie v0.dev
|
|
*(3 minuten)*
|
|
|
|
**Titel:** Van schets naar website
|
|
|
|
**Inhoud:**
|
|
|
|
**v0.dev door Vercel:**
|
|
- AI-powered UI generator
|
|
- Begrijpt tekst EN afbeeldingen
|
|
- Genereert React + Tailwind code
|
|
- Direct deploybaar
|
|
|
|
**De workflow:**
|
|
Tekening → Foto → ChatGPT → Prompt → v0.dev → Website!
|
|
|
|
---
|
|
|
|
### Slide 32: De Slimme Workflow
|
|
*(3 minuten)*
|
|
|
|
**Titel:** 5 stappen
|
|
|
|
**Inhoud:**
|
|
|
|
```
|
|
1. TEKEN je idee op papier
|
|
↓
|
|
2. Maak een FOTO
|
|
↓
|
|
3. Upload naar CHATGPT + beschrijf wensen
|
|
(tech stack, kleuren, stijl)
|
|
↓
|
|
4. ChatGPT maakt gedetailleerde PROMPT
|
|
↓
|
|
5. Plak in V0.DEV → Website!
|
|
```
|
|
|
|
**Waarom ChatGPT eerst?**
|
|
- v0 heeft beperkte credits (~7/dag)
|
|
- ChatGPT optimaliseert je prompt
|
|
|
|
---
|
|
|
|
### Slide 33: Live Demo - v0.dev
|
|
*(10 minuten)*
|
|
|
|
**Titel:** Van schets naar website - live!
|
|
|
|
**Inhoud:**
|
|
|
|
*[Docent demonstreert de workflow live]*
|
|
|
|
**De stappen:**
|
|
- ✏️ **Tekenen:** Simpele hero section op papier (blokken en lijnen)
|
|
- 📸 **Foto:** Upload naar ChatGPT Project
|
|
- 💬 **Prompt:** "Beschrijf als v0.dev prompt, React + Tailwind, blauw thema"
|
|
- ⚡ **v0.dev:** Prompt plakken → genereren (~30 sec)
|
|
- 🔄 **Itereren:** "Make button larger", "Add gradient"
|
|
|
|
---
|
|
|
|
### Slide 34: Live Demo - Deployment (SAMEN!)
|
|
*(8 minuten)*
|
|
|
|
**Titel:** Samen deployen naar Vercel
|
|
|
|
**Inhoud:**
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────┐
|
|
│ STAP 1: GITHUB KOPPELEN IN V0 │
|
|
│ ───────────────────────────────────────────────── │
|
|
│ 1. Klik rechtsboven op "..." menu │
|
|
│ 2. Klik "Add to codebase" │
|
|
│ 3. Kies "Connect to GitHub" │
|
|
│ 4. Autoriseer v0 voor je GitHub │
|
|
│ ───────────────────────────────────────────────── │
|
|
│ ✅ CHECKPOINT: Je ziet "Create repository" knop │
|
|
└─────────────────────────────────────────────────────┘
|
|
|
|
┌─────────────────────────────────────────────────────┐
|
|
│ STAP 2: REPOSITORY AANMAKEN │
|
|
│ ───────────────────────────────────────────────── │
|
|
│ 1. Kies een naam (bijv. "mijn-landingspagina") │
|
|
│ 2. Klik "Create repository" │
|
|
│ 3. Wacht tot code gepusht is (~10 sec) │
|
|
│ ───────────────────────────────────────────────── │
|
|
│ ✅ CHECKPOINT: Je ziet "Deploy" knop │
|
|
└─────────────────────────────────────────────────────┘
|
|
|
|
┌─────────────────────────────────────────────────────┐
|
|
│ STAP 3: DEPLOYEN NAAR VERCEL │
|
|
│ ───────────────────────────────────────────────── │
|
|
│ 1. Klik "Deploy" │
|
|
│ 2. Vercel opent → Klik "Import" │
|
|
│ 3. Wacht op build (~1 minuut) │
|
|
│ 4. Kopieer je URL: jouw-project.vercel.app │
|
|
│ ───────────────────────────────────────────────── │
|
|
│ ✅ CHECKPOINT: Je website is live! │
|
|
│ Open de URL in een nieuw tabblad │
|
|
└─────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
**⚠️ TROUBLESHOOTING:**
|
|
- "GitHub niet gekoppeld" → Ga naar Vercel settings, koppel GitHub
|
|
- "Repository exists" → Kies andere naam
|
|
- "Build failed" → Vraag docent om hulp
|
|
|
|
---
|
|
|
|
## BLOK 7: HANDS-ON OPDRACHT (50 minuten)
|
|
|
|
### Slide 35: Aan de slag!
|
|
*(50 minuten - 5 min uitleg + 45 min werken)*
|
|
|
|
**Titel:** Bouw een complete landingspagina!
|
|
|
|
**Inhoud:**
|
|
|
|
**Vereisten:**
|
|
- Minimaal **3 secties** (hero, features, pricing, testimonials, footer...)
|
|
- Minimaal **1 carousel** + **1 accordion**
|
|
- Vrije keuze in onderwerp/product
|
|
|
|
**Stappen:** Teken → Foto → ChatGPT Project → v0.dev → Deploy (zelf!)
|
|
|
|
**Checklist:**
|
|
- [ ] 3+ secties getekend
|
|
- [ ] Carousel & accordion gepland
|
|
- [ ] Tech stack + kleuren gespecificeerd
|
|
- [ ] Gedeployed naar Vercel
|
|
|
|
**Tip:** Begin simpel, itereer! **Hulp nodig?** Steek je hand op!
|
|
|
|
---
|
|
|
|
## BLOK 8: AFSLUITING (30 minuten)
|
|
|
|
### Slide 36: Resultaten Delen
|
|
*(8 minuten)*
|
|
|
|
**Titel:** Wie wil laten zien?
|
|
|
|
**Inhoud:**
|
|
|
|
- Laat je schets zien
|
|
- Toon het v0 resultaat
|
|
- Wat ging goed? Wat was lastig?
|
|
|
|
---
|
|
|
|
### Slide 37: Samenvatting
|
|
*(4 minuten)*
|
|
|
|
**Titel:** Wat hebben we geleerd?
|
|
|
|
**Inhoud:**
|
|
|
|
✅ Hoe LLMs werken (next-token prediction)
|
|
✅ AI-landschap: ChatGPT, Claude, Gemini
|
|
✅ ChatGPT praktisch gebruiken
|
|
✅ Prompt engineering: tech stack, kleuren, stijl
|
|
✅ **De workflow: Schets → ChatGPT → v0.dev → Website!**
|
|
|
|
---
|
|
|
|
### Slide 38: Huiswerk
|
|
*(5 minuten)*
|
|
|
|
**Titel:** Voor volgende week
|
|
|
|
**Inhoud:**
|
|
|
|
**1. Reflectie (500 woorden)**
|
|
- Wat vond je verrassend aan werken met AI?
|
|
- Wat ging goed? Wat vond je lastig?
|
|
- Hoe zie je AI jouw werk als developer veranderen?
|
|
|
|
**2. Breid je v0 website uit**
|
|
- Voeg minimaal 1 nieuwe sectie toe (pricing, features, contact, footer...)
|
|
- Gebruik weer de workflow: teken → ChatGPT → v0
|
|
- Lever screenshots + Vercel URL in
|
|
|
|
**Inleveren:** Via Teams, voor volgende les
|
|
|
|
**Vragen?** Tot volgende week! 🚀
|
|
|
|
---
|
|
|
|
## Timing Samenvatting (V2)
|
|
|
|
| Blok | Onderwerp | Duur | Slides |
|
|
|------|-----------|------|--------|
|
|
| 1 | Welkom & Introductie + **Account Setup** | 18 min | 1-8 |
|
|
| 2 | Wat is AI? | 15 min | 9-12 |
|
|
| 3 | AI Landscape | 10 min | 13-16 |
|
|
| 4 | ChatGPT Praktijk | 22 min | 17-24 |
|
|
| 5 | Prompt Engineering | 12 min | 25-30 |
|
|
| 6 | Demo v0.dev + **Deployment (samen!)** | 20 min | 31-34 |
|
|
| 7 | Hands-on Opdracht | 50 min | 35 |
|
|
| 8 | Afsluiting | 30 min | 36-38 |
|
|
|
|
**V2 Veranderingen:**
|
|
- Account setup met checkpoints (+5 min in Blok 1)
|
|
- Deployment demo samen met class (niet "zelf uitzoeken")
|
|
|
|
**Spreektijd (Blok 1-5):** ~60 minuten
|
|
**Demo (Blok 6):** ~20 minuten
|
|
**Hands-on + Afsluiting:** ~80 minuten
|
|
**Totaal:** 180 minuten (3 uur)
|
|
**Totaal slides:** 38
|