Graduaat Programmeren
Eerste vak met bestaande codebase.
Reverse engineer → analyseer architectuur & kwaliteit → refactor/verbeter → daarna features voor de echte klant. Agile.
Werkplekleren
Bestaande
codebase
Codekwaliteit
Agile
Tip: wacht niet tot de deadlines om hieraan te werken.
const course = {
name: 'Nieuwe Technologie',
focus: ['Refactoring', 'Cloud'],
exam: false,
continuous: true,
start: async () => {
await team.build();
return 'Success';
}
};
// Ready to deploy?
Container
Docker
Quality
Sigrid
Source Control
GitHub
Wat je kunt verwachten
Dit is geen standaard theorievak. Je werkt continu doorheen het semester aan een project. Het vraagt regelmatige inzet en aanwezigheid, net als op een echte werkvloer.
Je wordt beoordeeld op je proces en eindresultaat. Er is geen examenmoment en geen tweede zit. Je werkt continu, en op het einde ben je geslaagd of niet.
In plaats van "Greenfield" (vanaf nul beginnen), leer je werken in "Brownfield" projecten. Je leert bestaande code begrijpen, refactoren, verbeteren en uitbreiden.
Echte tools (Git, CI/CD, Docker)
Echte code (Legacy & Modern)
Echte samenwerking (Scrum)
"Bedrijven klagen vaak dat starters wel iets nieuws kunnen maken, maar moeilijk hun weg vinden in bestaande code. Dit vak lost dat op."
Van Greenfield naar Brownfield
Bedrijven merken vaak op dat starters uitstekend nieuwe projecten kunnen opzetten, maar moeite hebben met het navigeren in bestaande, complexe systemen.
Schoolprojecten zijn vaak "Greenfield" (vanaf nul beginnen). De realiteit is meestal "Brownfield": code lezen, bugs fixen en features toevoegen aan software die al jaren draait.
Je groeit van "ik kan iets bouwen" naar "ik kan een bestaand systeem verbeteren". Dit is de meest gevraagde skill in de huidige arbeidsmarkt.
School
Start from scratch
Werkveld
Maintain & Extend
"80% van de tijd als developer spendeer je aan het lezen en begrijpen van andermans code."
Wat je leert in dit vak
Verdiepen in C#, .NET en React codebases. Leren lezen en begrijpen wat er al staat. Technische documentatie van gewijzigde en toegevoegde code in de softwarebeheersomgeving.
Werken in teams met echte rollen, sprints, demo's en retrospectives.
Code opschonen, veiliger maken en structureel verbeteren (geen quick fixes).
CI/CD pipelines met geautomatiseerd testen opzetten en applicaties live zetten in een moderne cloudomgeving.
Professioneel versiebeheer met Pull Requests, branches en Code Reviews.
Resultaten en technische keuzes helder en professioneel verdedigen voor een jury.
Begrijpen
Analyse & Exploratie
Verbeteren
Refactoring & Security
Features toevoegen
Uitbreiden & Integreren
Opleveren
Deploy & Present
"Het doel is niet 'iets maken', maar 'waarde toevoegen' aan wat er al is."
Hoe word je beoordeeld?
Hoe goed werk je samen? Neem je je Scrum-rol (Master, PO, Dev) serieus op?
Samenwerking & Proces
Hoe proper is de code? Is de refactoring geslaagd? Is de security in orde?
Code, Security & Deploy
Volgen jullie de afspraken? Is de code leesbaar en onderhoudbaar?
Readme & Standards
Is het verhaal duidelijk? Professioneel gebracht? Technisch correcte uitleg? Ben je eerlijk?
Demo & Storytelling
Jouw score kan afwijken van het teamresultaat op basis van je inzet.
Belangrijke voorwaarden
Aanwezigheid tijdens contactmomenten is verplicht. Dit vak heeft geen herkansing.
Wat gaan we doen en hoeveel tijd kost het?
3 SP
Studiepunten
75u
Totale Tijd
±24u
Contacturen
Liever regelmatig een paar uur werken dan alles in één sprint proppen.
Ontdekken van de bestaande code, structuur begrijpen en eerste kleine fixes.
Code verbeteren, opschonen en nieuwe functionaliteit toevoegen. Technische kwaliteit verhogen.
Project effectief online zetten (Cloud/Docker) en eindpresentatie voorbereiden.
Kick-off 19 feb • Paasvakantie wk 8–9 • Oefenpresentatie 21 mei • Eindpresentatie 11 jun
Sprint 1 demo
→ Sprint 2 (refactoring)
5 mrt • 13:30–15:30 • demo en planning
GSCHB.1.026Sprint 2 demo
→ Sprint 3 (new features)
19 mrt • demo en planning
GSCHB.1.026Sprint 3 demo
→ Sprint 4 (nieuwe features)
2 apr • 13:30–15:30 • demo en planning
GSCHT.1.035Paasvakantie 🥚
9 apr • Geen les (vakantie)
Paasvakantie 🥚
16 apr • Geen les (vakantie)
Sprint 4 demo
→ Sprint 5 (nieuwe features)
23 apr • 13:30–15:30 • demo en planning
GSCHT.1.035Onze Lieve Heer Hemelvaart
14 mei • Geen les (feestdag)
Sprint 5 demo
Oefenpresentatie
21 mei • Op campus, feedback
GSCHT.1.035Examenperiode
11 jun • Eindpresentatie / mondeling
De balans tussen theorie en praktijk
Kaders & Concepten
Werken met rollen (PO, SM, Dev), korte iteraties, demo's en retrospectives.
Gestructureerd werken met issues, branches, Pull Requests en code reviews.
Automatiseren van builds, testen en deployments via workflows.
Doen & Ervaren
Werken op bestaande codebases: lezen, begrijpen, en veilig aanpassen.
Focus op security, maintainability, architectuur en clean code principes.
Applicaties live zetten in de cloud met behulp van containers (Docker).
19 feb • Repo, team, rollen
Elk team (~4 studenten) verdeelt de volgende Scrum-rollen:
Product Owner
Scrum Master
Quality Assurance
DevOps Engineer
De DevOps Engineer gebruikt GitHub Template en voegt andere teamleden toe aan het project.
De Product Owner maakt een Kanban board aan in GitHub Projects.
De Quality Assurance gebruikt het Sigrid-token en voert een pull request uit om het project aan Sigrid toe te voegen.
De Scrum Master plant sessies in met het team om te werken.
We gebruiken tools om codekwaliteit objectief te maken, zodat je niet alles manueel hoeft na te kijken.
Verantwoordelijkheden per rol • GitHub Projects als Kanban
Accountable voor wat we bouwen
Accountable voor hoe we werken
Accountable voor kwaliteit
Accountable voor pipeline & deploy
Iedereen is verantwoordelijk voor alles — de rollen zijn accountable. Iedereen is ook developer en draagt bij aan de codebase.
Breakout rooms, Excel, Sigrid en repo
Vul het Excel-bestand in met bestandsnaam NT-Team-<nummer breakoutroom>.
Kolommen: Naam, E-mail, GitHub username, Expertise, Rol, Fun fact.
Nadien krijgt QA toegang tot Sigrid via e-mail. Deze persoon kan de rest van het team in Sigrid toevoegen.
DevOps fork de repository met naam team-<teamnummer> en geeft de rest van het team toegang.
Wees nauwkeurig in de naamgeving in Git — dit wordt gebruikt voor identificatie.
Naam, rol en een paar fun facts
Can you guess whose fun facts these are?
Kies als team één project om aan te werken
Vijf MindGames-projecten — zie de volgende slides voor details.
Deze samenvattingen zijn met Cursor AI opgesteld. Analyseer de echte codebase en documentatie zelf.
Thanks team 2 for willing to change project with team 3!
3D projects seem to be scary for now.
Geheugen en visuele aandacht
Webspel voor cognitieve ondersteuning van patiënten: geheugen en visuele aandacht oefenen door een afbeelding te onthouden, een vraag te beantwoorden en het verschil te vinden.
Ruimtelijke oriëntatie en navigatie
3D-doolhofspel voor cognitieve ondersteuning: patiënten oefenen ruimtelijke oriëntatie, navigatie en planning; verpleegkundigen kunnen voortgang per patiënt volgen.
Ruimtelijke oriëntatie, navigatie en planning.
Aandacht, geheugen en tellen
Cognitief ondersteuningsspel voor patiënten met cognitieve stoornissen: bijhouden hoeveel personen in een huis zijn terwijl mensen in- en uitgaan.
Aandacht, geheugen en tellen: continu volgen wie in- en uitgaat en hoeveel er overblijven.
3D-supermarkt, geheugen en rekenen
3D-boodschappensimulator voor cognitieve ondersteuning: first-person virtuele supermarkt, boodschappenlijst onthouden, producten zoeken en betalen met wisselgeldcontrole.
Adminpaneel: scores (speeltijd, lijst-checks, fouten checkout), spelers beheren. Meertaligheid: NL, EN, FR, DE.
Geheugen en oriëntatie
Webapplicatie voor cognitieve ondersteuning: geheugen en oriëntatie oefenen rond het onthouden van locaties van alledaagse voorwerpen (door studenten voor een verpleegster).
Geheugen en oriëntatie: locaties van voorwerpen onthouden en terugvinden.
Kies één domein om de codebase door te lichten
Kies als team één domein om de codebase op door te lichten:
Hoe aanpasbaar is de code? Let op duplicatie, naamgeving, en lange methodes.
Structuur & logica. Zijn de lagen duidelijk gescheiden? Waar zit de logica?
Veiligheid. Zoek naar lekken, input validatie, secrets in code, en rechten.
Externe libraries. Zijn ze up-to-date? Zijn er kwetsbaarheden of licentie-issues?
Deployment. Hoe wordt er gebouwd en gedeployed? Werkt de pipeline?
Betrouwbaarheid. Werkt het zoals bedoeld? Is er voldoende testdekking?
Prepare
The demo includes (deliverables):
26 feb • Optionele Q&A en werken aan Sprint 1-doelen
Werk aan Sprint 1 (analyse).
Gebruik deze week om te werken aan sprint 1-doelen.
GitHub & Agile best practices
Gevraagd door studenten. Start na afloop van de Q&A.
5 mrt • demo en planning
Je demo moet bevatten (zie DOEL SPRINT 1):
Blik als team terug op de eerste weken.
Upload op Chamilo (deadline: 12/03 • 13u30).
Kies een item om volgende week te refactoren. Verbeter de codebase en toon aan dat ze verbeterd is (bv. Sigrid, tests, docs).
12 mrt • werksessie + optionele Q&A
Net als week 2: werk verder richting de sprintdoelen.
Kies een refactoring-item
Kies wat je in de planning van week 3 hebt vastgelegd.
Verbeter de codebase
Werk in branches en houd commits betekenisvol.
Toon de verbetering aan
Gebruik Sigrid, tests, docs of voor/na-bewijs.
Bereid je sprint 2-demo voor
Verzamel op voorhand bewijs en demoflow.
Bevestig de scope en verdeel taken binnen het team.
Implementeer de gekozen refactoring in kleine stappen.
Voer tests uit en verzamel meetbaar bewijs.
Gebruik de optionele Q&A als je vastloopt.
Houd je board up-to-date terwijl je aan sprint 2-doelen en demo-bewijs werkt.
19 mrt • Optionele Q&A en werken aan Sprint 2-doelen
Net als week 3: presenteer eerst de sprintdemo.
De klant sluit waarschijnlijk aan en vraagt nieuwe sprint 3-features tijdens de sessie.
26 mrt • Optionele Q&A
De feature moet méér zijn dan alleen werkende code. Let op:
Architectuur
Past binnen bestaande structuur
Security
Input validatie & auth checks
Error Handling
Geen crashes, duidelijke logs
Testing
Unit & Integration tests
Implementeer de feature (scherm, API, logica).
Zorg dat het naadloos samenwerkt met bestaande code.
Schrijf tests en fix code smells (Sonar/Sigrid).
Denk na over Docker en cloud vereisten.
Een feature is pas af als hij draait in de cloud. Begin nu al met voorbereiden.
Vastgelopen op architectuur of Docker config?
Optionele Q&A Sessie
Check de agenda voor tijdstip
Slides for the other weeks will be added gradually.
2 apr • demo en planning
Toon niet alleen wat werkt, maar ook hoe het gebouwd is:
Nieuwe Feature
Demonstreer de functionaliteit live.
Quality Impact
Wat is het effect op metrics (Sigrid)?
Architecture & Reuse
Slim hergebruik van bestaande code?
Presenteer aan stakeholders en lector.
Ontvang feedback op techniek en teamwork.
Wat liep goed? Wat kan beter?
Voorbereiding volgende sprint.
Is de nieuwe feature naadloos geïntegreerd? Hebben jullie consistente architectuurkeuzes gemaakt?
Kies jullie focus voor de volgende sprint:
2 apr • demo en planning
Geen presentaties
Reserve / Inhaal
Planning voor na Paasvakantie (wk 8–9)
Integration with External API
"Als organisator wil ik de weersvoorspelling zien voor een speeldag, zodat ik voorzieningen kan treffen."
Toon temperatuur & neerslag voor geselecteerde dag.
Gebruik open-meteo.com API als bron.
Locatie via browser (fallback: Gent, BE).
Backend fetcht data (caching mag, niet verplicht).
Framework Migration & Maintenance
Microsoft Launch: .NET 10 LTS is live!
Tijd om de applicatie bij te werken naar de nieuwste Long Term Support versie.
Applicatie draait volledig op .NET 10.
Alle bestaande functionaliteit werkt nog (regressie).
Manuele testen zijn voldoende.
Nice to have: update dependencies.
23 apr • demo en planning
Toon niet alleen wat werkt, maar ook hoe professioneel het in elkaar zit.
Demonstreer de werkende functionaliteit live.
Toon impact met Sigrid/SonarQube metrics.
Hoe integreert de code met de rest van het systeem?
Evaluatie vanuit rol als Projectleider/Klant.
Zijn er nog bugs? Is de afwerking professioneel?
Wat ging er beter dan in vorige sprints? Wat kan nog beter?
Jullie tonen nu meer eigenaarschap. Kies zelf de volgende stap uit de backlog of keuzelijst.
Kies een feature uit de keuzelijst.
Verfijn bestaande code of werk technische schuld weg.
Dit is het moment waarop je team zich toont als een echte mini-softwarecel. Minder begeleiding nodig, meer zelfsturing.
23 apr • demo en planning
Werk openstaande bugs weg. Zorg dat de applicatie niet crasht en fouten netjes afhandelt.
Fix it fast
Geen "quick fixes" meer. Schoon de code op, verwijder ongebruikte functies en imports.
Refactor
Review elkaars code. Zorg voor uniforme naamgeving en mappenstructuur over het hele project.
Peer Review
Is de README up-to-date? Kloppen de installatie-instructies voor een nieuwe developer?
README.md
Zorg dat de container correct bouwt, start en draait in de cloud-omgeving.
Hulp nodig?
Er is deze week een optionele Q&A sessie beschikbaar als je vastzit met deployment of technische vragen.
30 apr • Optionele Q&A
Toon de laatste versie van jullie features en refactorings.
Features & Refactoring
Wat is er afgewerkt in deze sprint?
Impact op Kwaliteit
Bewijs met metrics: is de code veiliger, sneller of beter leesbaar?
Stabiliteit
Draait de applicatie stabiel in de cloudomgeving?
Feedback op resultaat, kwaliteit en proces vanuit een professioneel perspectief.
Reflectie over het hele traject. Wat hebben we geleerd?
Wat ging beter dan verwacht? Wat zou je anders doen?
Geen nieuwe features meer. Alles staat in het teken van de eindpresentatie en oplevering.
Dit is de fase van afronden en oppoetsen. Zorg dat alles professioneel oogt en werkt voor de eindjury.
21 mei • Op campus, feedback
Is de opbouw logisch? Van startpunt naar oplossing. Kloppen de slides?
Helderheid & Structuur
Werkt alles live? Is de data gereset? Hebben jullie een backup-plan?
Stabiliteit & Flow
Wie presenteert wat? Wie bestuurt de demo? Verlopen de wissels vlot?
Professionaliteit
Blijven jullie binnen de tijd? Is er voldoende tijd voor vragen en Q&A?
Management
Jullie presenteren voor de lector én andere teams. Peer-feedback is essentieel.
Het doel van deze sessie
Dit is geen evaluatie, maar een leermoment. Fouten maken mag vandaag, zodat het volgende week perfect is.
11 juni • Het moment van de waarheid: toon jullie traject van startpunt tot resultaat aan de lector en klant. Team timeslots worden gedeeld.
Wat was de beginsituatie? Wat kregen jullie?
Hoe hebben jullie gewerkt? Welke keuzes?
Wat is er bereikt? Wat is er verbeterd?
Wat hebben jullie geleerd (tech & team)?
Vragen en antwoorden komen hier
Vragen en antwoorden worden hier verzameld en toegevoegd naarmate ze tijdens het semester gesteld worden.
Check deze slide of Chamilo/Teams voor updates.
Contact en links