Mogelijke opdrachten

Je kiest één van onderstaande richtingen. Binnen iedere richting is ruimte om het project aan te passen aan je eigen interesses.

1. Unity – 3D-game

Je maakt een game met Unity.

Je begint met de Roll-a-Ball-tutorial. Daarna breid je de game zelfstandig uit.

Denk bijvoorbeeld aan:

  • meerdere levels;
  • vijanden of bewegende obstakels;
  • power-ups;
  • timer;
  • levens;
  • score en highscore;
  • start- en eindscherm;
  • eigen spelmechanismen.

Havo: minimaal drie duidelijke eigen uitbreidingen, waarvan minimaal twee programmeerwerk bevatten.

Vwo: de tutorial is vooral het startpunt. Je ontwerpt en programmeert daarnaast een groter eigen onderdeel en kunt de technische keuzes daarin onderbouwen.

Een andere Unity-tutorial mag alleen na overleg.


2. Godot – 2D- of 3D-game

Je maakt een game met Godot.

Je kunt beginnen met de officiële 2D- of 3D-tutorial:

Your first 2D game – Godot

Daarna ontwikkel je zelfstandig verder.

Denk aan levels, vijanden, score, levens, power-ups, moeilijkheidsgraden, menu's en eigen spelmechanismen.

Havo: je maakt de tutorial en voegt minimaal drie eigen technische uitbreidingen toe.

Vwo: je gebruikt de tutorial als introductie en ontwikkelt daarna een duidelijk eigen onderdeel waarvoor je zelfstandig nieuwe technieken onderzoekt.


3. Android – mobiele applicatie

Je ontwikkelt een Android-app.

Een mogelijke opdracht is een quiz- of flashcard-app waarmee een gebruiker iets kan leren of oefenen.

Denk bijvoorbeeld aan:

  • meerdere schermen;
  • vragen en antwoorden;
  • categorieën;
  • score;
  • willekeurige vragen;
  • instellingen;
  • voortgang;
  • lokaal gegevens opslaan.

Een andere mogelijkheid is een taken-/to-do-app waarin gebruikers gegevens kunnen toevoegen, wijzigen en verwijderen.

Havo: de app bevat meerdere schermen, verwerkt gebruikersinvoer en kan gegevens bewaren.

Vwo: je voegt een verdiepend onderdeel toe, bijvoorbeeld een database, API, gebruikersaccounts of een andere techniek die je zelfstandig onderzoekt.

Een ander idee voor een Android-app mag in overleg.


4. Python – desktopapplicatie

Je ontwikkelt met Python een applicatie met een grafische gebruikersinterface, bijvoorbeeld met Tkinter of CustomTkinter.

Het eindproduct is dus niet alleen een programma dat in de terminal draait.

Denk aan:

  • quizprogramma;
  • takenlijst;
  • reserveringssysteem;
  • administratiesysteem;
  • voorraadbeheer;
  • agenda;
  • educatieve applicatie.

Havo: de applicatie heeft een bruikbare interface, verwerkt invoer en bewaart gegevens, bijvoorbeeld in JSON, CSV of SQLite.

Vwo: je voegt technische verdieping toe, bijvoorbeeld een database, API, complexere gegevensverwerking of een duidelijke scheiding tussen interface, programmalogica en gegevensopslag.


5. Physical Computing

Je bouwt met bijvoorbeeld een Arduino, ESP32 of Raspberry Pi Pico een fysiek apparaat.

Je project bevat minimaal:

  • een sensor of andere invoer;
  • uitvoer zoals een OLED-display, leds, buzzer of motor;
  • zelfgeschreven software;
  • logica waarmee het apparaat reageert op invoer.

Mogelijke opdrachten zijn:

Slimme bloempot

Meet bodemvocht en geef op een display aan hoe het met de plant gaat.

Mogelijke uitbreidingen zijn temperatuur- en lichtmeting, verschillende plantprofielen en automatische bewatering.

Morse Trainer

Bouw een apparaat waarmee iemand morsecode kan leren.

Een OLED-display toont opdrachten en feedback. Met een knop voert de gebruiker morsesignalen in. Je maakt een eenvoudige leerroute waarbij oefeningen steeds moeilijker worden.

Mogelijke uitbreidingen zijn geluid, niveaus, score en het opslaan van voortgang.

Reactiesnelheidsspel

Bouw een reactiespel met knoppen, leds en/of een display.

Breid dit bijvoorbeeld uit met meerdere spelers, gemiddelde reactietijd, highscores of verschillende spelmodi.

