Theorie

Hier vind je alle theorie per module.

Theorie modules

T1. Web Design met HTML en CSS

Je leert hoe je informatie op een website zet met de programmeertalen HTML en CSS.

T2. Digitale informatie

Je leert hoe een computer allerlei soorten informatie opslaat.

T3. Programmeren met Javascript

Je leert hoe je eenvoudige programma’s kunt maken met de programmeertaal Javascript en de p5js library.

T4. Algoritmen in Javascript

Je leert hoe je problemen kunt oplossen met algoritmen, je gebruikt daarbij stroomdiagrammen en de programmeertaal Javascript.

T5. Databases met SQL

Je leert hoe je heel veel informatie kunt bekijken en bewaren in databases met de programmeertaal SQL.

T6. Robotica met Arduino

Je leert hoe je met behulp van toestandsgrammen kunt programmeren. Je gebruikt daarbij het Arduino platform.

T7. Netwerken met IP

Je leert hoe het internet van binnen werkt.

T8. Objectgeoriënteerd Programmeren

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++.

T9. Security

Over de beveiliging van computers en data.

T1. Web Design met HTML en CSS

Je leert hoe je informatie op een website zet met de programmeertalen HTML en CSS.

Hulpmiddelen

We gebruiken in deze module de volgende tools:

  1. Khan Academy

Oefeningen

Khanacademy, module Intro to HTML/CSS

  1. Intro to html
  2. Intro to css
  3. More html tags
  4. Css text properties
  5. Web development tools (geen toetsstof)
  6. CSS layout
  7. More css selectors
  8. Other ways to embed css (geen toetsstof)
  9. Further learning (geen toetsstof)

Naslagmateriaal

Uitleg (havo)

Uitleg (vwo)

Leerdoelen voor de toets

HTML

  1. 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
  2. Je kent het principe van tags zoals die in HTML gebruikt worden.
  3. Je kent de basisstructuur van een HTML-pagina.
  4. 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.
  5. 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.
  6. Je kunt eenvoudige stukken HTML interpreteren, dat wil zeggen dat je kunt uitleggen hoe een webbrowser omgaat met een eenvoudig stuk HTML.
  7. 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

  1. Je kunt uitleggen wat er binnen de informatica met Separation of Concern wordt bedoeld en hoe dat op HTML en CSS van toepassing is.
  2. 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.
  3. Je kunt CSS selectors maken die bestaan uit een tag, class of id of een combinatie daarvan.
  4. Je kunt de voorrangsregels tussen tags, classes en id’s toepassen en je kunt daarbij aangeven welke selectors meer of minder specifiek zijn.
  5. Je kent van de volgende properties de betekenis en kunt deze toepassen in CSS: font-size, width, height, color, background-color.
  6. Je kunt werken met kleuren en doorzichtigheid in CSS, door gebruik te maken van kleurnamen en rgba().
  7. Je kunt de werking van boxen in CSS toelichten. Je kunt daarbij uitleggen wat de content, padding, border en margin van een box zijn.
  8. 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.
  9. Je kunt wijzigingen aanbrengen in een eenvoudig stuk CSS, de properties die daarvoor nodig zijn worden beschreven in de vraag.

Oefentoets

Een oefentoets voor deze module staat in Woots .

