Informatica
HOOFDSTUK 0: INLEIDING
1) Algoritmen
Algoritmisch ddenken • Hoe oplossing van probleem ontdekken, voorstellen en communiceren als
geordende, éénduidige reeks van uitvoerbare instructies
• Vanuit wiskunde
Abstraheren • Hoe complexiteit van systeem beheersbaar maken door externe
eigenschappen systeem te onderscheiden van interne werking en structuur
Algoritmen • Algemene oplossing voor bepaald type probleem
• Reeks van instructies voor uitvoeren van taak
• Stappenplan om van goed-beschreven begin (= invoer) naar uitkomst (=
uitvoer = oplossing) te komen
• Informatica = studie van algoritmen
• Verschillende algoritmen voor eenzelfde probleem à gekozen op basis van
complexiteit, snelheid...
Voorbeeld
Hoe lezen in Python • Deling à /
• Deling door gehele getallen à //
• Deling door gehele getallen met uitkomst rest à %
• Verschillend van à !=
Programma • Algoritme voorgesteld in bepaalde vorm waardoor het door computer
uitgevoerd kan worden
• Zonder dit programma is dit niet mogelijk
Software • Verzamelnaam voor programma’s + hun algoritmen
Hardware • Geheel van computers en bijhorende apparatuur
Verschil informatica en • Informatica à ondersteunende wetenschap voor beleidsinformatica
beleidsinformatica • Beleidsinformatica
Ø Toegepaste wetenschap
Ø Bestudeert hoe informatie ingezet kan worden voor bouwen systemen die
werking en beheer organisaties ondersteunen
Abstractie • Externe eigenschappen systeem tonen en interne werking en structuur
verbergen à principe van de black box
• Scheiden van essentie en detail
• Doel: oplossen van deelprobleem
• Geen verlies van precisie
Voorbeeld • Om web service te gebruiken à niet weten hoe web service invoer omzet in
uitvoer
• We moeten wel weten wat functionaliteit van web service, welke invoer nodig
is, welke uitvoer zal resulteren
Algoritme en abstractie • Algoritme maakt abstractie van ‘waarom’ en ‘wat’ à gaat enkel over ‘hoe’
• Computer kan enkel probleem oplossen als er algoritme ontdekt kan worden
• Geen algoritme à geen computer die probleem kan oplossen
1
,2) Het ontstaan van computers
Telraam • Posities van kralen à presenteert en slaat data op
• Mensen nodig à data-opslagsysteem
Eerste computers • Tijdens WOII
• Ontwerpen met oog op militaire toepassingen
• Bv. kraken vijandige codes
Mark I computer • Van IBM
• Elektromechanische machine
• Een van 1e computers
Verdere vooruitgang • Door elektronica
• Wet van Moore à aantal transistoren op geïntegreerd circuit verdubbelt om
de 2 jaar
• Computers
Ø Goedkoper en kleiner
Ø Inbedden in allerlei apparatuur en machines (motors, camera’s...)
Di]erence engine • = verschilmachine
• Enkel demonstratiemodel gebouwd
• Bepalen numerieke waarden door
opeenvolgende verschillen
• We weten dat 02 = 0, 12 = 1, 22 = 4, 32 = 9
• 1 – 0 = 1, 4 – 1 = 3, 9 – 4 = 5
• 3 – 1 = 2, 5 – 3 = 2 à we concluderen dat
(42 – 32) – (32 – 22) = 2
• (42 – 32) = 2 + 5 = 7
• 42 = 7 + 9 = 16
3) Overkoepelende thema’s
Creativiteit • Inzetten ICT voor oplossen maatschappelijke problemen vereist creativiteit
Data • Hedendaagse omvang van opslagcapaciteit, bandbreedte en rekenkracht à
mogelijk ‘big data’ te analyseren
• Hieruit toepasbare kennis verwerven voor oplossen allerlei problemen
Big data • Volume à hoeveelheid data
• Snelheid à snelheid van verandering
• Variatie à verschillende vormen van databronnen
• Waarheidsgetrouwheid à onzekerheid van data
Programmeren • Nodig zodat computers logaritmen kunnen uitvoeren
Internet • Zorgde voor revolutie in communicatie met computers
• Netwerk dat mensen en dingen verbindt
• Internet of Things (IOT) à belangrijke hoeksteen digitale revolutie
Impact • Alle domeinen van maatschappij & leven
• Belangrijke gevolgen op vlak van ethiek, privacy, veiligheid & wetgeving
• Bv. cyberaanvallen, sociale media
2
,HOOFDSTUK 1: GEGEVENSOPSLAG
1) Bits en hoe ze worden opgeslagen
Bits • Binary digits
• Talstelsel met basis 2
• Mogelijke waarden: 0 en 1
• Symbool gebruikt bij voorstellen gegevens à numerieke waarden,
Booleaanse waarden, letters en leestekens, beelden, geluiden...
ASCII code • Codes van 8 bits voor verschillende
tekens
• Niet vanbuiten leren à kunnen
gebruiken
• Space = spatie
• Line feed = enter à nieuwe lijn
• Gebaseerd op standaarden
(afspraken) à wel op logische
manier
Waarom binair • Elk apparaat dat 2 standen heeft à kan gebruikt worden voor gegevensopslag
Ø Magnetiseerbaar oppervlak (positief of negatief geladen)
Ø Elektronische schakeling (geleidend of niet geleidend)
Booleaanse algebra • Waarden die waar/fout voorstellen
• 0 à fout 1 à waar
• Basis operaties: AND, OR, XOR, NOT
Ø AND: conjunctie = vergelijkbaar met vermenigvuldigen = x•y
Ø XOR: disjunctie, exclusieve keuze = verg. met optellen = x+y
Ø NOT: complement = verg. met negatie = ¬x
Ø (I)OR: inclusieve keuze à je kan ook beide kiezen
Ø NAND: combinatie NOT en AND
• AND à 1 1 = 1, 0 0 = 0, 1 0 = 0, 0 1 = 0
• XOR à 1 1 = 0, 0 0 = 0, 1 0 = 1, 0 1 = 1
• OR à 1 1 = 1, 0 0 = 0, 1 0 = 1, 0 1 = 1
Voorbeelden •1100
1 0 0 0 AND à elk stukje apart vermenigvuldigen
1000
Hexadecimale notatie • Lange rij van bits à stroom
• Voorstelling van lange patronen makkelijker schrijven
• 1 symbool om 4 bits voor te stellen
• Talstelsel met basis 16 (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
Gate • = Poort
• Apparaat dat Booleaanse bewerking uitvoert
• 1 of 2 uitvoeren
• Kan gemaakt worden van verschillende technologieën
Transistor • 3 laagjes siliconemateriaal
• Transistor aan: klein spanningsverschil tussen B&E
à grote stroom kan vloeien tussen C&E
• Transistor uit: geen spanningsverschil tussen B&E
à geen stroom kan vloeien tussen C&E
• Voorloper van chip
3
, Stroomcircuit NOT
Stroomcircuit AND
Stroomcircuit OR
Stroomcircuit XOR
Symbolen kennen? Nee, gewone rondjes tekenen voldoende
Flip-flop • Schakeling voor het opslaan van 1 bit
• 2 invoerlijnen + 1 uitvoerlijn
• Gebouwd met gates (transistoren)
Ø Beide invoerlijnen 0 à uitvoerlijn blijft
hetzelfde
Ø Bovenste 1 à uitvoerlijn wordt 1
Ø Onderste 1 à uitvoerlijn wordt 0
• VLSI (Very Large-Scale Integration) à
integratie van miljoenen flip-flops met
besturingsschakeligen op chip
Een latch • Eens dat IN = 1 à OUT = 1
ook als IN terug 0 wordt
• Stabiele situatie
Andere stabiele situatie
4