Omgevingsmeter

Meet bijvoorbeeld temperatuur, luchtvochtigheid en lichtsterkte.

Het programma toont niet alleen waarden, maar interpreteert deze ook en reageert erop.

Havo: de nadruk ligt op het correct combineren van elektronica, sensoren en zelfgeschreven software.

Vwo: je voegt technische verdieping toe, bijvoorbeeld draadloze communicatie, gegevensopslag, meerdere samenwerkende componenten of een uitgebreider regelsysteem.


6. Smart Home – ESP32 en Home Assistant

Je bouwt een klein Internet of Things (IoT)-systeem.

Een ESP32 verzamelt gegevens en stuurt deze via het netwerk naar Home Assistant.

Je project bevat minimaal:

  • een fysieke sensor;
  • netwerkcommunicatie;
  • meetgegevens in Home Assistant;
  • een eigen dashboard;
  • minimaal twee automatiseringen;
  • minimaal één automatisering die reageert op zelf gemeten sensordata.

Mogelijke projecten zijn een slimme kamer, klimaatregeling, slim alarm, energie-/verbruiksmonitor of automatische verlichting.

De technische keten is bijvoorbeeld:

sensor → ESP32 → netwerk → Home Assistant → automatisering → actie

Havo: je zorgt dat de volledige keten werkt en kunt uitleggen hoe gegevens van sensor naar Home Assistant gaan.

Vwo: je verdiept je ook in de communicatie tussen de onderdelen, bijvoorbeeld met MQTT, meerdere sensoren/actuatoren, gegevenshistorie of complexere automatiseringen.


7. Linux – eigen webserver

Je installeert een Linux-server in een virtuele machine en beheert deze via de terminal.

Je:

  1. maakt een virtuele machine;
  2. installeert bijvoorbeeld Ubuntu Server of Debian;
  3. maakt en beheert gebruikers;
  4. leert werken met Linux via de terminal;
  5. installeert Apache of Nginx;
  6. maakt een eigen eenvoudige website;
  7. plaatst deze op de server;
  8. zorgt dat de website vanaf je eigen computer bereikbaar is;
  9. installeert en configureert SSH;
  10. logt vanaf je eigen computer via SSH in;
  11. onderzoekt de logbestanden van de webserver.

Mogelijke uitbreidingen zijn:

  • PHP;
  • MariaDB/MySQL;
  • website met database;
  • virtual hosts;
  • firewall;
  • SSH-keys;
  • automatische back-ups;
  • REST-API;
  • tweede virtuele machine;
  • Docker;
  • webapplicatie in een container.

Havo: je bouwt een werkende Linux-webserver en kiest minimaal twee technische uitbreidingen.

Vwo: je onderzoekt daarnaast bijvoorbeeld netwerkconfiguratie, gebruikers en rechten, beveiliging, services of containers.

Je moet uiteindelijk kunnen uitleggen wat er gebeurt bij:

browser → netwerk → Linux-server → webserver → website/applicatie


8. Cybersecurity – Hack The Box

Je verdiept je in cybersecurity met behulp van Hack The Box Academy.

Je volgt een vooraf afgesproken leerroute en voert bijbehorende oefeningen uit.

Het doel is niet alleen een opdracht oplossen. Je onderzoekt steeds:

  1. wat je probeert te bereiken;
  2. welke techniek je gebruikt;
  3. waarom deze techniek werkt;
  4. welke kwetsbaarheid wordt gebruikt;
  5. hoe deze kwetsbaarheid voorkomen kan worden.

Je documenteert de gebruikte commando's en technieken.

Je voert beveiligingstests uitsluitend uit binnen de daarvoor bedoelde oefenomgevingen.

Havo: de nadruk ligt op het correct uitvoeren en begrijpen van de behandelde technieken.

Vwo: je gaat dieper in op de achterliggende werking van bijvoorbeeld Linux, netwerken, protocollen, services en kwetsbaarheden en legt verbanden tussen aanval en beveiliging.


9. Eigen voorstel

Heb je zelf een ander idee? Dat kan.

Bespreek het idee voordat je begint.

Je voorstel moet:

  • voldoende programmeer- of technische uitdaging bevatten;
  • haalbaar zijn binnen de beschikbare tijd;
  • tijdens de lessen uitvoerbaar zijn;
  • een concreet eindproduct hebben;
  • qua niveau vergelijkbaar zijn met de bovenstaande opdrachten.

Voor vwo moet uit het voorstel bovendien duidelijk worden waar de technische verdieping zit.

Wat lever je in? Scrummen