Verdieping

  1. CSS Battle ( https://cssbattle.dev/) .

T2. Digitale informatie

Je leert hoe een computer allerlei soorten informatie opslaat.

Hulpmiddelen

We gebruiken in deze module de volgende tools:

  1. Informatica Actief

Oefeningen

Informatica Actief, module informatie digitaal

  1. Digitale afbeeldingen, pixels met kleur (alleen theorie 1 t/m 7)
  2. Bits en Bytes (alleen theorie 1 t/m 5)
  3. Talstelsels: decimale en binaire getallen (alleen theorie 1 t/m 9)
  4. Rekenen met binaire getallen (overslaan)
  5. Digitale tekst (alleen theorie 1 t/m 9)
  6. Verschillende soorten afbeeldingen (alleen theorie 1 t/m 12)
  7. Bewegend beeld en geluid (alleen theorie 1 t/m 7)
  8. Digitale informatie in bestanden (alleen theorie 1 t/m 5)
  9. Diagnostische toets (overslaan)

Beeldbewerking

  1. Beeldbewerking oefeningen (powerpoint presentatie) met photopea.com

Uitleg (havo)

Uitleg (vwo)

Naslagmateriaal

Leerdoelen voor de toets

Informatie digitaal

  1. Je kunt binaire getallen omzetten naar decimale getallen en andersom.
  2. Je kunt binaire getallen omzetten naar hexadecimale getallen en andersom.
  3. Je kunt decimale getallen omzetten naar hexadecimale getallen en andersom.
  4. Je kunt uitrekenen uit hoeveel bits of bytes een kilobyte, megabyte, gigabyte of terabyte bestaat.
  5. Je kunt uitleggen waarin de klassieke maten van kilo-, mega-, gigabyte etc. afwijken van de SI-maten.
  6. Je weet wat het verschil is tussen ASCII en Unicode en kunt uitleggen hoe ze tekst digitaliseren.
  7. 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.
  8. Je kent de betekenis van het begrip resolutie
  9. Je kunt uitleggen hoe plaatjes worden opgeslagen door een computer
  10. Je kent verschillende bestandsformaten voor plaatjes, zoals bmp, gif, jpg en png en de eigenschappen waarin ze van elkaar verschillen
  11. Je kunt aangeven welk bestandsformaat voor plaatjes het best geschikt is voor een beschreven situatie
  12. Je kunt uitleggen hoe muziek wordt opgeslagen door een computer
  13. Je kunt uitleggen hoe video wordt opgeslagen door een computer
  14. Je kunt uitleggen wat een extensie is en waar deze voor dient
  15. 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.
  16. 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)

  1. Je kunt het aantal pixels van een plaatje aanpassen
  2. Je kunt een plaatje bijsnijden (Engels: crop)
  3. Je kunt een plaatje in diverse bestand-formaten omzetten (bijvoorbeeld .jpg, .png, .gif)
  4. Je kunt basisinstellingen van de kleuren in een plaatje aanpassen (bijvoorbeeld contrast)
  5. Je kunt de achtergrond van een plaatje transparant maken, een vast kleur maken, vervangen door een ander plaatje.
  6. Je begrijpt wat je kunt doen met lagen en je kunt dat uitleggen aan de hand van een gegeven situatie.

Oefentoets

Een oefentoets voor deze module staat in Woots .

T3. Programmeren met Javascript

Je leert hoe je eenvoudige programma’s kunt maken met de programmeertaal Javascript en de p5js library.

Hulpmiddelen

We gebruiken in deze module de volgende tools:

  1. Khan Academy

Oefeningen

Khanacademy, module Intro to JS

  1. Intro to programming
  2. Drawing basics
  3. Coloring
  4. Variables
  5. Animation basics
  6. Interactive programs
  7. Becoming a community coder (overslaan)
  8. Bonus: Resizing with variables
  9. Text and strings
  10. Functions (lang)
  11. Logic and if Statements (lang)
  12. Debugging programs (kort)
  13. Looping (lang)
  14. Writing clean code (kort)
  15. Arrays (lang)
  16. Objects (overslaan)
  17. Object-Oriented Design (overslaan)
  18. Becoming a better programmer (overslaan)

Verdiepingsopdrachten

  1. My Pong Game voor als je oefeningen 1 t/m 11 af hebt
  2. My Galaxy voor als je oefeningen 1 t/m 15 af hebt

Uitleg

Naslagmateriaal

Leerdoelen voor de toets

Programmeertalen

  1. Je kunt uitleggen wat machinetaal is.
  2. Je kunt uitleggen wat een compiler is.
  3. Je kunt uitleggen wat een library is.
  4. Je kunt drie hogere programmeertalen opnoemen.
  5. Je kunt uitleggen wat er binnen de informatica bedoeld wordt met het begrip grammatica.
  6. Je kunt uitleggen wat een variabele is.
  7. Je kunt uitleggen wat declareren en definiëren van een variabele is.
  8. Je kunt uitleggen wat een datatype is
  9. Je kent de datatypen boolean, number en string en begrijpt welke waarden erin opgeslagen worden
  10. Je kunt uitleggen wat controlestructuren zijn en je kent de volgende voorbeelden: if-statement, for-loop, while-loop.
  11. Je kunt uitleggen waar abstractie voor dient.
  12. Je kunt uitleggen wat een functie is.
  13. Je kunt uitleggen wat declareren, definiëren en aanroepen van een functie is.
  14. Je kunt uitleggen wat een parameter van een functie is.
  15. Je kunt uitleggen wat het resultaat van een functie is.
  16. Je kunt uitleggen wat het verschil is tussen globale en lokale variabelen.
  17. Je kunt de leesbaarheid van code verbeteren door gebruik te maken van commentaar, lay-out en structuur.

