Kennismaking
NOTES
- Individuele achtergrond en doelstellingen. Welke ervaring heb je al en wat hoop je te bereiken?
-
Overzicht van de opleiding.
- Algemeen en niet taal-specifiek!
- Dit zijn de officiële leerdoelen.
- De grote lijnen kloppen zeker, maar we wijken er ook af en toe van af.
- Niet sequentieel of in exacte volgorde. Meestal 2 modules in parallel. We starten ook met een stuk van de DevOps module.
-
Starten hier met opzetten van een ontwikkelingsomgeving
-
Volledig nieuwe opleiding. Veel materiaal voor 1 jaar. Zeker feedback geven.
-
Eindwerk?
Voorbereiding:
- Reset Windows VirtualBox
Overzicht opleiding¶
| Module | Docent | Inhoud |
|---|---|---|
| 1 - Programmeren & AI Workflow | Rob | • Probleemoplossend denken en analyse • Basis programmeerconstructies • Functies, structuur en modulariteit • Debugging en foutafhandeling • AI als ondersteunend hulpmiddel bij programmeren |
| 2 - Web & HTTP Fundamentals | Rob | • Web & HTML als basis • CSS en responsieve layout • Formulieren en gebruikersinteractie • HTTP en client-serverdenken • Basis websecurity-hygiëne |
| 3 - Data & SQL Foundations | Luc | • Data-denken en analyse van informatie • Datamodellering en normalisatie • SQL basis - data lezen en aanpassen • Databetrouwbaarheid, performance-intuïtie |
| 4 - Backend Fundamentals | Fabrice | • Backend-context en API-denken • Validatie, foutafhandeling en betrouwbaarheid • Structuur en lagen in backendcode • API-contracten en documentatie • Logging |
| 5 - Frontend Engineering | Rob | • Frontend als interactielaag • State, dataflow en UI-consistentie • Asynchrone interactie en API-koppeling • Structuur, herbruikbaarheid en onderhoudbaarheid |
| 6 - Testing & Code Quality | Fabrice | • Waarom testen? Denkmodel en testpiramide • Unit tests en testbaarheid van code • Integratie- en end-to-end tests • Codekwaliteit en reviews |
| 7 - DevOps Basic for Developers | Fabrice | • Samenwerken met Git • Git workflows en conflicten • Continuous Integration basics • Deploymentconcepten voor developers • Containers |
| 8 - Security & Team Project | Rob | • Security-bewust ontwikkelen • Observability awareness • Teamcapstone - implementatie • Afwerking en oplevering • Demo, reflectie en voorbereiding eindproef |
Development Environment¶
Editor / IDE¶
Een editor is een programma waarmee je tekstbestanden bewerkt. De belangrijkste verschillen met een tekstverwerkingsprogramma zijn dat er enkel tekst wordt opgeslagen (dus bvb. geen beelden) en geen opmaakinformatie. Bijvoorbeeld bestanden met de extensie .txt. Een editor die iedereen waarschijnlijk kent is Windows Kladblok (Notepad).
Een IDE, of Integrated Development Environment, is als een editor, maar met extra gereedschap dat in hetzelfde programma zit, zodat je niet van tool naar tool moet wisselen. Bvb.
- Code kleuren (Syntax Highlighting)
- Code aanvullen (Autocomplete)
- Debugger integratie
- Terminal, bestandsverkenner, versiebeheer, ...
Voor deze opleiding raden we het gebruik van Microsoft Visual Studio Code (of kort VS Code) aan. Heb je reeds ervaring met een andere IDE, dan mag je die uiteraard gebruiken. Een populair alternatief is PyCharm.
VS Code is beschikbaar voor Windows, macOS en Linux, en kan je eenvoudig installeren via de bovenstaande link.
Python¶
Python installeren¶
Python werd vroeger vrijwel altijd op een van de volgende manieren geïnstalleerd:
- Met de officiële installer van de python.org website. O.a. beschikbaar voor Windows, macOS en Linux.
- Via de package manager van het besturingssysteem. Typisch voor Linux systemen (bvb
apt install python3) maar ook op macOS via homebrew (brew install python).
Daar is zeker niets mis mee, en als je al een recente Python versie (3.14 of hoger) geïnstalleerd hebt, dan kan je daar gerust mee verder werken.
Heb je nog geen Python of wil je een recentere versie installeren, dan raden we de volgende stappen aan.
uv
uv is een Python package manager (zie ook Python Virtual Environments hieronder) waarmee je ook Python zelf kan installeren en beheren.
Uv is de laatste jaren werkelijk ontploft qua populariteit en is min of meer de de-facto standaard voor moderne Python projecten.
Astral, het bedrijf achter uv, is begin 2026 overgenomen door OpenAI.
Met uv kunnen we Python snel installeren, op precies dezelfde manier op Windows, macOS en Linux.
Zelfs als je reeds een werkende Python-installatie hebt, installeer dan toch uv, want we gebruiken het hierna ook als package manager. Uv detecteert dan automatisch je bestaande Python installatie.
Uv installeren:
Herstart Powershell/Terminal na de installatie en gebruik dan het volgende uv commando om de laatste Python versie te installeren.
Met dit commando test je de Python installatie door een enkele regel Python code rechtstreeks uit te voeren.
Python Virtual Environments
TODO: Uitstellen naar latere les in module programmeren?
Python Virtual Environments¶
Net als de meeste programmeertalen heeft Python enerzijds een standard library die automatisch is inbegrepen in elke Python installatie, en anderzijds de mogelijkheid om extra functies als packages te installeren. Requests en FastAPI zijn voorbeelden van zulke extra packages.
Standaard worden zulke extra packages allemaal samen in dezelfde locatie (of omgeving) geïnstalleerd. Hierdoor kom je al snel in een situatie waar versie-conflicten ontstaan. Bijvoorbeeld:
- Project A wil gebruik maken van de laatste Requests (bvb. 2.34.0) maar project B maakt nog gebruik van een oudere versie (bvb. 2.20.0).
- Project C gebruikt een package die zelf afhankelijk is van Requests en heeft minstens versie 2.0.0 nodig. Project D gebruikt dan weer een package die ook Requests nodig heeft, maar nog niet werkt met versie 2.0.0.
Dit is een van de belangrijkste redenen om met zogenaamde virtuele omgevingen (virtual environments) te werken. Dan krijgt elk project zijn eigen unieke omgeving toegewezen waarin Python extra packages kan installeren. Op die manier kan project A met Requests 2.34.0 werken en project B met versie 2.20.0. Ook de Python versie zelf kan verschillen tussen elke omgeving.
Er zijn door de jaren heen heel wat tools ontwikkeld met als doel het opzetten en beheren van virtual environments:
virtualenv: de oudste oplossing, een third-party packagevenv: sinds Python 3.3 ingebouwd in de standaardbibliotheek (python -m venv .venv)pipenv: combineerde venv-beheer én dependency management in één tool, met eenPipfilebestandpoetry: dependency resolution, virtual environments, én packaging/publiceren in één samenhangende workflow met eenpyproject.tomlbestandconda: een apart ecosysteem (vooral in data science), dat naast Python-packages ook systeemafhankelijkheden (zoals C-libraries) beheert.
Net die overvloed aan opties is vaak overweldigend voor nieuwe Python ontwikkelaars. Onder andere daarom kiezen we in deze opleiding voor één moderne optie: uv.
Test¶
Nu alles geïnstalleerd is, kunnen we een test project maken.
Als je VS Code voor de eerste keer start (of een nieuw venster maakt via File → New), heb je de optie om een folder te openen. Maak een nieuwe folder aan (bvb test) en open deze.
Maak een nieuw bestand aan (File → New of CTRL+N / CMD+N), bvb test.py. De .py extensie laat VS Code (en andere software) weten dat dit een Python bronbestand is. In het bestand plaats je de volgende code:
Open in VS Code de Terminal (View → Terminal of CTRL+`/CMD+`) en gebruik het volgende commando om het bestand uit te voeren:
Artificiële Intelligentie¶
NOTES
- Rol van AI is ... moeilijk. Niemand weet ...
- hoe dit zal evolueren
- hoe belangrijk het (nog) is om 'zelf' te kunnen programmeren
- hoe de nieuwe generatie juniors de nodige ervaring zal kunnen opdoen
Nog geen zicht op beschikbaarheid AI tools vanuit Syntra...
In deze opleiding wordt AI gezien als een expliciet onderdeel van het leerproces:
- Correct gebruiken van AI
- Valideren van output
- Verantwoordelijkheid behouden
De focus ligt op begrijpen, valideren en keuzes uitleggen.
Er is een zichtbare trend: de ontwikkelaars die het meeste succes boeken met AI zijn net degenen die al veel ervaring hebben (zonder AI) en het werk ook zelf (handmatig) zouden kunnen doen.
Een nieuwe uitdaging vandaag is hoe we diezelfde ervaring kunnen opbouwen in combinatie met AI-gebruik.
Effectief gebruik van AI in het onderwijs is een nieuwe uitdaging voor iedereen!
Maak dus doelbewust gebruik van AI als assistent en leermiddel en vermijd de verleiding om elk probleem simpelweg te delegeren.
Gebruik van AI bij opdrachten
Het is dus duidelijk toegestaan, en zelfs aangeraden, om AI te gebruiken tijdens het maken van taken, opdrachten of eindwerken.
Er wordt echter van cursisten verwacht dat zij alle code (die relevant is voor de opleiding) volledig begrijpen en kunnen uitleggen.
Contact¶
NOTES
Cursisten zetten meestal een onderlingen WhatsApp groep op.
Zijn er nog vragen?
Bij voorkeur via Teams, maar e-mail mag zeker ook.