Inhoud
Module 1A – Computersystemen en software...........................................2
Module 1B - Computernetwerken, internet en cloud...............................15
Module 2A - Big Data, Machine Learning en Artificiële Intelligentie........35
Module 2A – II. Maatschappelijke uitdagingen........................................54
Module 2A – III. Recente beleidsontwikkelingen......................................59
Module 2B – Slimme algoritmes in tekst- en beeldanalyse.....................66
Module 2B – II. Beeldanalyse..................................................................74
Module 2B – III. Tekstanalyse..................................................................86
Module 2C – I. Legal Tech........................................................................92
Module 2C – II. AI in de rechtspraak........................................................98
Module 2D – I. Overzicht Regulering van AI..........................................109
Module 3A – I. Begrippen en definities..................................................118
Module 3A – II. Uitdagingen voor online privacy...................................123
Module 3A – III. Anonimiseren van databanken en differentiële privacy
..............................................................................................................134
Module 3B – II. Basisconcepten van Computerbeveiliging....................155
Module 4A – II. Bouwstenen van de blockchaintechnologie..................171
Module 4A – III. Blockchain focus: Bitcoin (BTC) en Ethereum (ETH)... .175
Module 4B – I. Blockchain en de AVG....................................................183
Module 4B – II. Blockchain focus: smart contracts................................189
Module 5A – II. Wetgeving rond biotechnologie....................................200
Module 5B – II. De regelgeving bij de nieuwe technologieën................213
1
,Module 1 – Computer- en internettechnologieën
Module 1A – Computersystemen en software
1. Computersystemen
1.1. De digitale revolutie
Digitale Transformatie:
Definitie: De digitale transformatie verwijst naar de ingrijpende impact
van digitale technologieën op de samenleving, wat in de toekomst nog
verder zal toenemen.
Impact: Onze manier van leven, werken en wonen verandert drastisch
door de digitale verwerking van data en documenten.
Voorbeelden van Digitale Verwerking:
Belastingaangiftes
Doktersattesten
Notarisaktes
Betaalbewijsjes
Digitalisering van Bedrijfsprocessen:
E-government
Elektronisch betalen
Online bestellen
Virtueel les volgen
Automatisatie in magazijnen en bedrijfshallen
Papierloze kantoren
Elektronische vliegtuig- en treintickets
Digitalisering van de Samenleving:
Volledig leven in een digitale cultuur, genoemd "digitaliteit" door Nicolas
Negroponte (MIT).
Gevolgen van Digitale Transformatie:
Sociaal-economische Impact: Grote invloed op economie en markt, met
nieuwe economische spelers.
Mentaal-culturele Omslag: Mensen moeten zich aanpassen aan de
nieuwe digitale realiteit.
Voordelen vs. Nadelen: De voordelen (efficiëntie, gemak) worden groter
ingeschat dan de nadelen.
2
,Technologische Vooruitgang:
ICT (Informatie- en Communicatietechnologie): Onderliggend aan de
digitale transformatie.
o ICT-hardware: Vooruitgang in fysieke technologieën.
o ICT-software: Vooruitgang in programmatuur en toepassingen.
1.2. Computers en hun Geschiedenis
Digitale Revolutie:
Gedragen door computers (hardware en software) die wereldwijd via
netwerken verbonden zijn.
Toepassingen van Computers:
Microcontrollers: Specifieke taken (bv. aansturen van huishoudapparaten
zoals wasmachines).
Onzichtbare Computers: In huishoudapparaten, auto's, en online
diensten (bv. Google zoekopdrachten).
Technologische Uitvindingen:
Uitvindingen die de mogelijkheden van de mens uitbreidden: landbouw,
wiel, schrift, gedrukte boek, stoommachine, elektrificatie, telefoon, radio,
televisie, ontploffingsmotor, auto, vliegtuig, computer en internet.
Unieke Eigenschappen van Computers:
Programmeerbaarheid voor meerdere toepassingen via software.
Berekeningen en gegevensverwerking volgens algoritmes.
Geschiedenis van computers:
1900 eeuw: Mechanische rekenmachines (bv. Babbage machine).
20 eeuw: Elektronische componenten (elektronenbuizen, later
halfgeleidertransistoren).
Ontwikkelingen in de 20e Eeuw:
IBM: Toonaangevend sinds 1911.
Tweede Wereldoorlog & Koude Oorlog: Drijfveren voor
computerontwikkeling.
Elektronenbuizen: Groot, hoog vermogen, weinig bedrijfszeker (bv.
ENIAC).
Halfgeleidertransistor (1947): Betere prestaties, minder vermogen.
3
,Moderne Technologische Vooruitgang:
CMOS-technologie: Snellere, betrouwbaardere computers, minder
vermogen.
Geïntegreerde schakelingen (IC's): Krachtigere en kleinere computers.
Persoonlijke Computer:
Apple II (1977)
IBM PC (1981)
Ontwikkeling van laptops, netbooks, tablets
Toonaangevende Bedrijven:
Intel (1968)
Motorola (1928, actief in computerchips sinds 1974)
Apple (1976)
Softwarebedrijven:
Microsoft (1975): Besturingssystemen (MS DOS, Windows) en
applicatiesoftware (MS Word, Office).
Adobe (1982): Diverse softwaretoepassingen.
Opkomst van Softwarediensten:
Amazon (1994)
Google (1998)
Facebook (2004)
YouTube (2005)
Spotify (2012)
Huidige Trend:
Overwicht naar aanbieders van softwarediensten via het internet.
Chips Act-initiatieven: Waarschuwing tegen afhankelijkheid van
buitenlandse hardwareproductie.
1.3. De Wet van Moore
Basis van Micro/Nano-Elektronica:
Transistoren: Digitale programmeerbare schakelaars (aan = 1, uit = 0).
4
, Gegevensweergave: Alles (getallen, foto's, geluid) wordt voorgesteld als
reeksen van nullen en enen.
Chips: Vele transistoren verbonden op een geïntegreerde schakeling (IC of
chip), gebruikt voor rekenprocessoren en geheugens.
Wet van Moore:
Voorspelling (1965): Gordon Moore voorspelde dat het aantal
transistoren op een chip elke 1,5 jaar zou verdubbelen, later bijgesteld
naar elke 2 jaar.
Impact: Door schaalverkleining worden computers steeds sneller en
krachtiger voor dezelfde prijs.
Actuele Transistoren: Actieve lengte van enkele nanometers, chips
bevatten meer dan honderd miljard transistoren.
Exponentiële Groeitrend:
Grafiek: Vergeleken met commerciële processoren, toont een lineaire
trend op logaritmische assen, wat een exponentiële toename in
rekenkracht betekent.
Nieuwe Toepassingen: Meer rekenkracht leidt tot complexere
probleemoplossingen en nieuwe online diensten.
Netwerken en Exponentiële Groei:
Toename van Computers: Totale aantal computers neemt toe, versterkt
door netwerken.
Diensten: Reken- en datatransferdiensten mogelijk maken zonder
superkrachtige lokale computers.
Servers: Krachtige rekenservers bieden diensten (bv. zoekacties,
streaming) aan via netwerken, resultaat terug naar lokale computers
(cliënten).
Supercomputers:
Kenmerken: Speciaal ontworpen voor groot rekenvermogen, bevatten
vele processoren en snel intern netwerk.
Gebruik: Onderzoekswerk (bv. encryptie, klimaatonderzoek, moleculaire
modellering) in universiteiten en onderzoeksinstellingen.
Vlaamse Supercomputer Centrum (VSC): Beschikbaar voor alle
Vlaamse universiteiten.
Toekomst van Rekenvermogen:
Technologische Singulariteit: Verwacht rond 2040-2050, computers
worden krachtiger dan de mensheid.
5
, Boek: "The Singularity is Near" door Ray Kurzweil beschrijft deze
voorspelling.
Risico's: Doemdenkers waarschuwen voor risico's tenzij beperkingen
worden opgelegd aan technologie.
1.4. Computerarchitecturen
Exponentiële Groei in Rekenkracht
Historische Technologieën:
o Elektromechanische computers
o Computers met relays
o Halfgeleidende elektrische buizen
o Micro/nano-elektronische halfgeleidertransistoren
Toekomstige Technologieën:
o Neuromorfe computers
o Kwantumcomputers
o Spintronicacomputers
o DNA-gebaseerde computers
o Moleculaire computers
1.4.1. De Von Neumann-architectuur
Basisstructuur:
o CPU (Centrale Verwerkingseenheid):
Reken-logische eenheid (ALU)
Processorregisters
Besturingseenheid (Control Unit)
o Computergeheugen (RAM): Opslag van data en instructies
o Externe Opslag en I/O Mechanismen: In- en uitvoer van data
Werking:
o Programma's laden instructies in geheugen
o CPU haalt en voert instructies uit
o Gegevens worden verwerkt en opgeslagen
Voordelen: Eenvoudige en effectieve architectuur
6
, Nadelen: Flessenhals bij gezamenlijke toegang naar het geheugen
1.4.2. Neuromorfe Computers
Doel: Nabootsen van de neurobiologische architectuur van het menselijk
brein
Eigenschappen:
o Zelflerende systemen met plasticiteit
o Beslissingen nemen op basis van nieuwe gegevens
Toepassingen: Cognitieve taken zoals beeld- en geluidsherkenning,
autonome systemen
Voorbeelden: Intel's Loihi chip, IBM's TrueNorth chip, imec's
muziekcomponerende chip
Voordelen: Sneller en energiezuiniger voor specifieke taken dan klassieke
computers
1.4.3. Kwantumcomputers
Basisprincipes: Gebruik van kwantummechanica (superpositie,
verstrengeling, interferentie)
Qubits: Kunnen tegelijkertijd de waarden "0" en "1" hebben
Rekenkracht: Exponentieel met aantal qubits (2^#qubits)
Toepassingen: Encryptie, zoeken in databanken, kwantumsimulaties, AI,
machinaal leren
Beperkingen:
o Decoherentie: Onstabiliteit van verstrengelde qubits
o Beperkt aantal qubits (bv. IBM's Osprey met 433 qubits)
o Extreem koelingsvereisten
Vooruitgang: Foutencorrectie methodes en ontwikkeling van
kwantumsoftware algoritmes
Toekomst: Verwachte dubbel-exponentiële groei in rekenkracht volgens
Neven's wet
2. Algoritmes
7
,Programmeerbaarheid van Computers:
Softwareprogramma: Geschreven in programmeertalen (bv. Java, C++,
Python).
Broncode: Computeronafhankelijk programma.
Uitvoeringscode: Gecompileerd programma, uitgevoerd door specifieke
computer.
2.1. Wat is een Algoritme?
Definitie: Eindige reeks instructies om een probleem op te lossen.
Voorbeelden: Tekenen van een cirkel, numerieke berekeningen,
zoekacties in webbrowsers.
Efficiëntie: Verschillen in tijd en hardware benodigd om problemen op te
lossen.
Implementatie: Algoritme is de beschrijving, computerprogramma is de
implementatie.
Algoritme Voorbeeld - Euclides' Algoritme:
Doel: Grootste gemene deler (GGD) van twee getallen a en b.
Stappen:
1. Initieel: A = a, B = b.
2. Als B = 0, uitkomst is A, stop.
3. Als A > B, trek A af van B, herhaal stap 2.
4. Anders, trek B af van A, herhaal stap 2.
Kennis in Algoritmes:
Declaratieve Kennis: Feitelijke uitspraken, bv. definitie van een
probleem.
Procedurele Kennis: Methode van oplossing, bv. stappen om een cirkel
te tekenen.
2.2. Kenmerken van Algoritmes
Correctheid: Algoritme moet juiste uitvoer geven voor gegeven invoer.
Eindigheid: Algoritme moet in een eindige tijd stoppen met een zinnig
antwoord.
Uitvoeringssnelheid: Hoe snel berekent het algoritme het gewenste
antwoord?
8
, Robuustheid: Kan het algoritme omgaan met alle mogelijke invoer, zelfs
foutieve?
Elegantie: Is het algoritme leesbaar en begrijpbaar voor programmeurs?
Recente Uitdagingen:
Ethiek: Is het algoritme ethisch verantwoord? (bv. autonome
beslissingen).
Duurzaamheid: Wat is de impact op het milieu? (bv. ecologische
voetafdruk van zoekacties).
Eindgebruikersvereisten:
Gebruiksvriendelijkheid: Eenvoudig te gebruiken computerprogramma.
Grafische Interface: Mooi ogende gebruikersinterface.
Kosten: Betaalbare aanschafprijs.
2.3. Classificatie van Algoritmes
Deterministische Algoritmes:
Definitie: Produceren voor een gegeven invoer steeds dezelfde uitvoer.
Voorbeeld: Algoritme van Euclides voor de grootste gemene deler.
Probabilistische of Stochastische Algoritmes:
Definitie: Kunnen voor dezelfde invoer verschillende uitkomsten
genereren, afhankelijk van een willekeurig proces.
Voorbeeld: Algoritme voor het vinden van het optimum van een
wiskundige functie.
Slimme Algoritmes of Machinaal Leren (ML):
Definitie: Verbeteren zichzelf op basis van eerdere ervaringen.
Werking: Gebruiken een model opgebouwd uit trainingsdata om nieuwe
invoer te verwerken.
Domein: Kunstmatige intelligentie.
2.4. Illustratie: Algoritmes voor het "raad-mijn-getal"-spelletje
Algoritme A: Willekeurig raden
Beschrijving: Raadt willekeurig een getal, herhaalt indien fout.
Eigenschappen: Niet efficiënt, kan mogelijk nooit stoppen.
Algoritme B: Sequentieel raden
Beschrijving: Raad alle getallen sequentieel.
9
, Eigenschappen: Stopt gegarandeerd, gemiddeld 64,5 pogingen nodig
voor 128 getallen.
Algoritme C: Binaire zoekmethode
Beschrijving: Halveert zoekruimte door steeds het middelste getal te
raden.
Eigenschappen: Maximaal 7 pogingen voor 128 getallen, efficiënt
(log2(n) pogingen).
Algoritme D: Slim algoritme met voorkeurkennis
Beschrijving: Past binaire zoekmethode aan op basis van eerdere
voorkeurgetallen.
Eigenschappen: Gemiddeld sneller dan C, maar kan langer duren als Jan
afwijkt van voorkeurgedrag.
Grafiek van Uitvoeringssnelheid:
X-as: Aantal getallen.
Y-as: Aantal benodigde stappen.
Resultaat: Algoritme C werkt veel sneller dan B; D is gemiddeld sneller
dan C.
Programmeerimplementatie van Algoritme C in Pseudo-code en Python:
Pseudo-code: Stapsgewijze beschrijving in begrijpelijke termen.
Python: Concreet voorbeeld in programmeertaal Python.
Gebruik van Slimme Algoritmes in de Praktijk:
Voorbeelden: Zoekmodules in browsers, routebepaling in Waze,
aanbevelingen op online shopping sites.
Technieken: Machinaal leren en kunstmatige intelligentie.
Belang van Data: "Data is de nieuwe olie."
Complexiteit en Verantwoordelijkheid van Slimme Algoritmes:
Vraagstukken: Begrijpelijkheid van grote softwareproducten,
verantwoordelijken voor algoritmegedrag.
Discussie: Wordt verder besproken in module 2.
3. Software
3.1. Softwareontwikkeling
10