Javascript

  1. je kunt commentaarregels gebruiken.
  2. je kunt aangeven welke waarden bepaalde variabelen hebben aan het einde van een stukje computercode.
  3. je kunt op basis van een stukje code zelf de bijbehorende schermuitvoer tekenen.
  4. je kunt met behulp van naslagmateriaal zelf computercode schrijven om een vraag te beantwoorden.
  5. je weet hoe je in een tekening animatie aanbrengt.
  6. je begrijpt wat variabelen zijn en hoe je deze kunt gebruiken.
  7. je begrijpt wat een logische expressie is en hoe je deze kunt gebruiken.
  8. je begrijpt hoe de logische operatoren “en”, “of” en “niet” werken en je kunt deze gebruiken.
  9. 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.
  10. je weet wat de datatypen boolean, number en string zijn en kunt deze gebruiken.
  11. je begrijpt hoe een if-statement werkt en hoe je deze kunt gebruiken.
  12. je begrijpt hoe een while-loop en een for-loop werken en hoe je deze kunt gebruiken.
  13. je kunt een while-loop omzetten naar een for-loop en andersom.
  14. je begrijpt hoe een for-loop in een for-loop werkt en hoe je dit kunt gebruiken.
  15. je begrijpt wat arrays zijn en hoe je deze kunt gebruiken.
  16. je kunt een array doorlopen met een for-loop.
  17. Alleen vwo: je kunt een twee-dimensionale array doorlopen met een for-loop in een for-loop
  18. je begrijpt hoe een functie werkt en hoe je deze kunt gebruiken.
  19. je begrijpt wat parameters van een functie zijn en hoe je deze gebruikt.
  20. je begrijpt wat het resultaat van een functie is en hoe je dit gebruikt.
  21. je begrijpt wat er op het syntaxblad Javascript staat en dit kunt toelichten en gebruiken.

Oefentoets

Een oefentoets voor deze module staat in Woots .

T4. Algoritmen in Javascript

Je leert hoe je problemen kunt oplossen met algoritmen, je gebruikt daarbij stroomdiagrammen en de programmeertaal Javascript.

Hulpmiddelen

We gebruiken in deze module enkele online hulpmiddelen voor het tekenen van schema’s en het maken van oefeningen.

Oefeningen

Eenvoudige algoritmen

  1. Stroomdiagrammen lespresentatie, met codevoorbeelden in replit (wordt misschien herzien)
  2. Lespresentatie korste-pad-algoritme
  3. Programmeeropdrachten in Github (tevens beschikbaar in Woots )

Uitleg

Leerdoelen voor de toets

Eenvoudige algoritmen

  1. je kunt uitleggen wat een algoritme is
  2. je kunt uitleggen wat een flowchart is en waarvoor je deze gebruikt
  3. je kunt flowcharts lezen, dat betekent dat je de output van een flowchart kunt bepalen als de input en de flowchart gegeven worden
  4. 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.
  5. je kunt een flowcharts omzetten naar JavaScript code en JavaScript code kunnen omzetten naar een flowchart.

Complexe algoritmen

  1. je kunt met een gegeven graaf handmatig Dijkstra’s kortste pad algoritme uitvoeren en zo het korste pad tussen twee knopen / punten vinden.

Oefentoets

Een oefentoets voor deze module staat in Woots .

T5. Databases met SQL

Je leert hoe je heel veel informatie kunt bekijken en bewaren in databases met de programmeertaal SQL.

Hulpmiddelen

We gebruiken in deze module de volgende tools:

  1. Khan Academy

Oefeningen

Khanacademy, module Intro to SQL

  1. SQL basics
  2. More advanced SQL queries
  3. Relational queries in SQL (lang)
  4. Modifying databases with SQL
  5. Further learning in SQL (overslaan)

