Je leert objectgeoriënteerd programmeren. Dat is een manier van programmeren waarbij data en logica gebundeld zijn in objecten. We leren dit voor zowel JavaScript als C++.
Je kunt uitleggen wat een URL is en waarvoor een webbrowser deze gebruikt en je kent de volgende vier onderdelen van een URL: protocol, server, map, bestand
Je kent het principe van tags zoals die in HTML gebruikt worden.
Je kent de basisstructuur van een HTML-pagina.
Je weet wat de begrippen parent, child en sibling betekenen en kunt de betekenis van deze begrippen toelichten. Je kunt deze begrippen toepassen op HTML.
Je kent de volgende tags: <html>, <head>, <body>, <p>, <ol>, <ul>, <li>, <h1> t/m <h6>, <br/>, <img> met src en alt, <a> met href, <div>, <table>, <tr>, <th>, <td>. Je kunt uitleggen wat deze tags doen en hoe je kunt ze gebruiken.
Je kunt eenvoudige stukken HTML interpreteren, dat wil zeggen dat je kunt uitleggen hoe een webbrowser omgaat met een eenvoudig stuk HTML.
Je kunt wijzigingen aanbrengen in een eenvoudig stuk HTML, de syntax van de HTML tags die daarvoor nodig zijn wordt daarbij gegeven in de vraag.
CSS
Je kunt uitleggen wat er binnen de informatica met Separation of Concern wordt bedoeld en hoe dat op HTML en CSS van toepassing is.
Je kunt uitleggen wat selectors, properties en values in CSS zijn en je kunt ermee werken. Dat wil zeggen dat je eenvoudige stukken CSS met selectors, properties en values kunt maken en de werking ervan kunt uitleggen.
Je kunt CSS selectors maken die bestaan uit een tag, class of id of een combinatie daarvan.
Je kunt de voorrangsregels tussen tags, classes en id’s toepassen en je kunt daarbij aangeven welke selectors meer of minder specifiek zijn.
Je kent van de volgende properties de betekenis en kunt deze toepassen in CSS: font-size, width, height, color, background-color.
Je kunt werken met kleuren en doorzichtigheid in CSS, door gebruik te maken van kleurnamen en rgba().
Je kunt de werking van boxen in CSS toelichten. Je kunt daarbij uitleggen wat de content, padding, border en margin van een box zijn.
Je kunt eenvoudige stukken CSS interpreteren, dat wil zeggen dat je kunt uitleggen hoe een webbrowser omgaat met een eenvoudig stuk CSS en hoe het eruit ziet in een webbrowser.
Je kunt wijzigingen aanbrengen in een eenvoudig stuk CSS, de properties die daarvoor nodig zijn worden beschreven in de vraag.
Je kunt binaire getallen omzetten naar decimale getallen en andersom.
Je kunt binaire getallen omzetten naar hexadecimale getallen en andersom.
Je kunt decimale getallen omzetten naar hexadecimale getallen en andersom.
Je kunt uitrekenen uit hoeveel bits of bytes een kilobyte, megabyte, gigabyte of terabyte bestaat.
Je kunt uitleggen waarin de klassieke maten van kilo-, mega-, gigabyte etc. afwijken van de SI-maten.
Je weet wat het verschil is tussen ASCII en Unicode en kunt uitleggen hoe ze tekst digitaliseren.
Je kunt uitleggen hoe het RGB-kleurenmodel en het CMYK-kleurmodel werken, je kunt de verschillen tussen beide kleurmodellen benoemen en je kunt de modellen gebruiken om kleuren te maken en kleuren te veranderen.
Je kent de betekenis van het begrip resolutie
Je kunt uitleggen hoe plaatjes worden opgeslagen door een computer
Je kent verschillende bestandsformaten voor plaatjes, zoals bmp, gif, jpg en png en de eigenschappen waarin ze van elkaar verschillen
Je kunt aangeven welk bestandsformaat voor plaatjes het best geschikt is voor een beschreven situatie
Je kunt uitleggen hoe muziek wordt opgeslagen door een computer
Je kunt uitleggen hoe video wordt opgeslagen door een computer
Je kunt uitleggen wat een extensie is en waar deze voor dient
Je kunt uitleggen wat compressie is aan de hand van voorbeelden (tekst, geluid, plaatjes en video) en je kent het verschil tussen lossless en niet-lossless compressie.
Alleen vwo: Je kunt op basis van een beschrijving van een compressie algoritme een klein voorbeeld comprimeren en decomprimeren.
Beeldbewerking (deze leerdoelen gelden NIET voor schooljaar 23/24)
Je kunt het aantal pixels van een plaatje aanpassen
Je kunt een plaatje bijsnijden (Engels: crop)
Je kunt een plaatje in diverse bestand-formaten omzetten (bijvoorbeeld .jpg, .png, .gif)
Je kunt basisinstellingen van de kleuren in een plaatje aanpassen (bijvoorbeeld contrast)
Je kunt de achtergrond van een plaatje transparant maken, een vast kleur maken, vervangen door een ander plaatje.
Je begrijpt wat je kunt doen met lagen en je kunt dat uitleggen aan de hand van een gegeven situatie.
Je kunt uitleggen wat er binnen de informatica bedoeld wordt met het begrip grammatica.
Je kunt uitleggen wat een variabele is.
Je kunt uitleggen wat declareren en definiëren van een variabele is.
Je kunt uitleggen wat een datatype is
Je kent de datatypen boolean, number en string en begrijpt welke waarden erin opgeslagen worden
Je kunt uitleggen wat controlestructuren zijn en je kent de volgende voorbeelden: if-statement, for-loop, while-loop.
Je kunt uitleggen waar abstractie voor dient.
Je kunt uitleggen wat een functie is.
Je kunt uitleggen wat declareren, definiëren en aanroepen van een functie is.
Je kunt uitleggen wat een parameter van een functie is.
Je kunt uitleggen wat het resultaat van een functie is.
Je kunt uitleggen wat het verschil is tussen globale en lokale variabelen.
Je kunt de leesbaarheid van code verbeteren door gebruik te maken van commentaar, lay-out en structuur.
Javascript
je kunt commentaarregels gebruiken.
je kunt aangeven welke waarden bepaalde variabelen hebben aan het einde van een stukje computercode.
je kunt op basis van een stukje code zelf de bijbehorende schermuitvoer tekenen.
je kunt met behulp van naslagmateriaal zelf computercode schrijven om een vraag te beantwoorden.
je weet hoe je in een tekening animatie aanbrengt.
je begrijpt wat variabelen zijn en hoe je deze kunt gebruiken.
je begrijpt wat een logische expressie is en hoe je deze kunt gebruiken.
je begrijpt hoe de logische operatoren “en”, “of” en “niet” werken en je kunt deze gebruiken.
je begrijpt hoe de vergelijkingsoperatoren “groter dan”, “kleiner dan”, “groter-gelijk dan”, “kleiner-gelijk dan”, “gelijk aan” en “ongelijk aan” werken en je kunt deze gebruiken.
je weet wat de datatypen boolean, number en string zijn en kunt deze gebruiken.
je begrijpt hoe een if-statement werkt en hoe je deze kunt gebruiken.
je begrijpt hoe een while-loop en een for-loop werken en hoe je deze kunt gebruiken.
je kunt een while-loop omzetten naar een for-loop en andersom.
je begrijpt hoe een for-loop in een for-loop werkt en hoe je dit kunt gebruiken.
je begrijpt wat arrays zijn en hoe je deze kunt gebruiken.
je kunt een array doorlopen met een for-loop.
Alleen vwo: je kunt een twee-dimensionale array doorlopen met een for-loop in een for-loop
je begrijpt hoe een functie werkt en hoe je deze kunt gebruiken.
je begrijpt wat parameters van een functie zijn en hoe je deze gebruikt.
je begrijpt wat het resultaat van een functie is en hoe je dit gebruikt.
je begrijpt wat er op het syntaxblad Javascript staat en dit kunt toelichten en gebruiken.
je kunt uitleggen wat een flowchart is en waarvoor je deze gebruikt
je kunt flowcharts lezen, dat betekent dat je de output van een flowchart kunt bepalen als de input en de flowchart gegeven worden
je kunt een flowchart maken van een eenvoudig algoritme waarvan je een korte beschrijving en een voorbeeld van de input en de output krijgt. Een eenvoudig algoritme is een algoritme waarbij een rij wordt doorlopen, zoals bijvoorbeeld: zoek het grootste getal in een rij, bereken het gemiddelde van alle getallen in een rij, tel het aantal keer dat een bepaalde letter voorkomt in een tekst.
je kunt een flowcharts omzetten naar JavaScript code en JavaScript code kunnen omzetten naar een flowchart.
Complexe algoritmen
je kunt met een gegeven graaf handmatig Dijkstra’s kortste pad algoritme uitvoeren en zo het korste pad tussen twee knopen / punten vinden.
Je kunt uitleggen wat een relationele database is.
alleen vwo: Je kunt gegevens analyseren en structureren en relaties vastleggen in een multipliciteitsdiagram.
alleen vwo: Je kunt gegevens analyseren en structureren en vastleggen in een strokendiagram.
Je kunt een database voorzien van een voorbeeldpopulatie (dit betekent dat je gegevens in velden kunt invullen).
Je kunt het verschil tussen en 1:n, n:1 en n:m relatie uitleggen en je kunt in een gegeven voorbeeld aangeven van welke relatie sprake is.
Je kunt uitleggen wat redundantie is.
Je kunt uitleggen wat normaliseren is.
Je kunt een gegeven, niet volledig genormaliseerde database omzetten naar een database in de 3e normaalvorm (dit betekent dat je de redundante informatie kunt verwijderen door de database te splitsen in meerdere aan elkaar gerelateerde tabellen).
Je kunt voor een gegeven situatie een voorstel te doen voor een genormaliseerde database structuur.
Je kunt aangegeven welke (combinaties van) velden uniek zijn / als sleutel kunnen dienen.
Je weet waarvoor de primaire sleutel dient.
Je weet wat een verwijzende sleutel is.
Je weet hoe verwijzingen tussen verschillende tabellen met behulp van sleutels werken.
Je weet hoe in een database wordt aangegeven dat een veld geen waarde bevat.
Databases programmeren in khan:
Je kunt met CREATE TABLE een gegevensmodel omzetten in een database.
Je kunt met INSERT rijen aan een tabel toevoegen.
alleen vwo: Je kunt met DELETE rijen verwijderen uit een tabel.
Je kunt met SELECT gegevens uit een relationele database opvragen.
Je kunt de opgevraagde gegevens uit een relationele database oplopend en aflopend sorteren.
Je kunt voorwaarden stellen aan de op te vragen gegevens uit de database (WHERE) en gebruikmaken van operatoren (=, <, >, >=, <=, <>).
Je kunt gebruikmaken van LIKE bij het stellen van voorwaarden in de query.
alleen vwo: Je kunt gebruik maken van een subquery in combinatie met de voorwaarde IN.
Je kunt gebruikmaken van samengestelde voorwaarden (AND, OR) bij het stellen van voorwaarden in de query.
Je kunt gebruikmaken van omgedraaide voorwaarden (NOT) bij het stellen van voorwaarden in de query.
Je kunt gebruikmaken van NULL bij het stellen van voorwaarden in de query.
Je kunt gebruikmaken van aggregatiefuncties (COUNT, SUM, MAX, MIN, AVG) bij het opstellen van query.
Je kunt gebruikmaken van GROUP BY bij het groeperen van de resultaten van een query.
Je kunt voorwaarden stellen aan op te vragen gegroepeerde gegevens met HAVING
alleen havo: Je kunt bij een query over 2 of 3 tabellen de JOIN toepassen
alleen vwo: Je kunt bij een query over 2 of meer tabellen de JOIN toepassen
Je kunt een query maken met JOIN van een 1-op-n relatie
Je kunt een query maken met JOIN van een n-op-m relatie
alleen vwo: Je kent het verschil tussen cross join (JOIN zonder ON), inner join (JOIN ON), left outer join (LEFT JOIN ON) en kunt beslissen welke van deze drie je nodig hebt in een query.
Je kunt met behulp van een berekening kunt aantonen wat de hoofdreden is om het IP versie 4 protocol te vervangen door IPv6
Je kunt het verschil uitleggen tussen een LAN en een WAN.
Je kent de belangrijkste verschillen tussen communicatie over koperen verbindingen, glasvezelverbindingen en draadloze verbindingen
Je weet wat bij computernetwerken de termen lag / latency / latentie en bandbreedte betekenen en hoe ze de snelheid van een netwerkverbinding beïnvloeden.
Je kunt uitleggen waarvoor het het OSI-model is ontwikkeld
Je begrijpt het OSI-model / IP-stack. Je kunt de applicatielaag, transportlaag, netwerklaag, datalinklaag en fysische laag uitleggen.
Je kunt twee voordelen benoemen van het werken met een lagenmodel zoals het OSI-model of de IP-stack.
Je weet wat een MAC-adres is, bij welke laag het hoort en waarvoor het wordt gebruikt.
Je weet wat ARP is en waarvoor het dient.
Je weet wat het MAC broadcast adres is en waarvoor het dient.
Je weet wat een IP-adres is, bij welke laag het hoort en waarvoor het wordt gebruikt.
Je kunt met behulp van routeringstabellen het gedrag van een router bij een inkomend bericht beschrijven.
Je weet wat het IP broadcast adres is en waarvoor het dient.
Je weet wat een subnetmasker is en waarvoor dit dient.
Je kunt met behulp van het subnetmasker uitrekenen hoeveel apparaten er in een netwerk verbonden kunnen zijn.
Je weet wat het nadeel is van een subnetwerk met heel veel apparaten.
Je kunt de twee belangrijkste verschillen tussen TCP en UDP benoemen
Je weet wat TCP-poorten zijn en waarvoor deze dienen
Je kunt beschrijven hoe een pakketje van een apparaat in het ene subnet naar een apparaat in het andere subnet reist.
Je kent de functie van de volgende netwerkapparaten: router, modem, switch, wireless access point, repeater, firewall
Je kunt beredeneren tot op welk niveau van het OSI-model een netwerkapparaat werkzaam is.
Je kunt bij schematische weergave van een netwerk de verschillende netwerkapparaten herkennen en benoemen en IP-adressen en subnetmaskers bepalen of toewijzen.
Je weet wat de functie van een firewall is.
Je begrijpt wat een DNS is en waarvoor deze dient
Je kunt uitleggen wat de functie van een DHCP server is.
Oefentoets
Je kunt een deel van je kennis en vaardigheden testen met de volgende oefenopgaven:
Je leert objectgeoriënteerd programmeren. Dat is een manier van programmeren waarbij data en logica gebundeld zijn in objecten. We leren dit voor zowel JavaScript als C++.
Behorende bij reader Security met toegevoegd [paginanummer]:
H2:
Je kunt uitleggen wat authenticatie is. [44]
Je kunt uitleggen wat two factor authentication (2FA) is. [44]
Je kunt uitleggen hoe een botnet wordt opgezet en wat er mee wordt gedaan. [45]
Je kunt de sterkte van wachtwoorden kunnen bepalen of vergelijken. [46]
Je kun aan de hand van een wachtwoordformaat uitrekenen hoeveel mogelijkheden maximaal moeten worden gecontroleerd in een brute force attack, zowel met als zonder gebruik van een dictionary. [46 + overig materiaal]
Je kunt uitleggen wat phishing is. [52]
H3:
Je kunt uitleggen wat social engineering is [55]
Je kunt drie methoden om te hacken beschrijven. [59]
Je kent in de context van security de principes confidentiality, integrity, availability, kunt deze uitleggen en toepassen op een casus. [61]
Je kunt werken met de analogie van Alice, Bob en Eve (of Chris). [63]
H4:
Je begrijpt hoe de versleuteling met behulp van (Caesar)substitutie werkt en je kunt er een boodschap mee versleutelen en ontcijferen [65]
Je begrijpt hoe de versleuteling met behulp van transpositie werkt en je kunt met behulp van een gegeven transpositiemethode een boodschap versleutelen en ontcijferen [66]
Je begrijpt hoe de versleuteling met behulp van Vigenèresubstitutie werkt en je kunt er met een uitgeprinte hulptabel een boodschap mee versleutelen en ontcijferen. [72]
H5
Je kunt uitleggen wat versleuteling met m.b.v. een one time pad (of: eenmalig blokcijfer) inhoudt en waarom deze manier van versleutelen, onder de juiste voorwaarden, niet te kraken is. Je kent deze voorwaarden. [76]
Je weet wat de (binaire) XOR-operatie is, op welke wijze deze een rol kan vervullen bij versleuteling en kunt deze operatie toepassen [78]
Je kunt in grote lijnen uitleggen via welke vier stappen AES-encryptie werkt. [80 + overig materiaal]
H6
Je kunt het verschil tussen HTTP en HTTPS uitleggen. [86]
Je kunt uitleggen wat het verschil is tussen symmetrische en asymmetrische cryptografie en herkennen of een vorm van encryptie symmetrisch of asymmetrisch is. [89]
Je weet hoe sleuteluitwisseling m.b.v. Diffie-Hellman plaatsvindt en kunt dit voordoen met gegeven getallen p en g. [92]
Je kunt uitleggen welke stappen in de communicatie tussen browser en webserver plaatsvindt om een versleutelde verbinding tot stand te brengen. [93]
Je kunt aan de hand van de inhoud van een website beredeneren of het onverantwoord is om deze met behulp van HTTP te benaderen. [93]
Je begrijpt hoe de versleuteling met behulp van RSA werkt en je kunt er met gegeven eenvoudige sleutels m.b.v. je grafische rekenmachine een boodschap mee versleutelen en ontcijferen. [94 + overig materiaal]
Je kunt met een gegeven getal p en q m.b.v. je grafische rekenmachine zelf een publiek en privé sleutelpaar genereren. [overig materiaal]
Je kunt uitleggen welke twee functies encryptie met een public en private sleutelpaar heeft. [94 + overig materiaal]
Je kunt uitleggen wat een ‘man-in-the-middle-attack’ is. [96]
Je kan uitleggen welke de functies van een webcertificaat heeft en welke informatie het daarvoor bevat. [97]
Je weet welke stappen een browser uitvoert om een webcertificaat te controleren. [97]
Je weet wat een stamcertificaat / rootcertificate is. [98]
Je kunt de rol van certificaat-autoriteiten beschrijven. [100]
Behorend bij Informatica Actief of overig materiaal:
Je kunt uitleggen wat een cookie is en welke functie een cookie heeft.
Je kent de kenmerken van verschillende soorten malware (virussen, wormen, Trojaans paard, ransomware). Je weet onder andere hoe ze zich verspreiden, en wat hun typische doel of effect is.
Je kunt uitleggen wat een dictionary attack is.
Je kent de algemene kenmerken van een hash(functie).
Je kunt een paar voorbeelden geven van populaire hash-algoritmen
Je kent in de context van hashing de begrippen salting en collision
Je kunt verschillende toepassingen van hashing uitleggen, zoals wachtwoordverificatie, het controleren van de authenticiteit van data of het identificeren van bestanden.