Programma

Periode 1 |
Periode 2 | Periode 3 | Periode 4 | ||||
Blok 1 | Blok 2 | Blok 3 | Blok 4 | Blok 5 | Blok 6 | Blok 7 | Blok 8 |
Van Scratch naar Python | Retro Gaming Python | CSS | Back End PHP |
JavaScript | Databases | ||
Scratch 1 | Vallende Stenen | HTML Phoenix | Prompt Engineering 1 | Prompt Engineering 2 | DB Design | Prompt Engineering 3 | Prompt Engineering 4 |
Scratch 2 |
Snake | CSS Phoenix | Intro Web XAMPP | JS 2 (DOM) | SQL | Deployement | OOP |
naar Python |
Intro AI | Intro JS Phoenix | PHP 1 | JS 3 (Dom) | PDO | CMS | Yii Intro |
Pak de Kaas |
Challenge | Portfolio Challenge | PHP Challenge | JS Challenge | Crud Challenge |
Blok 1 - van blok naar tekst
(totaal ongeveer 9-10 uur)
Scratch 1 -(block-based programmeren)
Deze module beschrijft een stapsgewijze introductiecursus programmeren met Scratch, bedoeld om studenten te leren hoe ze een doolhofspel kunnen maken. Het leidt je door verschillende concepten zoals beweging, herhalingen (loops), voorwaardelijke logica (als-dan-anders), en het gebruik van variabelen voor een score. Elke stap bevat uitlegvideo's en opdrachten om de geleerde programmeerprincipes direct toe te passen.
Onderdeel | Geschatte tijd (in minuten) |
---|---|
Uitleg en oriëntatie op interface | 20 |
Opdracht 1: Sprite laten bewegen | 15 |
Opdracht 2: Dansende sprite | 20 |
Opdracht 3: Geluid toevoegen | 15 |
Opdracht 4: Herhalen gebruiken | 20 |
Opdracht 5: Start met groene vlag | 10 |
Opdracht 6: Eigen sprite gebruiken | 20 |
Opdracht 7: Sprite reageert op toetsen | 25 |
Totaal geschat | 145 minuten |
Scratch 2 (block-based programmeren)
Deze module biedt een reeks lessen voor het maken van een platformspel in Scratch, vergelijkbaar met Super Mario. De instructies leiden gebruikers stap voor stap door het proces, beginnend bij basisbeweging en voortschrijdend naar complexere elementen zoals springen op muren, het vermijden van obstakels, en het toevoegen en verslaan van monsters. Elke sectie bevat een video-tutorial, opdrachten, en vereist screenshots voor inlevering en punten.
Onderdeel | Geschatte tijd (in minuten) |
---|---|
Uitleg random / willekeurige beweging | 15 |
Opdracht: sprite beweegt random | 20 |
Botsing detecteren tussen sprites | 20 |
Opdracht: reactie op botsing | 20 |
Variabele uitleg + maken van score | 20 |
Score zichtbaar maken op scherm | 10 |
Eindopdracht: game maken met score en botsing | 40 |
Testen / verbeteren van eigen game | 15 |
Totaal geschat | 160 minuten |
Van Scratch naar Python
Deze module is bedoeld om de overstap te maken van de visuele programmeertaal Scratch naar Python. Het is gericht op het leren van basisconcepten door middel van praktische opdrachten met een bewegende stip. Het document behandelt essentiële Python-concepten zoals inspringen (indentatie), commentaar, if-statements voor logica en loops (lussen), en maakt daarbij steeds de vergelijking met bekende Scratch-blokken. Door middel van geleidelijke oefeningen leren studenten hoe ze een object laten bewegen, van richting laten veranderen (heen en weer stuiteren), een vierkant laten tekenen, en zelfs een spiraal laten creëren door middel van herhalingen (lus) met veranderende parameters. De handleiding sluit af met een opdracht tot reflectie op het leerproces, waarbij studenten gevraagd worden naar hun ervaringen, geleerde lessen en verbeterpunten.
Om de cognitieve overload te verminderen wordt een eenvoudige Python-IDE gebruikt (Thonny).
Onderdeel | Geschatte tijd (in minuten) |
---|---|
Uitleg overgang Scratch → Python | 15 |
Eerste turtle-voorbeeld tekenen | 15 |
Uitleg over regels code en syntax | 20 |
Opdracht: vierkant tekenen | 15 |
Uitleg en gebruik van for -loop |
20 |
Opdracht: herhaling met for -loop |
20 |
Opdracht: maak een patroon met meerdere loops | 25 |
Reflectie of bespreking | 10 |
Totaal geschat | 140 minuten |
Pak de Kaas (eenvoudig spel in Python)
Deze module bouwt het voort op de basisprincipes van programmeren en de overgang naar Python. De lessen doorlopen stap voor stap de basis van het creëren van een game, beginnend met het tonen van afbeeldingen (sprites), het bewegen van een personage met toetsen en het detecteren van botsingen. Er wordt ook geoefend met meer geavanceerde concepten zoals het gebruik van willekeurige getallen om objecten te verplaatsen, het bijhouden van een score, en het toevoegen van een tijdslimiet.
Studenten worden aangemoedigd code te lezen en te begrijpen. Studenten leren hoe ze een probleem (zoals het bouwen van een spel) kunnen opdelen in kleinere, behapbare stappen. Ze ontwikkelen algoritmisch denken door sequentie (code wordt regel voor regel uitgevoerd), selectie (met if-statements bepalen wat er gebeurt op basis van voorwaarden_ en herhaling (met lussen zoals for en while) toe te passen.
Onderdeel | Tijd (in minuten) |
---|---|
Instructie lezen en idee begrijpen | 10 |
Achtergrond/doolhof maken | 20 |
Muis-besturing instellen | 20 |
Botsingen met muren instellen | 25 |
Kaas toevoegen en winvoorwaarde programmeren | 20 |
Testen en verbeteren | 15 |
(Optioneel) Extra’s zoals geluid/levens | 20 |
Totaal (zonder extra’s) | 110 minuten |
Totaal (met extra’s) | 130 minuten |
Blok 2 - spelletjes in Python
(totaal ongeveer 8 - 9 uur)
Vallende Stenen (spel Python)
Studenten passen concepten toe die ze eerder in Scratch of de "Van Scratch naar Python" module hebben geleerd, zoals het gebruik van variabelen voor posities, afmetingen en snelheid, controle structuren zoals if-statements voor het detecteren van toetsaanslagen, begrenzing van beweging en botsingen, en for-loops om meerdere vallende objecten te beheren en te tekenen
Studenten leren hoe ze scode moeten lezen en aanpassen om nieuwe functionaliteit toe te voegen en problemen op te lossen, zoals voorkomen dat de speler uit beeld beweegt.
Aan het eind woprdt de creativiteit gestimuleert door studenten aan te moedigen het spel zelfstandig uit te breiden met nieuwe functies, zoals geluiden, power-ups, of veranderingen in uiterlijk.
Onderdeel | Tijd (in minuten) |
---|---|
Spelconcept begrijpen | 10 |
Speler-sprite tekenen + toetsen besturen | 20 |
Steen laten vallen vanaf random plek | 25 |
Herhalen van de val (loop gebruiken) | 15 |
Botsing detecteren | 20 |
Spel laten stoppen of levens aanpassen | 15 |
Testen en bijschaven | 15 |
(Optioneel) Extra’s zoals score of geluid | 20 |
Totaal zonder extra’s | 120 minuten |
Totaal met extra’s | 140 minuten |
Snake (spel Python)
De "Snake" module bouwt voort op basiskennis van Python en introduceert specifiek nieuwe concepten en toepassingen binnen de context van game-ontwikkeling met Pygame Zero. Er zit herhaling in maar de opdrachten zijn wat uitdagender en de code is wat groter (meer regels). Er zit een lastig concept in de module die ervoor zorgt dat de slang groeit.
Studenten owrden in de eindopdracht uitgedaagd conceptueel na te denken over een game-probleem. Dit is een voorbereiding op het latere prompt engineering.
Onderdeel | Tijd (in minuten) |
---|---|
Spelidee en opdracht begrijpen | 10 |
Basisbesturing + beweging slang | 25 |
Eten plaatsen en detectie bij aanraking | 20 |
Snake laten groeien na eten | 25 |
Zelfbotsing implementeren | 25 |
Score bijhouden | 15 |
Game-over logica (botsing muur/zelf) | 15 |
Testen, debuggen en verbeteren | 20 |
(Optioneel) Extra functies | 20 |
Totaal zonder extra’s | 155 minuten |
Totaal met extra’s | 175 minuten |
Intro AI (wat is AI en wat zijn voor- en nadelen?)
Deze module is een introductie over AI en behandelt de basisbeginselen en toepassingen van kunstmatige intelligentie. Het leert het verschil tussen klassieke programmering en AI, waarbij de laatste leert van data in plaats van vaste instructies. De les identificeert verschillende AI-toepassingstypes zoals classificatie en voorspelling, en verkent zowel de voordelen als de nadelen van AI. Ten slotte wordt de introductie van prompt engineering benadrukt als een manier om AI effectief te gebruiken. DIt is korte teaser en inleiding voor de modules over prompt engeneering en geeft een aanzet om in de Snake Challange op een verantwoorde manier AI in te zetten.
Onderdeel | Tijd (in minuten) |
---|---|
Klassikale uitleg en voorbeelden | 20–30 |
Video of demonstratie (indien aanwezig) | 10 |
Vragen beantwoorden en bespreken | 20–30 |
Reflectie of groepsdiscussie | 15 |
(Optioneel) korte opdracht of Kahoot | 10–15 |
Totaal | 60–90 minuten |
Snake Challenge (Python/AI challenge)
Studenten woerden in deze challange uitgedaagd om een eigen versie van hun Snake game te maken.
Activiteit | Tijd (in minuten) |
---|---|
Ideeën bedenken (eventueel klassikaal) | 15 |
Eén uitbreiding kiezen en implementeren | 30–45 |
Tweede uitbreiding maken | 30–45 |
Testen, verbeteren en eventueel presenteren | 20–30 |
Totaal geschat | 100–135 minuten |
Blok 3 (web front-end)
(totaal ongeveer 8-9 uur)
HTML / Phoenix
Deze module is gestructureerd in opeenvolgende lessen, waarbij elke les focust op een specifiek HTML-concept, beginnend met basisstructuur en het gebruik van Phoenix Code als browsergebaseerde editor. Belangrijke onderwerpen die behandeld worden, zijn onder meer het opmaken van tekst, het toevoegen van afbeeldingen en links, het maken van lijsten en tabellen, en het bouwen van formulieren. Het doel is dat cursisten zelfstandig een persoonlijke homepage kunnen ontwikkelen door de opgedane kennis te combineren in een mini-project.
Onderdeel | Tijd (in minuten) |
---|---|
Introductie HTML + structuur uitleg | 15 |
Voorbeelden tags + experimenteren | 25 |
Werken met Phoenix (inloggen, omgeving leren) | 10 |
Opdracht: eigen pagina maken | 30–40 |
Testen en bespreken | 10–15 |
Totaal geschat | 90–105 minuten |
CSS / Phoenix
Deze module legt stap voor stap uit wat CSS is, waarom het essentieel is voor webpagina's, en hoe je het gebruikt om de visuele opmaak te beheren, zoals kleuren, lettertypen, uitlijning en achtergronden. Belangrijke concepten zoals het box-model(margin, padding, border), het gebruik van selectors (element, class, ID), en de moderne lay-outtechniek Flexbox worden behandeld met praktische voorbeelden en opdrachten. Het doel is studenten de vaardigheden te geven om aantrekkelijke en goed gestructureerde webpagina's te creëren.
Onderdeel | Tijd (in minuten) |
---|---|
Uitleg wat CSS is en hoe het werkt | 15 |
CSS-syntaxis + voorbeelden toepassen | 25 |
Werken met selectors | 10 |
Opdracht: bestaande HTML-pagina stylen | 30–40 |
Experimenteren en verbeteren | 10–15 |
Totaal geschat | 90–105 minuten |
Intro JS / Phoenix
Deze module leidt de student door fundamentele concepten zoals wat JavaScript is en waarvoor het wordt gebruikt, het werken met variabelen, het opzetten en gebruiken van functies, en het implementeren van voorwaardelijke logica met if
/else
statements. De nadruk ligt sterk op praktische oefeningen in de browserconsole en via HTML-bestanden, waarbij de student leert om JavaScript te gebruiken voor interactie op webpagina's, zoals het reageren op gebruikersinvoer via formulieren en het uitvoeren van berekeningen. Elk onderdeel bevat duidelijke leerdoelen, conceptuele uitleg en concrete opdrachten met bijbehorende reflectievragen en inleverinstructies.
Onderdeel | Tijd (in minuten) |
---|---|
Uitleg wat JavaScript is en hoe het werkt | 10–15 |
Console openen en verkennen | 10 |
Voorbeelden doornemen en uitvoeren | 20 |
Opdracht: zelf experimenteren met console.log |
25–30 |
Klassikale bespreking of korte quiz | 10 |
Totaal geschat | 75–85 minuten |
Challenge
De portfolio Challenge combineert persoonlijk profileren met web design en daagt de student uit een eigen portfolio te maken.
Onderdeel | Tijd (in minuten) |
---|---|
Opdracht lezen en onderwerp kiezen | 15 |
Schets of opzet maken | 15–20 |
HTML schrijven (structuur opzetten) | 30–45 |
CSS toevoegen en verbeteren | 30–45 |
(Optioneel) JavaScript toevoegen | 30 |
Testen en bijschaven | 20–30 |
Reflectie/samenvatting/afronding | 10–15 |
Totaal geschat (zonder JS) | 120–150 minuten |
Totaal geschat (met JS) | 150–180 minuten |
Blok 4 (web back-end)
(ongeveer 7-8 uur)
PHP - XAMPP
Deze module leidt de student stap voor stap door essentiële concepten, beginnend met een fundamenteel onderscheid tussen frontend (wat gebruikers zien) en backend (wat op de server gebeurt). Verder behandelt deze module de installatie van noodzakelijke software zoals XAMPP en Visual Studio Code, essentieel voor het lokaal ontwikkelen en testen van PHP-code. De praktische oefeningen en opdrachten, zoals het maken van de eerste PHP-pagina, het werken met variabelen en strings, en het bouwen van eenvoudige formulieren met if
-statementsen een kortingscalculator, zijn ontworpen om de theorie direct in de praktijk te brengen en interactieve webapplicaties te leren maken.
Onderdeel | Tijd (in minuten) |
---|---|
Uitleg over wat PHP is | 10–15 |
Eerste regels code schrijven en testen | 15 |
Uitleg over echo en variabelen |
15 |
Opdrachten uitvoeren (3 à 4 opdrachten) | 30–40 |
Testen, fouten zoeken en verbeteren | 10–15 |
Totaal geschat | 80–100 minuten |
Prompt Enineering
De module, "Prompt Engineering 1", dient als een handleiding voor het effectief communiceren met AI-modellen zoals ChatGPT. Het benadrukt dat het stellen van duidelijke en concrete vragen essentieel is om bruikbare antwoorden te krijgen. De tekst structureert de basisprincipes van "prompting" rond zes kernelementen: context, details/specificiteit, duidelijkheid, doelgerichtheid, vorm en toon. Door praktische voorbeelden en opdrachten te bieden, leert de student hoe elk van deze elementen bijdraagt aan het formuleren van kwalitatieve prompts, wat resulteert in nauwkeurigere en relevantere output van de AI.
Onderdeel | Tijd (in minuten) |
---|---|
Introductie prompt engineering | 10–15 |
Voorbeelden en klassikale analyse | 15 |
Tips bespreken | 10 |
Opdrachten: prompts verbeteren + AI testen | 30–40 |
Reflectie of klassikale bespreking | 10–15 |
Totaal geschat | 80–95 minuten |
PHP 2
Deze module gaat over PHP-programmering, gericht op web back-end ontwikkeling. Het is gestructureerd in meerdere blokken, waarbij elk blok zich richt op fundamentele PHP-concepten met duidelijke leerdoelen, uitleg, praktische opdrachten en reflectievragen. Belangrijke onderwerpen omvatten het veilig versturen van gegevens via GET en POST, het efficiënt beheren van code met include
en require
, en het werken met arrays en loops voor het organiseren en verwerken van data. Verder introduceert het document functies voor herbruikbare code, datum- en tijdmanipulatie, en de basis van sessiebeheer en inlogfunctionaliteit met associatieve arrays voor gebruikersverificatie.
Onderdeel | Tijd (in minuten) |
---|---|
Uitleg over formulieren in HTML | 15 |
Uitleg over $_GET en hoe data via URL binnenkomt |
15 |
Eerste voorbeeld doornemen en uitvoeren | 20 |
Opdracht uitvoeren: formulier maken + verwerken | 25–30 |
Testen, fouten oplossen, extra uitdaging | 10–15 |
Totaal geschat | 85–95 minuten |
PHP Challenge
De PHP challenge daagt studenten uit om hun kennis van PHP-programmering toe te passen. Het hoofddoel is het bouwen van een mini-website met essentiële backend-functionaliteiten zoals formulieren, sessies en functies. Studenten kunnen kiezen uit opties zoals een persoonlijke website, een quiz of een simpele webshop, maar elk project moet voldoen aan specifieke technische eisen, waaronder het gebruik van meerdere PHP-pagina's, arrays, loops en sessies. Tot slot wordt van studenten verwacht dat zij reflecteren op hun leerproces en de voltooide website demonstreren.
Onderdeel | Tijd (in minuten) |
---|---|
Uitleg opdracht en doelen begrijpen | 10–15 |
Zelf quizvragen bedenken en formulier opzetten | 20–30 |
PHP-code schrijven om antwoorden te controleren | 25–30 |
Score berekenen en tonen | 15 |
Testen, debuggen en verbeteren | 15–20 |
(Optioneel) Extra’s zoals feedback of styling | 15–20 |
Totaal geschat | 100–130 minuten |
Blok 5 (web back-end 2)
Database
Deze module gaat over databaseontwerp. Het leidt de student stapsgewijs door de fundamentele concepten van databases, beginnend met wat een database is en waarom deze nodig is voor het organiseren van gegevens. De module introduceert cruciale terminologieën zoals entiteiten en attributen, legt het belang uit van een Primary Key (PK) voor unieke identificatie, en behandelt 1:N-relaties en Foreign Keys (FKs) om tabellen te verbinden. Tot slot wordt dieper ingegaan op datatypen, de modellering van realistische scenario's, en de complexere N:N-relaties, waarbij het creëren van tussentabellen wordt uitgelegd voor optimale datastructuren.