Ruimtedatabase (alleen vwo)

  1. Opgaven met antwoorden in Woots
  2. Uitlegvideo’s met antwoorden

Uitleg

Naslagmateriaal

Leerdoelen voor de toets

Databases theorie

  1. Je kunt uitleggen wat een relationele database is.
  2. alleen vwo: Je kunt gegevens analyseren en structureren en relaties vastleggen in een multipliciteitsdiagram.
  3. alleen vwo: Je kunt gegevens analyseren en structureren en vastleggen in een strokendiagram.
  4. Je kunt een database voorzien van een voorbeeldpopulatie (dit betekent dat je gegevens in velden kunt invullen).
  5. 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.
  6. Je kunt uitleggen wat redundantie is.
  7. Je kunt uitleggen wat normaliseren is.
  8. 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).
  9. Je kunt voor een gegeven situatie een voorstel te doen voor een genormaliseerde database structuur.
  10. Je kunt aangegeven welke (combinaties van) velden uniek zijn / als sleutel kunnen dienen.
  11. Je weet waarvoor de primaire sleutel dient.
  12. Je weet wat een verwijzende sleutel is.
  13. Je weet hoe verwijzingen tussen verschillende tabellen met behulp van sleutels werken.
  14. Je weet hoe in een database wordt aangegeven dat een veld geen waarde bevat.

Databases programmeren in khan:

  1. Je kunt met CREATE TABLE een gegevensmodel omzetten in een database.
  2. Je kunt met INSERT rijen aan een tabel toevoegen.
  3. alleen vwo: Je kunt met DELETE rijen verwijderen uit een tabel.
  4. Je kunt met SELECT gegevens uit een relationele database opvragen.
  5. Je kunt de opgevraagde gegevens uit een relationele database oplopend en aflopend sorteren.
  6. Je kunt voorwaarden stellen aan de op te vragen gegevens uit de database (WHERE) en gebruikmaken van operatoren (=, <, >, >=, <=, <>).
  7. Je kunt gebruikmaken van LIKE bij het stellen van voorwaarden in de query.
  8. alleen vwo: Je kunt gebruik maken van een subquery in combinatie met de voorwaarde IN.
  9. Je kunt gebruikmaken van samengestelde voorwaarden (AND, OR) bij het stellen van voorwaarden in de query.
  10. Je kunt gebruikmaken van omgedraaide voorwaarden (NOT) bij het stellen van voorwaarden in de query.
  11. Je kunt gebruikmaken van NULL bij het stellen van voorwaarden in de query.
  12. Je kunt gebruikmaken van aggregatiefuncties (COUNT, SUM, MAX, MIN, AVG) bij het opstellen van query.
  13. Je kunt gebruikmaken van GROUP BY bij het groeperen van de resultaten van een query.
  14. Je kunt voorwaarden stellen aan op te vragen gegroepeerde gegevens met HAVING
  15. alleen havo: Je kunt bij een query over 2 of 3 tabellen de JOIN toepassen
  16. alleen vwo: Je kunt bij een query over 2 of meer tabellen de JOIN toepassen
  17. Je kunt een query maken met JOIN van een 1-op-n relatie
  18. Je kunt een query maken met JOIN van een n-op-m relatie
  19. 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.

Oefentoets

Een oefentoets voor deze module staat in Woots .

T6. Robotica met Arduino

Je leert hoe je met behulp van toestandsgrammen kunt programmeren. Je gebruikt daarbij het Arduino platform.

Hulpmiddelen

We gebruiken in deze module de volgende tools:

  1. Arduino IDE

Oefeningen

Arduino-lessen.nl, les 1 t/m 5

  1. Knipperende LED
  2. Knipperend LED op breadboard
  3. Fadende LED op breadboard met PWM
  4. Knippersnelheid regelen met potmeter
  5. LED schakelen met drukknop
  6. Afstand meten met ultrasoon sensor (geen toetsstof)

Zonder arduino-lessen.nl

  1. Grove I2C LCD met tekst en symbolen, zie uitlegvideo op deze pagina met libary “Grove-LCD RGB Backlight” (geen toetsstof)
  2. Passive speaker voor muziek, zie uitleg op https://docs.arduino.cc/built-in-examples/digital/toneMultiple (geen toetsstof)

