fix: line break
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
# Les 1: Introductie tot AI en Large Language Models
|
# Les 1: Introductie tot AI en Large Language Models
|
||||||
|
|
||||||
## Slide Overzicht (3 uur les)
|
## Slide Overzicht (3 uur les)
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -6,6 +7,7 @@
|
|||||||
## DEEL 1: WELKOM & INTRODUCTIE (13 minuten)
|
## DEEL 1: WELKOM & INTRODUCTIE (13 minuten)
|
||||||
|
|
||||||
### Slide 1: Titelslide
|
### Slide 1: Titelslide
|
||||||
|
|
||||||
**Titel:** Introductie tot AI en Large Language Models
|
**Titel:** Introductie tot AI en Large Language Models
|
||||||
**Subtitel:** AI Development - Les 1
|
**Subtitel:** AI Development - Les 1
|
||||||
**Docent:** Tim Rijkse
|
**Docent:** Tim Rijkse
|
||||||
@@ -14,6 +16,7 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 2: Planning
|
### Slide 2: Planning
|
||||||
|
|
||||||
**Titel:** Planning
|
**Titel:** Planning
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
@@ -23,16 +26,16 @@
|
|||||||
→ AI Landscape: de grote spelers
|
→ AI Landscape: de grote spelers
|
||||||
|
|
||||||
**14:50 - 15:15**
|
**14:50 - 15:15**
|
||||||
→ *Praktijk:* ChatGPT leren gebruiken
|
→ _Praktijk:_ ChatGPT leren gebruiken
|
||||||
|
|
||||||
**15:15 - 15:30**
|
**15:15 - 15:30**
|
||||||
→ Prompt Engineering basics
|
→ Prompt Engineering basics
|
||||||
|
|
||||||
**15:30 - 16:00**
|
**15:30 - 16:00**
|
||||||
→ *Demo:* Van schets naar website met v0.dev
|
→ _Demo:_ Van schets naar website met v0.dev
|
||||||
|
|
||||||
**16:00 - 16:50**
|
**16:00 - 16:50**
|
||||||
→ *Lesopdracht:* Jouw tekening wordt een website
|
→ _Lesopdracht:_ Jouw tekening wordt een website
|
||||||
|
|
||||||
**16:50 - 17:00**
|
**16:50 - 17:00**
|
||||||
→ Afsluiting & Huiswerk
|
→ Afsluiting & Huiswerk
|
||||||
@@ -40,9 +43,11 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 3: Lesoverzicht
|
### Slide 3: Lesoverzicht
|
||||||
|
|
||||||
**Titel:** Wat gaan we vandaag doen?
|
**Titel:** Wat gaan we vandaag doen?
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
|
|
||||||
- Kennismaking met elkaar en de leerlijn
|
- Kennismaking met elkaar en de leerlijn
|
||||||
- Wat is AI en hoe werken LLMs?
|
- Wat is AI en hoe werken LLMs?
|
||||||
- Het AI-landschap: ChatGPT, Claude, Gemini
|
- Het AI-landschap: ChatGPT, Claude, Gemini
|
||||||
@@ -56,9 +61,11 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 4: Kennismaking
|
### Slide 4: Kennismaking
|
||||||
|
|
||||||
**Titel:** Wie zijn jullie?
|
**Titel:** Wie zijn jullie?
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
|
|
||||||
- Naam
|
- Naam
|
||||||
- Achtergrond (werk/studie)
|
- Achtergrond (werk/studie)
|
||||||
- Ervaring met AI tools (ChatGPT, Claude, etc.)
|
- Ervaring met AI tools (ChatGPT, Claude, etc.)
|
||||||
@@ -67,9 +74,11 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 5: De Leerlijn AI Developer
|
### Slide 5: De Leerlijn AI Developer
|
||||||
|
|
||||||
**Titel:** Wat gaan we 18 weken lang doen?
|
**Titel:** Wat gaan we 18 weken lang doen?
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
|
|
||||||
- **Hoofdstuk 1 (Les 1-3):** AI Fundamentals - basis begrip en ethiek
|
- **Hoofdstuk 1 (Les 1-3):** AI Fundamentals - basis begrip en ethiek
|
||||||
- **Hoofdstuk 2 (Les 4-9):** AI Driven Development - tools en workflows
|
- **Hoofdstuk 2 (Les 4-9):** AI Driven Development - tools en workflows
|
||||||
- **Hoofdstuk 3 (Les 10-18):** Full-Stack met AI - productie-klare apps bouwen
|
- **Hoofdstuk 3 (Les 10-18):** Full-Stack met AI - productie-klare apps bouwen
|
||||||
@@ -81,9 +90,11 @@
|
|||||||
## DEEL 2: WAT IS AI? (20 minuten)
|
## DEEL 2: WAT IS AI? (20 minuten)
|
||||||
|
|
||||||
### Slide 6: Wat is Artificial Intelligence?
|
### Slide 6: Wat is Artificial Intelligence?
|
||||||
|
|
||||||
**Titel:** AI - Meer dan een buzzword
|
**Titel:** AI - Meer dan een buzzword
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
|
|
||||||
- **Definitie:** Computersystemen die taken uitvoeren die normaal menselijke intelligentie vereisen
|
- **Definitie:** Computersystemen die taken uitvoeren die normaal menselijke intelligentie vereisen
|
||||||
- **Typen AI:**
|
- **Typen AI:**
|
||||||
- Narrow AI (wat we nu hebben): specifieke taken
|
- Narrow AI (wat we nu hebben): specifieke taken
|
||||||
@@ -96,15 +107,18 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 7: Hoe werken Large Language Models?
|
### Slide 7: Hoe werken Large Language Models?
|
||||||
|
|
||||||
**Titel:** De magie achter ChatGPT en Claude
|
**Titel:** De magie achter ChatGPT en Claude
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
|
|
||||||
1. **Training:** Model leest miljarden teksten (boeken, websites, code)
|
1. **Training:** Model leest miljarden teksten (boeken, websites, code)
|
||||||
2. **Patroonherkenning:** Leert statistische verbanden tussen woorden
|
2. **Patroonherkenning:** Leert statistische verbanden tussen woorden
|
||||||
3. **Voorspelling:** Voorspelt steeds het volgende woord dat "logisch" volgt
|
3. **Voorspelling:** Voorspelt steeds het volgende woord dat "logisch" volgt
|
||||||
4. **Output:** Genereert tekst token voor token
|
4. **Output:** Genereert tekst token voor token
|
||||||
|
|
||||||
**Belangrijk:**
|
**Belangrijk:**
|
||||||
|
|
||||||
- LLMs "begrijpen" niet echt - ze voorspellen
|
- LLMs "begrijpen" niet echt - ze voorspellen
|
||||||
- Ze kunnen overtuigend klinken maar fout zijn ("hallucinaties")
|
- Ze kunnen overtuigend klinken maar fout zijn ("hallucinaties")
|
||||||
- Altijd output checken!
|
- Altijd output checken!
|
||||||
@@ -112,12 +126,14 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 8: Next-Token Prediction
|
### Slide 8: Next-Token Prediction
|
||||||
|
|
||||||
**Titel:** Hoe "denkt" een LLM?
|
**Titel:** Hoe "denkt" een LLM?
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
**Voorbeeld:** "De kat zat op de ___"
|
**Voorbeeld:** "De kat zat op de \_\_\_"
|
||||||
|
|
||||||
Het model berekent kansen:
|
Het model berekent kansen:
|
||||||
|
|
||||||
- "mat" → 65%
|
- "mat" → 65%
|
||||||
- "stoel" → 15%
|
- "stoel" → 15%
|
||||||
- "bank" → 10%
|
- "bank" → 10%
|
||||||
@@ -126,6 +142,7 @@ Het model berekent kansen:
|
|||||||
→ Kiest waarschijnlijk "mat" (maar niet altijd!)
|
→ Kiest waarschijnlijk "mat" (maar niet altijd!)
|
||||||
|
|
||||||
**Dit verklaart:**
|
**Dit verklaart:**
|
||||||
|
|
||||||
- Waarom het soms briljant is
|
- Waarom het soms briljant is
|
||||||
- Waarom het soms onzin produceert
|
- Waarom het soms onzin produceert
|
||||||
- Waarom dezelfde vraag verschillende antwoorden geeft
|
- Waarom dezelfde vraag verschillende antwoorden geeft
|
||||||
@@ -133,15 +150,18 @@ Het model berekent kansen:
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 9: Hallucinaties
|
### Slide 9: Hallucinaties
|
||||||
|
|
||||||
**Titel:** Waarom AI soms "liegt"
|
**Titel:** Waarom AI soms "liegt"
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
**Wat zijn hallucinaties?**
|
**Wat zijn hallucinaties?**
|
||||||
|
|
||||||
- AI verzint informatie die niet bestaat
|
- AI verzint informatie die niet bestaat
|
||||||
- Klinkt heel overtuigend
|
- Klinkt heel overtuigend
|
||||||
- Bronnen, namen, feiten kunnen compleet verzonnen zijn
|
- Bronnen, namen, feiten kunnen compleet verzonnen zijn
|
||||||
|
|
||||||
**Voorbeelden:**
|
**Voorbeelden:**
|
||||||
|
|
||||||
- Fake wetenschappelijke papers met echte-klinkende titels
|
- Fake wetenschappelijke papers met echte-klinkende titels
|
||||||
- Niet-bestaande wetten of regels
|
- Niet-bestaande wetten of regels
|
||||||
- Verzonnen statistieken
|
- Verzonnen statistieken
|
||||||
@@ -153,6 +173,7 @@ Het model berekent kansen:
|
|||||||
## DEEL 3: HET AI-LANDSCHAP (15 minuten)
|
## DEEL 3: HET AI-LANDSCHAP (15 minuten)
|
||||||
|
|
||||||
### Slide 10: De Grote Spelers
|
### Slide 10: De Grote Spelers
|
||||||
|
|
||||||
**Titel:** Welke AI tools zijn er?
|
**Titel:** Welke AI tools zijn er?
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
@@ -168,6 +189,7 @@ Het model berekent kansen:
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 11: Gratis vs Betaald
|
### Slide 11: Gratis vs Betaald
|
||||||
|
|
||||||
**Titel:** Heb je de betaalde versie nodig?
|
**Titel:** Heb je de betaalde versie nodig?
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
@@ -183,6 +205,7 @@ Het model berekent kansen:
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 12: Welke tool voor welke taak?
|
### Slide 12: Welke tool voor welke taak?
|
||||||
|
|
||||||
**Titel:** Snelle vergelijking
|
**Titel:** Snelle vergelijking
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
@@ -201,12 +224,14 @@ Het model berekent kansen:
|
|||||||
## DEEL 4: CHATGPT IN DE PRAKTIJK (25 minuten)
|
## DEEL 4: CHATGPT IN DE PRAKTIJK (25 minuten)
|
||||||
|
|
||||||
### Slide 13: ChatGPT Interface
|
### Slide 13: ChatGPT Interface
|
||||||
|
|
||||||
**Titel:** Laten we ChatGPT openen
|
**Titel:** Laten we ChatGPT openen
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
*[Live demonstratie - open chat.openai.com]*
|
_[Live demonstratie - open chat.openai.com]_
|
||||||
|
|
||||||
**Wat je ziet:**
|
**Wat je ziet:**
|
||||||
|
|
||||||
- Chatvenster (midden)
|
- Chatvenster (midden)
|
||||||
- Nieuwe chat starten (linksboven)
|
- Nieuwe chat starten (linksboven)
|
||||||
- Chat geschiedenis (links)
|
- Chat geschiedenis (links)
|
||||||
@@ -218,104 +243,121 @@ Het model berekent kansen:
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 14: Model Kiezen
|
### Slide 14: Model Kiezen
|
||||||
|
|
||||||
**Titel:** Welk model gebruik je?
|
**Titel:** Welk model gebruik je?
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
**In ChatGPT kun je kiezen:**
|
**In ChatGPT kun je kiezen:**
|
||||||
|
|
||||||
- **GPT-4o** - Standaard, snel, gratis
|
- **GPT-4o** - Standaard, snel, gratis
|
||||||
- **GPT-4o with canvas** - Voor documenten bewerken
|
- **GPT-4o with canvas** - Voor documenten bewerken
|
||||||
- **GPT-4** - Meest krachtig (betaald)
|
- **GPT-4** - Meest krachtig (betaald)
|
||||||
|
|
||||||
**Tip:** GPT-4o is voor de meeste taken prima!
|
**Tip:** GPT-4o is voor de meeste taken prima!
|
||||||
|
|
||||||
*[Demonstreer model selector]*
|
_[Demonstreer model selector]_
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Slide 15: Tijdelijke Chat
|
### Slide 15: Tijdelijke Chat
|
||||||
|
|
||||||
**Titel:** Privacy: Tijdelijke Chat
|
**Titel:** Privacy: Tijdelijke Chat
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
**Wat is tijdelijke chat?**
|
**Wat is tijdelijke chat?**
|
||||||
|
|
||||||
- Chat wordt NIET opgeslagen in je geschiedenis
|
- Chat wordt NIET opgeslagen in je geschiedenis
|
||||||
- Wordt NIET gebruikt om model te trainen
|
- Wordt NIET gebruikt om model te trainen
|
||||||
- Verdwijnt na sluiten
|
- Verdwijnt na sluiten
|
||||||
|
|
||||||
**Wanneer gebruiken?**
|
**Wanneer gebruiken?**
|
||||||
|
|
||||||
- Gevoelige informatie
|
- Gevoelige informatie
|
||||||
- Werk-gerelateerde data
|
- Werk-gerelateerde data
|
||||||
- Als je niet wilt dat het wordt onthouden
|
- Als je niet wilt dat het wordt onthouden
|
||||||
|
|
||||||
*[Demonstreer: klik op naam → Temporary Chat]*
|
_[Demonstreer: klik op naam → Temporary Chat]_
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Slide 16: Afbeeldingen Analyseren
|
### Slide 16: Afbeeldingen Analyseren
|
||||||
|
|
||||||
**Titel:** Image-to-Text in ChatGPT
|
**Titel:** Image-to-Text in ChatGPT
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
**Wat kun je doen?**
|
**Wat kun je doen?**
|
||||||
|
|
||||||
- Foto uploaden en vragen stellen
|
- Foto uploaden en vragen stellen
|
||||||
- Screenshot laten analyseren
|
- Screenshot laten analyseren
|
||||||
- **Schets laten interpreteren** ← Dit gebruiken we straks!
|
- **Schets laten interpreteren** ← Dit gebruiken we straks!
|
||||||
- Tekst uit afbeelding halen (OCR)
|
- Tekst uit afbeelding halen (OCR)
|
||||||
|
|
||||||
**Voorbeeld use cases:**
|
**Voorbeeld use cases:**
|
||||||
|
|
||||||
- "Beschrijf deze wireframe in detail"
|
- "Beschrijf deze wireframe in detail"
|
||||||
- "Maak van deze schets een gedetailleerde prompt"
|
- "Maak van deze schets een gedetailleerde prompt"
|
||||||
- "Zet deze tekening om naar specificaties"
|
- "Zet deze tekening om naar specificaties"
|
||||||
|
|
||||||
*[Demonstreer met een schets/foto]*
|
_[Demonstreer met een schets/foto]_
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Slide 17: Bestanden Uploaden
|
### Slide 17: Bestanden Uploaden
|
||||||
|
|
||||||
**Titel:** PDF's en documenten lezen
|
**Titel:** PDF's en documenten lezen
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
**ChatGPT kan:**
|
**ChatGPT kan:**
|
||||||
|
|
||||||
- PDF's lezen en samenvatten
|
- PDF's lezen en samenvatten
|
||||||
- Word documenten analyseren
|
- Word documenten analyseren
|
||||||
- Code bestanden reviewen
|
- Code bestanden reviewen
|
||||||
- Spreadsheets interpreteren
|
- Spreadsheets interpreteren
|
||||||
|
|
||||||
**Hoe?**
|
**Hoe?**
|
||||||
|
|
||||||
- Klik op 📎 (paperclip) icoon
|
- Klik op 📎 (paperclip) icoon
|
||||||
- Sleep bestand in het chatvenster
|
- Sleep bestand in het chatvenster
|
||||||
- Of copy-paste tekst
|
- Of copy-paste tekst
|
||||||
|
|
||||||
*[Demonstreer met een kort PDF]*
|
_[Demonstreer met een kort PDF]_
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Slide 18: Custom Instructions
|
### Slide 18: Custom Instructions
|
||||||
|
|
||||||
**Titel:** ChatGPT Personaliseren
|
**Titel:** ChatGPT Personaliseren
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
**Wat zijn Custom Instructions?**
|
**Wat zijn Custom Instructions?**
|
||||||
|
|
||||||
- Permanente instructies die ChatGPT onthoudt
|
- Permanente instructies die ChatGPT onthoudt
|
||||||
- Hoef je niet elke chat te herhalen
|
- Hoef je niet elke chat te herhalen
|
||||||
- Zit in Instellingen → Personalisatie
|
- Zit in Instellingen → Personalisatie
|
||||||
|
|
||||||
**Handige voorbeelden:**
|
**Handige voorbeelden:**
|
||||||
|
|
||||||
- "Ik ben een frontend developer, gebruik React en Tailwind"
|
- "Ik ben een frontend developer, gebruik React en Tailwind"
|
||||||
- "Antwoord in het Nederlands tenzij ik Engels vraag"
|
- "Antwoord in het Nederlands tenzij ik Engels vraag"
|
||||||
- "Geef code voorbeelden met TypeScript"
|
- "Geef code voorbeelden met TypeScript"
|
||||||
|
|
||||||
*[Demonstreer waar dit staat]*
|
_[Demonstreer waar dit staat]_
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Slide 19: Het Geheugen van ChatGPT
|
### Slide 19: Het Geheugen van ChatGPT
|
||||||
|
|
||||||
**Titel:** Wat onthoudt ChatGPT?
|
**Titel:** Wat onthoudt ChatGPT?
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
**ChatGPT onthoudt:**
|
**ChatGPT onthoudt:**
|
||||||
|
|
||||||
- Eerdere chats (tenzij tijdelijk)
|
- Eerdere chats (tenzij tijdelijk)
|
||||||
- Custom instructions
|
- Custom instructions
|
||||||
- Dingen die je expliciet vraagt te onthouden
|
- Dingen die je expliciet vraagt te onthouden
|
||||||
|
|
||||||
**ChatGPT onthoudt NIET:**
|
**ChatGPT onthoudt NIET:**
|
||||||
|
|
||||||
- Automatisch alles uit vorige chats
|
- Automatisch alles uit vorige chats
|
||||||
- Context na lange tijd
|
- Context na lange tijd
|
||||||
- Wat je in andere sessies zei
|
- Wat je in andere sessies zei
|
||||||
@@ -325,10 +367,12 @@ Het model berekent kansen:
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 20: Praktijk Oefening
|
### Slide 20: Praktijk Oefening
|
||||||
|
|
||||||
**Titel:** Probeer het zelf! (5 minuten)
|
**Titel:** Probeer het zelf! (5 minuten)
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
**Opdracht:**
|
**Opdracht:**
|
||||||
|
|
||||||
1. Open ChatGPT (chat.openai.com)
|
1. Open ChatGPT (chat.openai.com)
|
||||||
2. Start een nieuwe chat
|
2. Start een nieuwe chat
|
||||||
3. Stel een vraag over een programmeerconcept
|
3. Stel een vraag over een programmeerconcept
|
||||||
@@ -336,19 +380,21 @@ Het model berekent kansen:
|
|||||||
|
|
||||||
**Bonus:** Bekijk je Custom Instructions
|
**Bonus:** Bekijk je Custom Instructions
|
||||||
|
|
||||||
*[Geef 5 minuten om te experimenteren]*
|
_[Geef 5 minuten om te experimenteren]_
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## DEEL 5: PROMPT ENGINEERING (15 minuten)
|
## DEEL 5: PROMPT ENGINEERING (15 minuten)
|
||||||
|
|
||||||
### Slide 21: Wat is Prompt Engineering?
|
### Slide 21: Wat is Prompt Engineering?
|
||||||
|
|
||||||
**Titel:** De kunst van het vragen stellen
|
**Titel:** De kunst van het vragen stellen
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
**Een prompt is:** De instructie die je aan AI geeft
|
**Een prompt is:** De instructie die je aan AI geeft
|
||||||
|
|
||||||
**Waarom belangrijk?**
|
**Waarom belangrijk?**
|
||||||
|
|
||||||
- Zelfde vraag, andere formulering = totaal andere output
|
- Zelfde vraag, andere formulering = totaal andere output
|
||||||
- Goede prompt = bruikbaar resultaat
|
- Goede prompt = bruikbaar resultaat
|
||||||
- Slechte prompt = frustratie
|
- Slechte prompt = frustratie
|
||||||
@@ -358,15 +404,19 @@ Het model berekent kansen:
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 22: Slechte vs Goede Prompt
|
### Slide 22: Slechte vs Goede Prompt
|
||||||
|
|
||||||
**Titel:** Het verschil zien
|
**Titel:** Het verschil zien
|
||||||
|
|
||||||
**Slechte prompt:**
|
**Slechte prompt:**
|
||||||
|
|
||||||
> "Maak een button"
|
> "Maak een button"
|
||||||
|
|
||||||
**Goede prompt:**
|
**Goede prompt:**
|
||||||
|
|
||||||
> "Maak een React button component met Tailwind CSS. De button moet primary styling hebben (blauw), een hover state, en een loading state met een spinner. TypeScript graag."
|
> "Maak een React button component met Tailwind CSS. De button moet primary styling hebben (blauw), een hover state, en een loading state met een spinner. TypeScript graag."
|
||||||
|
|
||||||
**Waarom beter?**
|
**Waarom beter?**
|
||||||
|
|
||||||
- Specificeert technologie
|
- Specificeert technologie
|
||||||
- Beschrijft gewenste features
|
- Beschrijft gewenste features
|
||||||
- Geeft context
|
- Geeft context
|
||||||
@@ -374,20 +424,24 @@ Het model berekent kansen:
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 23: Prompt Framework
|
### Slide 23: Prompt Framework
|
||||||
|
|
||||||
**Titel:** 4 elementen van een goede prompt
|
**Titel:** 4 elementen van een goede prompt
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
|
|
||||||
1. **Rol:** "Je bent een senior frontend developer..."
|
1. **Rol:** "Je bent een senior frontend developer..."
|
||||||
2. **Context:** "...die werkt aan een SaaS landingspagina..."
|
2. **Context:** "...die werkt aan een SaaS landingspagina..."
|
||||||
3. **Taak:** "...maak een hero section met..."
|
3. **Taak:** "...maak een hero section met..."
|
||||||
4. **Format:** "...gebruik React en Tailwind, voeg comments toe"
|
4. **Format:** "...gebruik React en Tailwind, voeg comments toe"
|
||||||
|
|
||||||
**Voorbeeld gecombineerd:**
|
**Voorbeeld gecombineerd:**
|
||||||
|
|
||||||
> "Je bent een senior frontend developer. Maak een hero section voor een SaaS website. Gebruik React met Tailwind CSS. Voeg comments toe die uitleggen wat de code doet."
|
> "Je bent een senior frontend developer. Maak een hero section voor een SaaS website. Gebruik React met Tailwind CSS. Voeg comments toe die uitleggen wat de code doet."
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Slide 24: Tech Stack Specificeren
|
### Slide 24: Tech Stack Specificeren
|
||||||
|
|
||||||
**Titel:** Vertel de AI welke technologie je wilt
|
**Titel:** Vertel de AI welke technologie je wilt
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
@@ -395,11 +449,13 @@ Het model berekent kansen:
|
|||||||
De technologieën waarmee je bouwt.
|
De technologieën waarmee je bouwt.
|
||||||
|
|
||||||
**Voor deze cursus gebruiken we:**
|
**Voor deze cursus gebruiken we:**
|
||||||
|
|
||||||
- **React** - JavaScript framework voor UI
|
- **React** - JavaScript framework voor UI
|
||||||
- **Tailwind CSS** - Utility-first CSS framework
|
- **Tailwind CSS** - Utility-first CSS framework
|
||||||
- **TypeScript** (optioneel) - Getypeerd JavaScript
|
- **TypeScript** (optioneel) - Getypeerd JavaScript
|
||||||
|
|
||||||
**In je prompt:**
|
**In je prompt:**
|
||||||
|
|
||||||
> "Gebruik React met Tailwind CSS voor styling. Maak het responsive met mobile-first design."
|
> "Gebruik React met Tailwind CSS voor styling. Maak het responsive met mobile-first design."
|
||||||
|
|
||||||
**Tip:** v0.dev genereert automatisch React + Tailwind!
|
**Tip:** v0.dev genereert automatisch React + Tailwind!
|
||||||
@@ -407,24 +463,29 @@ De technologieën waarmee je bouwt.
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 25: Kleuren en Look & Feel
|
### Slide 25: Kleuren en Look & Feel
|
||||||
|
|
||||||
**Titel:** Visuele specificaties in je prompt
|
**Titel:** Visuele specificaties in je prompt
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
**Wat kun je specificeren?**
|
**Wat kun je specificeren?**
|
||||||
|
|
||||||
- **Kleuren:** "#2563EB voor primary, #1E40AF voor secondary"
|
- **Kleuren:** "#2563EB voor primary, #1E40AF voor secondary"
|
||||||
- **Stijl:** "Modern, minimalistisch, professioneel"
|
- **Stijl:** "Modern, minimalistisch, professioneel"
|
||||||
- **Sfeer:** "Vriendelijk en toegankelijk" of "Corporate en serieus"
|
- **Sfeer:** "Vriendelijk en toegankelijk" of "Corporate en serieus"
|
||||||
- **Referenties:** "In de stijl van Stripe.com"
|
- **Referenties:** "In de stijl van Stripe.com"
|
||||||
|
|
||||||
**Voorbeeld:**
|
**Voorbeeld:**
|
||||||
|
|
||||||
> "Gebruik een blauw kleurenschema met primary #2563EB. De stijl moet modern en minimalistisch zijn, geschikt voor een B2B SaaS startup."
|
> "Gebruik een blauw kleurenschema met primary #2563EB. De stijl moet modern en minimalistisch zijn, geschikt voor een B2B SaaS startup."
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Slide 26: Prompting Tips
|
### Slide 26: Prompting Tips
|
||||||
|
|
||||||
**Titel:** Praktische tips
|
**Titel:** Praktische tips
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
|
|
||||||
1. **Geef een rol:** "Je bent een expert in..."
|
1. **Geef een rol:** "Je bent een expert in..."
|
||||||
2. **Wees specifiek:** Niet "maak iets moois" maar "maak een hero met gradient"
|
2. **Wees specifiek:** Niet "maak iets moois" maar "maak een hero met gradient"
|
||||||
3. **Specificeer tech stack:** "React, Tailwind, TypeScript"
|
3. **Specificeer tech stack:** "React, Tailwind, TypeScript"
|
||||||
@@ -439,10 +500,12 @@ De technologieën waarmee je bouwt.
|
|||||||
## DEEL 6: LIVE DEMO V0.DEV (27 minuten)
|
## DEEL 6: LIVE DEMO V0.DEV (27 minuten)
|
||||||
|
|
||||||
### Slide 27: Introductie v0.dev
|
### Slide 27: Introductie v0.dev
|
||||||
|
|
||||||
**Titel:** Van schets naar werkende website
|
**Titel:** Van schets naar werkende website
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
**v0.dev door Vercel:**
|
**v0.dev door Vercel:**
|
||||||
|
|
||||||
- AI-powered UI generator
|
- AI-powered UI generator
|
||||||
- Begrijpt tekst EN afbeeldingen
|
- Begrijpt tekst EN afbeeldingen
|
||||||
- Genereert React + Tailwind code
|
- Genereert React + Tailwind code
|
||||||
@@ -454,9 +517,11 @@ Tekening op papier → Foto → ChatGPT → Prompt → v0.dev → Website!
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 28: De Slimme Workflow
|
### Slide 28: De Slimme Workflow
|
||||||
|
|
||||||
**Titel:** Van schets naar site in 5 stappen
|
**Titel:** Van schets naar site in 5 stappen
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
|
|
||||||
```
|
```
|
||||||
1. TEKEN je idee op papier
|
1. TEKEN je idee op papier
|
||||||
↓
|
↓
|
||||||
@@ -471,6 +536,7 @@ Tekening op papier → Foto → ChatGPT → Prompt → v0.dev → Website!
|
|||||||
```
|
```
|
||||||
|
|
||||||
**Waarom eerst ChatGPT?**
|
**Waarom eerst ChatGPT?**
|
||||||
|
|
||||||
- v0 heeft beperkte gratis credits (~7/dag)
|
- v0 heeft beperkte gratis credits (~7/dag)
|
||||||
- ChatGPT is "gratis" voor prompt optimalisatie
|
- ChatGPT is "gratis" voor prompt optimalisatie
|
||||||
- Je tekening + beschrijving = perfecte prompt!
|
- Je tekening + beschrijving = perfecte prompt!
|
||||||
@@ -478,17 +544,20 @@ Tekening op papier → Foto → ChatGPT → Prompt → v0.dev → Website!
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 29: Live Demo - Schets Maken
|
### Slide 29: Live Demo - Schets Maken
|
||||||
|
|
||||||
**Titel:** Stap 1: Tekenen
|
**Titel:** Stap 1: Tekenen
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
*[Docent tekent live op papier]*
|
_[Docent tekent live op papier]_
|
||||||
|
|
||||||
**Ik teken een hero section:**
|
**Ik teken een hero section:**
|
||||||
|
|
||||||
- Links: titel + tekst + button
|
- Links: titel + tekst + button
|
||||||
- Rechts: placeholder voor afbeelding
|
- Rechts: placeholder voor afbeelding
|
||||||
- Simpele lijnen, geen kunstwerk nodig!
|
- Simpele lijnen, geen kunstwerk nodig!
|
||||||
|
|
||||||
**Belangrijke elementen:**
|
**Belangrijke elementen:**
|
||||||
|
|
||||||
- Layout (waar staat wat?)
|
- Layout (waar staat wat?)
|
||||||
- Tekst indicaties
|
- Tekst indicaties
|
||||||
- Knoppen
|
- Knoppen
|
||||||
@@ -497,12 +566,14 @@ Tekening op papier → Foto → ChatGPT → Prompt → v0.dev → Website!
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 30: Live Demo - Foto naar ChatGPT
|
### Slide 30: Live Demo - Foto naar ChatGPT
|
||||||
|
|
||||||
**Titel:** Stap 2 & 3: Foto + Beschrijving
|
**Titel:** Stap 2 & 3: Foto + Beschrijving
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
*[Docent maakt foto en upload naar ChatGPT]*
|
_[Docent maakt foto en upload naar ChatGPT]_
|
||||||
|
|
||||||
**Mijn prompt aan ChatGPT:**
|
**Mijn prompt aan ChatGPT:**
|
||||||
|
|
||||||
> "Dit is een schets voor een hero section van mijn website.
|
> "Dit is een schets voor een hero section van mijn website.
|
||||||
>
|
>
|
||||||
> Beschrijf deze schets als een gedetailleerde prompt voor v0.dev.
|
> Beschrijf deze schets als een gedetailleerde prompt voor v0.dev.
|
||||||
@@ -512,33 +583,37 @@ Tekening op papier → Foto → ChatGPT → Prompt → v0.dev → Website!
|
|||||||
> Stijl: Modern, minimalistisch, professioneel
|
> Stijl: Modern, minimalistisch, professioneel
|
||||||
> Doel: SaaS landingspagina voor projectmanagement tool"
|
> Doel: SaaS landingspagina voor projectmanagement tool"
|
||||||
|
|
||||||
*[Toon ChatGPT response]*
|
_[Toon ChatGPT response]_
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Slide 31: Live Demo - Prompt naar v0
|
### Slide 31: Live Demo - Prompt naar v0
|
||||||
|
|
||||||
**Titel:** Stap 4 & 5: v0.dev
|
**Titel:** Stap 4 & 5: v0.dev
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
*[Docent kopieert prompt naar v0.dev]*
|
_[Docent kopieert prompt naar v0.dev]_
|
||||||
|
|
||||||
**Let op:**
|
**Let op:**
|
||||||
|
|
||||||
- Generatie duurt ~30 seconden
|
- Generatie duurt ~30 seconden
|
||||||
- Je krijgt direct een preview
|
- Je krijgt direct een preview
|
||||||
- Code is React + Tailwind
|
- Code is React + Tailwind
|
||||||
- Precies wat je tekende!
|
- Precies wat je tekende!
|
||||||
|
|
||||||
*[Toon resultaat]*
|
_[Toon resultaat]_
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Slide 32: Live Demo - Itereren
|
### Slide 32: Live Demo - Itereren
|
||||||
|
|
||||||
**Titel:** Verfijnen in v0
|
**Titel:** Verfijnen in v0
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
*[Docent itereert op het resultaat]*
|
_[Docent itereert op het resultaat]_
|
||||||
|
|
||||||
**Follow-up prompts:**
|
**Follow-up prompts:**
|
||||||
|
|
||||||
- "Make the button larger with a hover animation"
|
- "Make the button larger with a hover animation"
|
||||||
- "Add a floating image placeholder on the right"
|
- "Add a floating image placeholder on the right"
|
||||||
- "Change the gradient to be more subtle"
|
- "Change the gradient to be more subtle"
|
||||||
@@ -548,16 +623,19 @@ Tekening op papier → Foto → ChatGPT → Prompt → v0.dev → Website!
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 33: Live Demo - Deployen
|
### Slide 33: Live Demo - Deployen
|
||||||
|
|
||||||
**Titel:** Live zetten
|
**Titel:** Live zetten
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
**Deployment in 4 stappen:**
|
**Deployment in 4 stappen:**
|
||||||
|
|
||||||
1. Klik "Add Integration" (linkerzijbalk)
|
1. Klik "Add Integration" (linkerzijbalk)
|
||||||
2. Koppel je GitHub account
|
2. Koppel je GitHub account
|
||||||
3. v0 maakt automatisch een repository
|
3. v0 maakt automatisch een repository
|
||||||
4. Klik "Deploy" → Live op Vercel!
|
4. Klik "Deploy" → Live op Vercel!
|
||||||
|
|
||||||
**Resultaat:**
|
**Resultaat:**
|
||||||
|
|
||||||
- URL: `jouw-project.vercel.app`
|
- URL: `jouw-project.vercel.app`
|
||||||
- Code staat in GitHub
|
- Code staat in GitHub
|
||||||
- Elke update → automatisch opnieuw gedeployd
|
- Elke update → automatisch opnieuw gedeployd
|
||||||
@@ -567,12 +645,14 @@ Tekening op papier → Foto → ChatGPT → Prompt → v0.dev → Website!
|
|||||||
## DEEL 7: HANDS-ON OPDRACHT (55 minuten)
|
## DEEL 7: HANDS-ON OPDRACHT (55 minuten)
|
||||||
|
|
||||||
### Slide 34: Lesopdracht
|
### Slide 34: Lesopdracht
|
||||||
|
|
||||||
**Titel:** Nu zijn jullie aan de beurt!
|
**Titel:** Nu zijn jullie aan de beurt!
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
**Opdracht:** Jouw tekening wordt een website!
|
**Opdracht:** Jouw tekening wordt een website!
|
||||||
|
|
||||||
**Stappen:**
|
**Stappen:**
|
||||||
|
|
||||||
1. **TEKEN** een hero section op papier
|
1. **TEKEN** een hero section op papier
|
||||||
2. **FOTO** maken van je tekening
|
2. **FOTO** maken van je tekening
|
||||||
3. **CHATGPT:** Upload foto + beschrijf je wensen
|
3. **CHATGPT:** Upload foto + beschrijf je wensen
|
||||||
@@ -586,6 +666,7 @@ Tekening op papier → Foto → ChatGPT → Prompt → v0.dev → Website!
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 35: Opdracht Details
|
### Slide 35: Opdracht Details
|
||||||
|
|
||||||
**Titel:** Wat moet je specificeren?
|
**Titel:** Wat moet je specificeren?
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
@@ -598,20 +679,24 @@ Tekening op papier → Foto → ChatGPT → Prompt → v0.dev → Website!
|
|||||||
5. **Doel:** "Voor een SaaS/portfolio/webshop"
|
5. **Doel:** "Voor een SaaS/portfolio/webshop"
|
||||||
|
|
||||||
**Vraag ChatGPT:**
|
**Vraag ChatGPT:**
|
||||||
|
|
||||||
> "Maak van deze schets en beschrijving een gedetailleerde prompt voor v0.dev"
|
> "Maak van deze schets en beschrijving een gedetailleerde prompt voor v0.dev"
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Slide 36: Tips voor de Opdracht
|
### Slide 36: Tips voor de Opdracht
|
||||||
|
|
||||||
**Titel:** Succesvol aan de slag
|
**Titel:** Succesvol aan de slag
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
|
|
||||||
- **Teken simpel:** Blokken en lijnen zijn genoeg
|
- **Teken simpel:** Blokken en lijnen zijn genoeg
|
||||||
- **Wees specifiek in ChatGPT:** Hoe meer detail, hoe beter de prompt
|
- **Wees specifiek in ChatGPT:** Hoe meer detail, hoe beter de prompt
|
||||||
- **v0 credits:** ~7 per dag, dus optimaliseer prompt eerst!
|
- **v0 credits:** ~7 per dag, dus optimaliseer prompt eerst!
|
||||||
- **GitHub vereist:** Maak account aan als je die niet hebt
|
- **GitHub vereist:** Maak account aan als je die niet hebt
|
||||||
|
|
||||||
**Deployment in 3 klikken:**
|
**Deployment in 3 klikken:**
|
||||||
|
|
||||||
1. "Add Integration" → koppel GitHub
|
1. "Add Integration" → koppel GitHub
|
||||||
2. v0 maakt automatisch repo aan
|
2. v0 maakt automatisch repo aan
|
||||||
3. "Deploy" → live!
|
3. "Deploy" → live!
|
||||||
@@ -619,14 +704,17 @@ Tekening op papier → Foto → ChatGPT → Prompt → v0.dev → Website!
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 37: Hulpmiddelen
|
### Slide 37: Hulpmiddelen
|
||||||
|
|
||||||
**Titel:** Links en resources
|
**Titel:** Links en resources
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
|
|
||||||
- **ChatGPT:** chat.openai.com
|
- **ChatGPT:** chat.openai.com
|
||||||
- **v0.dev:** v0.dev
|
- **v0.dev:** v0.dev
|
||||||
- **GitHub:** github.com
|
- **GitHub:** github.com
|
||||||
|
|
||||||
**Hulp nodig?**
|
**Hulp nodig?**
|
||||||
|
|
||||||
- Vraag je buurman/buurvrouw
|
- Vraag je buurman/buurvrouw
|
||||||
- Steek je hand op
|
- Steek je hand op
|
||||||
- AI mag ook helpen!
|
- AI mag ook helpen!
|
||||||
@@ -636,6 +724,7 @@ Tekening op papier → Foto → ChatGPT → Prompt → v0.dev → Website!
|
|||||||
## DEEL 8: AFSLUITING (10 minuten)
|
## DEEL 8: AFSLUITING (10 minuten)
|
||||||
|
|
||||||
### Slide 38: Samenvatting
|
### Slide 38: Samenvatting
|
||||||
|
|
||||||
**Titel:** Wat hebben we geleerd?
|
**Titel:** Wat hebben we geleerd?
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
@@ -648,10 +737,12 @@ Tekening op papier → Foto → ChatGPT → Prompt → v0.dev → Website!
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 39: Huiswerk
|
### Slide 39: Huiswerk
|
||||||
|
|
||||||
**Titel:** Voor volgende week
|
**Titel:** Voor volgende week
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
**Opdracht (2 uur):**
|
**Opdracht (2 uur):**
|
||||||
|
|
||||||
1. Schrijf reflectie (500 woorden) over je eerste AI-ervaring
|
1. Schrijf reflectie (500 woorden) over je eerste AI-ervaring
|
||||||
2. Bedenk 5 concrete use cases voor AI in jouw werk
|
2. Bedenk 5 concrete use cases voor AI in jouw werk
|
||||||
3. **Maak een tweede schets** voor een andere pagina/component
|
3. **Maak een tweede schets** voor een andere pagina/component
|
||||||
@@ -663,34 +754,42 @@ Tekening op papier → Foto → ChatGPT → Prompt → v0.dev → Website!
|
|||||||
---
|
---
|
||||||
|
|
||||||
### Slide 40: Volgende Les
|
### Slide 40: Volgende Les
|
||||||
|
|
||||||
**Titel:** Les 2: Prompt Engineering Verdieping
|
**Titel:** Les 2: Prompt Engineering Verdieping
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
**Wat komt:**
|
**Wat komt:**
|
||||||
|
|
||||||
- Geavanceerde prompt technieken
|
- Geavanceerde prompt technieken
|
||||||
- Chain of thought prompting
|
- Chain of thought prompting
|
||||||
- Few-shot learning
|
- Few-shot learning
|
||||||
- Custom GPTs verkennen
|
- Custom GPTs verkennen
|
||||||
|
|
||||||
**Voorbereiding:**
|
**Voorbereiding:**
|
||||||
|
|
||||||
- Huiswerk af
|
- Huiswerk af
|
||||||
- ChatGPT account werkt
|
- ChatGPT account werkt
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Slide 41: Bedankt!
|
### Slide 41: Bedankt!
|
||||||
|
|
||||||
**Titel:** Tot volgende week!
|
**Titel:** Tot volgende week!
|
||||||
|
|
||||||
**Inhoud:**
|
**Inhoud:**
|
||||||
🚀 Succes met het huiswerk!
|
🚀 Succes met het huiswerk!
|
||||||
|
|
||||||
*"The best way to predict the future is to create it."*
|
_"The best way to predict the future is to create it."_
|
||||||
— Alan Kay
|
— Alan Kay
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Totaal: 41 slides
|
## Totaal: 41 slides
|
||||||
|
|
||||||
## Geschatte tijd presentatie: ~70 minuten
|
## Geschatte tijd presentatie: ~70 minuten
|
||||||
|
|
||||||
## ChatGPT praktijk: ~25 minuten
|
## ChatGPT praktijk: ~25 minuten
|
||||||
|
|
||||||
## Demo v0.dev: ~27 minuten
|
## Demo v0.dev: ~27 minuten
|
||||||
|
|
||||||
## Hands-on tijd: ~55 minuten
|
## Hands-on tijd: ~55 minuten
|
||||||
|
|||||||
Reference in New Issue
Block a user