TECHNOLOGIE EN RECHT:
INHOUDSTAFEL
Module 1. Computer- en internettechnologieën
1A. Computersystemen en Software
Computers en de digitale revolutie
o Digitale transformatie in onze samenleving door vooruitgang ICT: meer en
meer dingen digitaal doen
o Computers en hun geschiedenis
Computer = programmeerbare machine om berekeningen te maken
o Wet van Moore
Elektronica = transistoren (0=uit, 1= aan) alles op computer
voorgesteld als string van 0’en 1’en
Wet = voorspelling dat elke 2 jaar het aantal transistoren op een
chip zal verdubbelen
Verkleining van transistoren en bijhorende productieprocessen in
micro-elektronica
Kostprijs per transistor goedkoper steeds sneller voor dezelfde
prijs
Aantal transistoren op een chip (IC: Integrated Chip) is indicatie van
rekenkracht van de processoren sneller en krachtiger
(exponentiële toename)
o Exponentiële (vermenigvuldiging met vaste factor) vs. lineaire groei (vaste
toename optellen)
Gevolgen exponentiële groei: rekenkracht neemt toe
Netwerken tussen computers versterken de exponentiële groei
Technologische singulariteit = computers zijn krachtiger dan de
kennis van alle mensheid samen
o Computerarchitecturen
Von Neumann-architectuur
1. CPU: central processing unit
o Rekeneenheid (ALU)
o Controle-eenheid (Control Unit)
2. Memory / geheugenblok: stockeren van gegevens en data
- Input in CPU berekend obv programma opgeslagen in
Geheugen, output uit CPU is uitkomst berekening
→ Zeer geschikt voor berekeningen, niet voor cognitieve taken
Neuromorfe computers: gebaseerd op werking van het brein
(aanpassingsvermogen)
Dingen/personen herkennen, spraak/tekst interpreteren
Groot aantal verbonden neuronen die samen neuraal
netwerk vormen
1
, Zelflerende systemen die via training hun werking
voortdurend verbeteren
Kwantumcomputers: gebruik van principes van de
kwantummechanica
Basiselement = qubits: kunnen tegelijk waarde 0 en 1
hebben exponentiële stijging van de rekenkracht
Kwantumsuprematie: computer sneller en krachtiger maken
dan wat huidige computers kunnen
Algoritmes en software
o Algoritmes
Wat is een algoritme?
= een eindige reeks instructies om een (wiskundig) probleem
op te lossen, vertrekkende van een gekende begintoestand
om zo het einddoel te bereiken
Algoritme wordt vaak neergeschreven in een
programmeertaal
Vb. GGD-algoritme van Euclides
Procedure van algoritme is gebaseerd op kennis of
informatie
o Declaratieve kennis = feitelijke uitspraak over een
aspect uit de wereld, de definitie van een probleem
o Procedurele kennis = methode van oplossing
Kenmerken van algoritmes
1. Correctheid
2. Eindigheid
3. Uitvoeringssnelheid
4. Robuustheid
5. Elegantie
Nieuw: ethisch aspect + duurzaamheid
Classificatie van algoritmes
Deterministische algoritmes
o Produceren steeds dezelfde uitkomst voor een
gegeven input en doorloopt daarbij steeds dezelfde
sequentie van stappen
Probabilistische of stochastische algoritmes
o Kunnen voor dezelfde input verschillende uitkomsten
genereren
o Random willekeurig proces
o Goede benaderende oplossing bekomen
Slimme algoritmes of machinaal leren
o Algoritmes die zichzelf automatisch zelf verbeteren op
basis van vroegere ervaringen
o Hoe meer training met data, hoe beter algoritme
wordt
o = domein AI
Illustratie: raad-mijn-getal-algoritme
2
, A: willekeurig gokken (zeer inefficiënt, risico herhaling), B:
sequentieel alle getallen aflopen (zal ooit moeten stoppen als
getal geraden), C: vragen stellen “hoger” of “lager”
(efficiënt, zoekruimte telkens halveren), D: slim algoritme op
basis van kennis uit eerdere spellen (voorkeurgetallen
bepalen)
Reële toepassingen: zoekgeschiedenis Google, aanbevelingen bij
online shopping en YouTube, routebeschrijving Waze
Huidige betekenis ‘algoritme’
Steeds meer de betekenis gekregen van volledig gedrag van
software (vb. Google algoritme, Facebook algoritme…)
Zulke softwareproducten zijn eigenlijk opgebouwd uit
honderden kleine stukjes code, die elk algoritme zijn
o Software
Softwareontwikkeling = productieproces
Softwarecode bestaat uit verschillende ‘lagen’ software code
bovenop elkaar, vaak door verschillende mensen of bedrijven
ontwikkeld
Algoritme wordt in software geschreven via codes
Verschillende types software
o Programmeertalen: Python, Java…
o Operating systems: Windows, Android, IOS
o Communicatieprotocollen: internet, www
o Toepassingen zoals apps en games
Randvoorwaarden
o Wie of wat is de eindgebruiker van de software?
o Open of closed source?
o Veiligheid
o Andere vereisten: snelheid, correctheid, machinetype,
inzetbaarheid
Softwarecode en bugs
Software wordt geschreven in een voor programmeurs
leesbare programmeertaal = broncode / source code
Broncode wordt dor compiler omgezet in machinetaal =
objectcode / execution code
Bugs = fouten in softwarecode
Soorten gebreken (juridisch)
1. Technische gebreken = het niet (goed) functioneren
van de software (vb. computer die vastloopt)
2. Functionele gebreken = technisch oké, maar doet
functioneel niet wat de gebruiker ervan verwachtte
(vb. geen bruikbare uitkomsten)
3. Belevingsgebreken = technisch en functioneel oké,
maar gebruiker had er andere verwachtingen van (vb.
gebruiksonvriendelijke software)
Opensourcesoftware: gebruiker krijgt broncode en objectcode, dus
naast gebruiker ook ontwikkelaar
3
, Twee types licenties: GPL-licentie (onbegrensd gebruiksrecht
op gedeelde broncode) en BSD-licentie (eigen afgeleide
propriëtaire software maken mogelijk)
>< propriëtaire software: enkel gelimiteerde
gebruikslicentie, geen toegang of mogelijkheid tot
aanpassen van broncode, gebruiker krijgt enkel objectcode
Q: “Is broncode beschikbaar en aanpasbaar voor
eindgebruiker?”
1B. Internet en Cloud
Computernetwerken en het internet
o Wat is het internet? Contextgevoelig
Fysisch netwerk van computers (hardware)
Specifiek aangeboden software of diensten (software)
Data toegankelijk op het internet (content)
Sociaal fenomeen, opinies en meningen van gebruikers
o Nut van computernetwerken (= systeem voor communicatie tussen twee of
meer computers) veel toepassingen mogelijk
Communicatie, vanop afstand werken op andere computers,
computers laten samenwerken, resources op afstand beschikbaar
maken
o Bedenkingen bij netwerken: betrouwbaarheid, beveiliging en jurisdictie
o Beknopte geschiedenis
Pre-internettijdperk (telegraaf, trans-atlantische kabels, telefoon,
draadloze radioverbinding, eerste elektronische computers, start
globale telecommunicatie, focus op netwerk- en
communicatietechnologie)
Jaren ’60: lokale netwerking, één mainframe computer
Vervolgens ARPANET militair netwerk (kader Koude Oorlog)
Internettijdperk: begin jaren ’70
Transmission Control Protocol / Internet Protocol = TCP/IP =
open standaard voor alle soorten netwerken /
netwerkcommunicatie
Ontstaan van verschillende computernetwerken
Internet werd soort supernetwerk, een netwerk tussen alle
bestaande netwerken
DNS = Domain Name System benaming van computers
Jaren ’80: Local Area Network = LAN = verschillende
computers met elkaar verbinden
Platformonafhankelijke toegang tot documentatie op het
internet www. = World Wide Web
WLAN = Wireless Local Area Networks
Cloud tijdperk: 2005 en verder
Cloudcomputing breekt door
Cloud = groot netwerk van vele apparaten en verbindingen
die wereldwijd aan elkaar zijn verbonden
4