Meer lessen Arduino-lessen (geen toetsstof)

Presentaties

  1. Lespresentatie toestandsdiagrammen
  2. Lespresentatie Arduino basics

Uitleg

Naslagwerken

  1. Microcontroller reader (alleen de paragrafen 1.1, 2.1 t/m 2.9, 3.2, 4.1 t/m 4.3, 5.1 t/m 5.6 en 6.4)

Leerdoelen voor de toets

Arduino

  1. Je kunt uitleggen wat een microcontroller is.
  2. Je weet wat de setup() en loop() functies in een Arduino sketch zijn.
  3. Je weet hoe je digitale en analoge poorten aanstuurt of uitleest
  4. Je weet hoe je delay() gebruikt en wat de voor- en nadelen van deze functie zijn.
  5. Je begrijpt wat de functie millis() doet.
  6. Je kunt de functie millis() gebruiken als vervanging van delay().
  7. Je weet hoe je een PWM signaal kunt creëren
  8. Je kunt uitleggen wat een PWM signaal is en kunt daarbij de term duty cycle correct gebruiken en uitleggen
  9. Je weet hoe een breadboard werkt
  10. Je weet hoe je een variabele weerstand aansluit op een analoge poort van Arduino
  11. Je weet hoe je een LED aansluit op een digitale poort van Arduino
  12. Je weet hoe je een knop aansluit op een digitale input poort van Arduino
  13. Je weet wat het verschil is tussen een sensor en een actuator.
  14. Je kunt een aansluitschema maken van een systeem dat beschreven is in een stuk tekst. Het aansluitschema bevat een Arduino, actuatoren en sensoren.
  15. Je kent de volgende datatypen: string, int, float, bool
  16. Je kunt Arduino code aanpassen om tot een gevraagde oplossing te komen.
  17. Je kunt korte programma’s maken die een knipperende LED, gedimde LED, knop en potmeter gebruiken.
  18. Je hebt voorkennis van programmeren op het niveau van de vierde klas.

Toestandsdiagrammen

  1. Je kunt aan de hand van een gegeven toestandsdiagram aangeven hoe een systeem zich gedraagt.
  2. Je kunt een toestandsdiagram maken van een systeem dat beschreven is in een stuk tekst.
  3. Je kunt een toestandsdiagram omzetten in Pseudocode.
  4. Je kunt pseudocode omzetten in Arduino-code.

Naslagmateriaal

Syntaxblad

Oefentoets

Een oefentoets voor deze module staat in Woots .

T7. Netwerken met IP

Je leert hoe het internet van binnen werkt.

Hulpmiddelen

We gebruiken in deze module de volgende tools:

  1. Informatica Actief
  2. Filius

Oefeningen

Informatica Actief, keuzemodule netwerken, versie netwerken nieuwe stijl

  1. Informatica Actief, keuzemodule netwerken (1.1, sla 1.2 over)
    In plaats van Filius te installeren, gebruik je Filius in Gitpod
  2. Informatica Actief, keuzemodule netwerken (2.1 t/m 2.17)
  3. Informatica Actief, keuzemodule netwerken (3.1 t/m 3.8)
  4. Informatica Actief, keuzemodule netwerken (4.1 t/m 4.3)
  5. Informatica Actief, keuzemodule netwerken (5.1 t/m 5.5)

Uitleg

Naslagmateriaal

  1. Netwerken lespresentatie (Powerpoint presentatie)
  2. How the internet works (video’s)
  3. Theorie netwerkprotocollen (alleen hoofdtstuk 5, dit is best pittig, aanvulling op uitleg in de les).

Leerdoelen voor de toets

