Deel 1 – Computer- en internettechnologieën
1.1 Computersystemen, algoritmes en software
1.1.1 Inleiding
Computers en de software die ze uitvoeren vormen de motor v/d digitale transformatie
1.1.2 Computersystemen
1.1.2.1 De digitale revolutie
- Huidige samenleving gekenmerkt door digitale revolutie = digitale transformatie
o Ingrijpende impact op manier van leven, wonen en werken
o Omvat:
▪ Digitaal verwerken van data en documenten
▪ Digitaliseren van de processen in bedrijven en organisaties
▪ Digitalisering van onze samenleving
o Impliceert dat vele handmatige processen van vroeger nu digitaal worden uitgevoerd
o Sociaal-econ. impact + markt is grondig overhoop gegooid + mentaal-cultureel grote omslag v
mensen
- Mogelijk gemaakt door enorme vooruitgang in info- en communicatietechnologie
1.1.2.2 Computers en hun geschiedenis
- Digitale revolutie gedragen door computers (hardware & software) die via netwerken (wereldwijd)
verbonden zijn
o Computers komen op vele wijze voor
- Steeds verschillende belangrijke technologische uitvindingen gedaan + apparaten/ hulpmiddelen
ontwikkeld om mogelijkheden uit te breiden
o Computer = fundamenteel <> andere uitvindingen (vb. wiel, stoommachine, auto…)
o WANT zijn via software programmeerbaar voor meerdere toepassingen is met software
programmeerbaar om o/d zelfde machine meerdere programma’s te kunnen uitvoeren
- Computers = (met software programmeerbare) hardware machines om berekeningen te maken
A. Evolutie v computers
- 1e ontwikkeld in 19e eeuw m.b.v. mechanische componenten
o 20e eeuw: 1e keer elektronische componenten gebruikt
o WOII + Koude oorlog = grote drijfveren
o Computers met elektronenbuizen = groot + verbruiken veel vermogen + weinig bedrijfszeker
- Door ontwikkeling van CMOS-halfgeleidertechnologie mogelijk gemaakt om snellere en
betrouwbaardere computers te maken die minder vermogen verbruikten
o => computers worden kleiner + krachtiger
o Tegelijk ontstonden eerste bedrijven die software aanboden als product
o Deze groeide samen verder
o WEL ALARMBEL dat we niet al te afhankelijk mogen worden van buitenland inzake hardware
ontwerp en -productie
B. De von Neumann-computerarchitectuur
- Huidige computers gebruiken typisch Von Neumann-architectuur
o John von Neumann = ontwerper
o Ontwerparchitectuur voor elektronische digitale computer bestaat uit:
▪ Centrale verwerkingseenheid (CPU) die bestaat uit:
• Een rekenkundig-logische eenheid (ALU) met processorregisters voor de
berekeningen
• Een besturingseenheid (Control Unit) met instructieregister en
programmateller voor de aansturing
, ▪ Computergeheugen (RAM Memory Unit) om zowel data als instructies op te slaan
▪ Invoer- en uitvoermechanismen en externe massaopslag van gegevens en bestanden
- Dergelijke computer werkt als volgt:
o Geprogrammeerd met softwareprogramma dat ingeladen wordt in geheugen
o CPU haalt 1 voor 1 instructies uit geheugen en voert ze uit op data + geheugen worden
opgeslagen
o Resultaten worden opnieuw naar geheugen weggeschreven
o Eindresultaat van berekening wordt uiteindelijk uitgevoerd
- Bij Von Neumann-architectuur kan ophalen van volgende instructie en uitvoeren van bewerking op
data niet op hetzelfde moment plaatsvinden WANT gemeenschappelijk bus naar geheugen delen
- Momenteel ook andere computerarchitecturen bestudeerd en onderzocht worden
1.1.2.3 Elektronica en de wet van Moore
- Huidige computers zijn opgebouwd met micro/ nano-elektronica
o Basisbouwblok van elektronica = transistor
▪ = digitaal programmeerbare schakelaar die aangeschakeld kan worden om
berekeningen uit te voeren
▪ Alles dient voorgesteld te worden als reeksen van nullen en enen
▪ Worden op geïntegreerde schakeling (chip) met elkaar verbonden om
rekenprocessoren en geheugens te bouwen
o Het mooie aan computers is dat ze programmeerbaar zijn
o Gordon Moore voorspelde dat # transistoren op CMOS-chip elke 1,5 jaar zou verdubbelen
▪ Tempo is bijgesteld naar verdubbeling elke 2 jaar
▪ = de wet van Moore
▪ => worden computers steeds sneller, waardoor ze steeds meer rekenkracht hebben
meer berekeningen per seconde
▪ Trend = bevestigd door grafiek:
exponentiële groei
• = historisch over de jaren heen uitgebrachte commerciële processoren
• Is een lineaire trend maar assen zijn logaritmisch
• DUS rekenkracht van computers neemt exponentieel toe
- Naast rekenkracht per computer, neemt ook totale # computers toe
o => problemen die we nu uitrekenen sneller kunnen oplossen
▪ Realiteit worden er echter gewoon nieuwe en complexere problemen opgelost
▪ + snel veel data te transfereren en nieuwe online-diensten kunnen aangeboden
worden
o => lokale computer niet superkrachtig te zijn terwijl eigenlijke berekeningen elders gebeuren
▪ Op krachtige rekenserver binnen organisatie
▪ Of zelfs op park van krachtige rekenservers in extern datacenter waarvan resultaat
dan via (internet)netwerk terug doorgestuurd wordt naar lokale computer
2
, - BEMERKING:
o Naast gewone computers voor algemeen gebruik ook steeds supercomputers ontwikkeld
▪ Deze hebben buitengewoon grote rekenvermogen
o Mogelijk door intern vele processoren te bevatten en die met zeer snel intern netwerk te
verbinden
o + veel geheugen- en opslagcapaciteit
o Gebruikt voor zware berekeningen in onderzoekswerk op universiteiten of
onderzoeksinstellingen
- Wat gebeurt er nu als die exponentiële groei in rekenkracht blijft doorgaan?
o Wet van Moore voor CMOS-technologie
▪ = deel van curve
▪ + rekenkracht stijgt al exponentieel sinds begin 20e eeuw
o Momenteel naderen computers en rekenkracht die ven krachtig is als brein van 1 mens
o Tegen 2040-50 wordt verwacht dat computers even krachtig zullen zijn als breinen van alle
mensen samen = technologische singulariteit
1.1.2.4 Toekomstige computerarchitecturen
- Exponentiële groei in rekenkracht vindt al meer dan een eeuw plaats
- Om die groei te realiseren over lange tijd waren en zijn verschillende technologieën nodig
o (elektro)mechanische computers
o Computers opgebouwd met relays
o Halfgeleidende elektrische buizen
o Huidige situatie met micro/ macro-elektronische halfgeleidertransistoren
o + onderzoek naar nieuwe technologieën (nog niet bepaald welke werken) zeer beloftevolle
toekomstige technologieën:
▪ Neuromorfe computers
▪ Kwantumcomputers…
A. Neuromorfe computers
- Computers gebaseerd op Von Neumann-architectuur zijn zeer geschikt voor uitvoeren van numerieke
berekeningen
- MAAR minder efficiënt in uitvoeren van cognitieve taken (= herkenning + classificatie v personen op
foto’s) daarvoor wordt gekeken naar neuromorfe computers
o = computers die architecturaal zo zijn opgebouwd dat ze neurobiologische architectuur en
werking van onze hersenen en zenuwen proberen na te bootsen
o !ste eigenschap:
▪ (zelf)lerende systemen zijn die via training voortdurend hun werking kunnen
verbeteren
▪ Zich kunnen aanpassen aan omstandigheden of aan veranderende situaties
▪ = plasticiteit
▪ Die beslissingen kunnen nemen o.b.v. nieuwe gegevens ontvangen
o Wordt gebruikt voor “cognitieve” toepassingen
o Kan deze artificiële neurale systemen ook op klassieke bestaande computers in software
programmeren
▪ MAAR implementaties in specifieke neuromorfe hardware zijn typisch sneller en
verbruiken minder energie
o Domein evolueert snel!
B. Kwantumcomputers
- Voor snellere berekeningen wordt in nabije toekomst veel verwacht van kwantumcomputers
o = computers waarbij rekenprocessor gebruikmaakt van principes van kwantummechanica
o Basiselement = qubits
▪ = kwantummechanisch tegelijkertijd waarden “0” en “1” kunnen hebben
▪ DUS berekeningen met qubits worden tegelijk voor beide waarden uitgevoerd
- Beperking tot op dit moment is dat verstrengeling van qubits vrij snel onstabiel wordt
o => # betrouwbaar uit te voeren kwantumberekeningen en dus lengte van uit te voeren
kwantumalgoritmes op dit moment in de praktijk nog vrij beperkt is
3
, o + hard gewerkt aan foutencorrectiemethodes
- Google beweert kwantumsuprematie gerealiseerd te hebben in 2019
o IBM heeft dit ontkracht
o 2020: China heeft kwantumsuprematie bereikt
o Voorspelling van Neven: rekenkracht van kwantumcomputers neemt toe met tijd volgens
dubbel-exponentiële functie
o + gewerkt aan kwantumcentrische supercomputers
1.1.3 Algoritmes
- Grote voordeel van computers = niet beperkt tot 1 specifieke taak, maar zijn programmeerbaar om
meerdere taken uit te voeren
- Programmeren gebeurt met softwareprogramma, dat geschreven wordt in programmeertaal
- => vertaald naar uitvoerbaar of executeerbaar programma
- Tenslotte uitvoeringscode uit te voeren, voert computer gewenste acties uit naar beoogde einddoel
toe
1.1.3.1 Wat is een algoritme?
- Om taak op te lossen wordt vaak algoritme uitgevoerd
o = eindige reeks instructies om (wiskundige) probleem op te lossen
▪ Het op te lossen probleem is vaak wiskundig gedefinieerd
▪ Ook meerdere manieren mogelijk om probleem op te lossen, DUS meerdere
algoritmes voor hetzelfde probleem mogelijk
▪ Verschillen meestal in hoeveelheid tijd en/ of hardware die nodig is om probleem op
computer op te lossen
o DUS terwijl een algoritme een oplossingsmethode is die losstaat v computerprogramma’s,
worden computers gebruikt voor de uitvoering v algoritmes DUS waar algoritme
beschrijving is v oplossingsprocedure van probleem, is overeenkomstige
computerprogramma implementatie v dat algoritme
- Door toenemende rekenkracht van computers neemt # softwareprogramma’s in onze samenleving
toe
o => ook ethische en juridische implicaties van software dienen ook in oog gehouden te worden
o Hoe krachtiger mogelijkheden van software, hoe moeilijker vaak is om echt van fake en
bonafide van malafide te onderscheiden
- Algoritmes bestaan typisch uit meerdere stappen in sequentie
o Die zich kunnen herhalen
o Of die beslissingen vereisen om taak te voltooien
o Bv:
- Procedure van algoritme is vanzelfsprekend gebaseerd op kennis over wereld
o Onderscheid tussen declaratieve en procedurele kennis
o Declaratieve kennis = feitelijke uitspraak over aspect uit wereld
▪ Geeft de definitie v/e probleem
▪ Zegt niets over hoe je dergelijke cirkel op computerscherm moet tekenen
procedurele kennis nodig
o Procedurele kennis – geeft stapsgewijze methode van oplossing
o Voor een algoritme hebben we een stapsgewijze of procedurele oplossingsmethode nodig
4
1.1 Computersystemen, algoritmes en software
1.1.1 Inleiding
Computers en de software die ze uitvoeren vormen de motor v/d digitale transformatie
1.1.2 Computersystemen
1.1.2.1 De digitale revolutie
- Huidige samenleving gekenmerkt door digitale revolutie = digitale transformatie
o Ingrijpende impact op manier van leven, wonen en werken
o Omvat:
▪ Digitaal verwerken van data en documenten
▪ Digitaliseren van de processen in bedrijven en organisaties
▪ Digitalisering van onze samenleving
o Impliceert dat vele handmatige processen van vroeger nu digitaal worden uitgevoerd
o Sociaal-econ. impact + markt is grondig overhoop gegooid + mentaal-cultureel grote omslag v
mensen
- Mogelijk gemaakt door enorme vooruitgang in info- en communicatietechnologie
1.1.2.2 Computers en hun geschiedenis
- Digitale revolutie gedragen door computers (hardware & software) die via netwerken (wereldwijd)
verbonden zijn
o Computers komen op vele wijze voor
- Steeds verschillende belangrijke technologische uitvindingen gedaan + apparaten/ hulpmiddelen
ontwikkeld om mogelijkheden uit te breiden
o Computer = fundamenteel <> andere uitvindingen (vb. wiel, stoommachine, auto…)
o WANT zijn via software programmeerbaar voor meerdere toepassingen is met software
programmeerbaar om o/d zelfde machine meerdere programma’s te kunnen uitvoeren
- Computers = (met software programmeerbare) hardware machines om berekeningen te maken
A. Evolutie v computers
- 1e ontwikkeld in 19e eeuw m.b.v. mechanische componenten
o 20e eeuw: 1e keer elektronische componenten gebruikt
o WOII + Koude oorlog = grote drijfveren
o Computers met elektronenbuizen = groot + verbruiken veel vermogen + weinig bedrijfszeker
- Door ontwikkeling van CMOS-halfgeleidertechnologie mogelijk gemaakt om snellere en
betrouwbaardere computers te maken die minder vermogen verbruikten
o => computers worden kleiner + krachtiger
o Tegelijk ontstonden eerste bedrijven die software aanboden als product
o Deze groeide samen verder
o WEL ALARMBEL dat we niet al te afhankelijk mogen worden van buitenland inzake hardware
ontwerp en -productie
B. De von Neumann-computerarchitectuur
- Huidige computers gebruiken typisch Von Neumann-architectuur
o John von Neumann = ontwerper
o Ontwerparchitectuur voor elektronische digitale computer bestaat uit:
▪ Centrale verwerkingseenheid (CPU) die bestaat uit:
• Een rekenkundig-logische eenheid (ALU) met processorregisters voor de
berekeningen
• Een besturingseenheid (Control Unit) met instructieregister en
programmateller voor de aansturing
, ▪ Computergeheugen (RAM Memory Unit) om zowel data als instructies op te slaan
▪ Invoer- en uitvoermechanismen en externe massaopslag van gegevens en bestanden
- Dergelijke computer werkt als volgt:
o Geprogrammeerd met softwareprogramma dat ingeladen wordt in geheugen
o CPU haalt 1 voor 1 instructies uit geheugen en voert ze uit op data + geheugen worden
opgeslagen
o Resultaten worden opnieuw naar geheugen weggeschreven
o Eindresultaat van berekening wordt uiteindelijk uitgevoerd
- Bij Von Neumann-architectuur kan ophalen van volgende instructie en uitvoeren van bewerking op
data niet op hetzelfde moment plaatsvinden WANT gemeenschappelijk bus naar geheugen delen
- Momenteel ook andere computerarchitecturen bestudeerd en onderzocht worden
1.1.2.3 Elektronica en de wet van Moore
- Huidige computers zijn opgebouwd met micro/ nano-elektronica
o Basisbouwblok van elektronica = transistor
▪ = digitaal programmeerbare schakelaar die aangeschakeld kan worden om
berekeningen uit te voeren
▪ Alles dient voorgesteld te worden als reeksen van nullen en enen
▪ Worden op geïntegreerde schakeling (chip) met elkaar verbonden om
rekenprocessoren en geheugens te bouwen
o Het mooie aan computers is dat ze programmeerbaar zijn
o Gordon Moore voorspelde dat # transistoren op CMOS-chip elke 1,5 jaar zou verdubbelen
▪ Tempo is bijgesteld naar verdubbeling elke 2 jaar
▪ = de wet van Moore
▪ => worden computers steeds sneller, waardoor ze steeds meer rekenkracht hebben
meer berekeningen per seconde
▪ Trend = bevestigd door grafiek:
exponentiële groei
• = historisch over de jaren heen uitgebrachte commerciële processoren
• Is een lineaire trend maar assen zijn logaritmisch
• DUS rekenkracht van computers neemt exponentieel toe
- Naast rekenkracht per computer, neemt ook totale # computers toe
o => problemen die we nu uitrekenen sneller kunnen oplossen
▪ Realiteit worden er echter gewoon nieuwe en complexere problemen opgelost
▪ + snel veel data te transfereren en nieuwe online-diensten kunnen aangeboden
worden
o => lokale computer niet superkrachtig te zijn terwijl eigenlijke berekeningen elders gebeuren
▪ Op krachtige rekenserver binnen organisatie
▪ Of zelfs op park van krachtige rekenservers in extern datacenter waarvan resultaat
dan via (internet)netwerk terug doorgestuurd wordt naar lokale computer
2
, - BEMERKING:
o Naast gewone computers voor algemeen gebruik ook steeds supercomputers ontwikkeld
▪ Deze hebben buitengewoon grote rekenvermogen
o Mogelijk door intern vele processoren te bevatten en die met zeer snel intern netwerk te
verbinden
o + veel geheugen- en opslagcapaciteit
o Gebruikt voor zware berekeningen in onderzoekswerk op universiteiten of
onderzoeksinstellingen
- Wat gebeurt er nu als die exponentiële groei in rekenkracht blijft doorgaan?
o Wet van Moore voor CMOS-technologie
▪ = deel van curve
▪ + rekenkracht stijgt al exponentieel sinds begin 20e eeuw
o Momenteel naderen computers en rekenkracht die ven krachtig is als brein van 1 mens
o Tegen 2040-50 wordt verwacht dat computers even krachtig zullen zijn als breinen van alle
mensen samen = technologische singulariteit
1.1.2.4 Toekomstige computerarchitecturen
- Exponentiële groei in rekenkracht vindt al meer dan een eeuw plaats
- Om die groei te realiseren over lange tijd waren en zijn verschillende technologieën nodig
o (elektro)mechanische computers
o Computers opgebouwd met relays
o Halfgeleidende elektrische buizen
o Huidige situatie met micro/ macro-elektronische halfgeleidertransistoren
o + onderzoek naar nieuwe technologieën (nog niet bepaald welke werken) zeer beloftevolle
toekomstige technologieën:
▪ Neuromorfe computers
▪ Kwantumcomputers…
A. Neuromorfe computers
- Computers gebaseerd op Von Neumann-architectuur zijn zeer geschikt voor uitvoeren van numerieke
berekeningen
- MAAR minder efficiënt in uitvoeren van cognitieve taken (= herkenning + classificatie v personen op
foto’s) daarvoor wordt gekeken naar neuromorfe computers
o = computers die architecturaal zo zijn opgebouwd dat ze neurobiologische architectuur en
werking van onze hersenen en zenuwen proberen na te bootsen
o !ste eigenschap:
▪ (zelf)lerende systemen zijn die via training voortdurend hun werking kunnen
verbeteren
▪ Zich kunnen aanpassen aan omstandigheden of aan veranderende situaties
▪ = plasticiteit
▪ Die beslissingen kunnen nemen o.b.v. nieuwe gegevens ontvangen
o Wordt gebruikt voor “cognitieve” toepassingen
o Kan deze artificiële neurale systemen ook op klassieke bestaande computers in software
programmeren
▪ MAAR implementaties in specifieke neuromorfe hardware zijn typisch sneller en
verbruiken minder energie
o Domein evolueert snel!
B. Kwantumcomputers
- Voor snellere berekeningen wordt in nabije toekomst veel verwacht van kwantumcomputers
o = computers waarbij rekenprocessor gebruikmaakt van principes van kwantummechanica
o Basiselement = qubits
▪ = kwantummechanisch tegelijkertijd waarden “0” en “1” kunnen hebben
▪ DUS berekeningen met qubits worden tegelijk voor beide waarden uitgevoerd
- Beperking tot op dit moment is dat verstrengeling van qubits vrij snel onstabiel wordt
o => # betrouwbaar uit te voeren kwantumberekeningen en dus lengte van uit te voeren
kwantumalgoritmes op dit moment in de praktijk nog vrij beperkt is
3
, o + hard gewerkt aan foutencorrectiemethodes
- Google beweert kwantumsuprematie gerealiseerd te hebben in 2019
o IBM heeft dit ontkracht
o 2020: China heeft kwantumsuprematie bereikt
o Voorspelling van Neven: rekenkracht van kwantumcomputers neemt toe met tijd volgens
dubbel-exponentiële functie
o + gewerkt aan kwantumcentrische supercomputers
1.1.3 Algoritmes
- Grote voordeel van computers = niet beperkt tot 1 specifieke taak, maar zijn programmeerbaar om
meerdere taken uit te voeren
- Programmeren gebeurt met softwareprogramma, dat geschreven wordt in programmeertaal
- => vertaald naar uitvoerbaar of executeerbaar programma
- Tenslotte uitvoeringscode uit te voeren, voert computer gewenste acties uit naar beoogde einddoel
toe
1.1.3.1 Wat is een algoritme?
- Om taak op te lossen wordt vaak algoritme uitgevoerd
o = eindige reeks instructies om (wiskundige) probleem op te lossen
▪ Het op te lossen probleem is vaak wiskundig gedefinieerd
▪ Ook meerdere manieren mogelijk om probleem op te lossen, DUS meerdere
algoritmes voor hetzelfde probleem mogelijk
▪ Verschillen meestal in hoeveelheid tijd en/ of hardware die nodig is om probleem op
computer op te lossen
o DUS terwijl een algoritme een oplossingsmethode is die losstaat v computerprogramma’s,
worden computers gebruikt voor de uitvoering v algoritmes DUS waar algoritme
beschrijving is v oplossingsprocedure van probleem, is overeenkomstige
computerprogramma implementatie v dat algoritme
- Door toenemende rekenkracht van computers neemt # softwareprogramma’s in onze samenleving
toe
o => ook ethische en juridische implicaties van software dienen ook in oog gehouden te worden
o Hoe krachtiger mogelijkheden van software, hoe moeilijker vaak is om echt van fake en
bonafide van malafide te onderscheiden
- Algoritmes bestaan typisch uit meerdere stappen in sequentie
o Die zich kunnen herhalen
o Of die beslissingen vereisen om taak te voltooien
o Bv:
- Procedure van algoritme is vanzelfsprekend gebaseerd op kennis over wereld
o Onderscheid tussen declaratieve en procedurele kennis
o Declaratieve kennis = feitelijke uitspraak over aspect uit wereld
▪ Geeft de definitie v/e probleem
▪ Zegt niets over hoe je dergelijke cirkel op computerscherm moet tekenen
procedurele kennis nodig
o Procedurele kennis – geeft stapsgewijze methode van oplossing
o Voor een algoritme hebben we een stapsgewijze of procedurele oplossingsmethode nodig
4