Netwerken

  1. Je kunt met behulp van een berekening kunt aantonen wat de hoofdreden is om het IP versie 4 protocol te vervangen door IPv6
  2. Je kunt het verschil uitleggen tussen een LAN en een WAN.
  3. Je kent de belangrijkste verschillen tussen communicatie over koperen verbindingen, glasvezelverbindingen en draadloze verbindingen
  4. Je weet wat bij computernetwerken de termen lag / latency / latentie en bandbreedte betekenen en hoe ze de snelheid van een netwerkverbinding beïnvloeden.
  5. Je kunt uitleggen waarvoor het het OSI-model is ontwikkeld
  6. Je begrijpt het OSI-model / IP-stack. Je kunt de applicatielaag, transportlaag, netwerklaag, datalinklaag en fysische laag uitleggen.
  7. Je kunt twee voordelen benoemen van het werken met een lagenmodel zoals het OSI-model of de IP-stack.
  8. Je weet wat een MAC-adres is, bij welke laag het hoort en waarvoor het wordt gebruikt.
  9. Je weet wat ARP is en waarvoor het dient.
  10. Je weet wat het MAC broadcast adres is en waarvoor het dient.
  11. Je weet wat een IP-adres is, bij welke laag het hoort en waarvoor het wordt gebruikt.
  12. Je kunt met behulp van routeringstabellen het gedrag van een router bij een inkomend bericht beschrijven.
  13. Je weet wat het IP broadcast adres is en waarvoor het dient.
  14. Je weet wat een subnetmasker is en waarvoor dit dient.
  15. Je kunt met behulp van het subnetmasker uitrekenen hoeveel apparaten er in een netwerk verbonden kunnen zijn.
  16. Je weet wat het nadeel is van een subnetwerk met heel veel apparaten.
  17. Je kunt de twee belangrijkste verschillen tussen TCP en UDP benoemen
  18. Je weet wat TCP-poorten zijn en waarvoor deze dienen
  19. Je kunt beschrijven hoe een pakketje van een apparaat in het ene subnet naar een apparaat in het andere subnet reist.
  20. Je kent de functie van de volgende netwerkapparaten: router, modem, switch, wireless access point, repeater, firewall
  21. Je kunt beredeneren tot op welk niveau van het OSI-model een netwerkapparaat werkzaam is.
  22. Je kunt bij schematische weergave van een netwerk de verschillende netwerkapparaten herkennen en benoemen en IP-adressen en subnetmaskers bepalen of toewijzen.
  23. Je weet wat de functie van een firewall is.
  24. Je begrijpt wat een DNS is en waarvoor deze dient
  25. 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:

T8. Objectgeoriënteerd Programmeren

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++.

Theorie

Opdrachten

Naslagmateriaal (ook beschikbaar bij toets)

Leerdoelen

  • Je weet wat het verschil is tussen een klasse en object.
  • Je weet wat attributen en methodes van objecten zijn.
  • Je weet wat inkapseling is.
  • Je kunt uitleggen wat het verschil is tussen private en public attributen en methodes en dit principe toepassen.
  • Je kunt op basis van een beschrijving in combinatie met stukje code beslissen welke attributen je private en welke je public zou maken.
  • Je weet wat getter- en setter-methodes zijn.
  • Je kunt een beargumenteerde keuze maken om voor een attribuut wel / niet gebruik te maken van getter en / of setter.
  • Je kunt zelf code voor getter- en settermethodes maken.
  • Je kunt uitleggen wat ‘overerving’ betekent en dit principe toepassen.
  • Je begrijpt de termen superklasse en subklasse.
  • Je begrijpt wat een abstracte klasse is.
  • Je kunt in JavaScript objectgeoriënteerde code lezen en schrijven (eerdere kennis wordt verondersteld).
  • Je kunt in C++ (Arduino-code) objectgeoriënteerde code lezen.
  • Je kunt zelfstandig objectdiagrammen en (ontwerp)klassendiagrammen maken.
  • Je kunt een ontwerpklassendiagram maken met behulp van een beschrijving van systeem.
  • Je kunt een (ontwerp)klassendiagram omzetten naar JavaScript en andersom. Je bent hierbij in staat om relaties tussen klassen om te zetten naar code.
  • Je kunt C++ (Arduino-code) omzetten naar (ontwerp)klassendiagram.
  • Je kent drie voordelen en drie nadelen van objectgeoriënteerd programmeren.

Oefentoets

T9. Security

Over de beveiliging van computers en data.

Theorie

Naslagmateriaal toets

Uitlegvideo’s

Onderstaande video’s horen niet bij de verplichte stof, maar kunnen wel helpen de stof te begrijpen of extra informatie geven als je meer wilt weten.

Leerdoelen

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.

Oefenopgaven