Informaticasite van het Lauwers College te Buitenpost                 © R.J. van der Beek
 

PWS-onderwerpen met informatica

  • RSA en beveiliging op het internet, geheime boodschappen coderen, cryptografie

    De laatste tijd wordt steeds meer informatie via de elektronische snelweg verstuurd. Het is uiteraard van groot belang dat dit op een veilige manier gebeurt. Daarom is het noodzakelijk dat de berichten eerst worden gecodeerd voordat ze verzonden worden. Achter dit coderen en decoderen zit een behoorlijke portie wiskunde. Deze wiskunde noemen we ook wel cryptografie. Zie hoofdstuk 17
  • Compressietechnieken

    Compressie is een begrip waar al vanaf de beginjaren van de informatica veel aandacht aan is besteed.
    Door de ontwikkeling van verschillende technieken kan elk stuk data tegenwoordig worden gecomprimeerd.
    Onderzoek welke technieken worden gebruikt om verschillende soorten media te verkleinen, denk maar aan beeld en geluid. Onderzoek de verschillende algoritmen, en ontwerp er misschien zelf wel één.
  • Handschriftherkenning en woordherkenning

    Hoe kan een systeem geschreven tekst herkennen? Voor een computer is dat lastig omdat het niet weet hoe handgeschreven letters of woorden er uit zien, laat staan hoe jij die schrijft.
    Een handschriftherkenner kan jouw handgeschreven letters herkennen door ze te vergelijken met een groot aantal letters die eerder door anderen zijn geschreven. De herkenner kun je dan zelf bijstellen door jouw voorbeeld letters toe te voegen.
    In de afgelopen paar seconden hebben je hersenen heel wat werk verricht om de vorige zin te begrijpen. Met behulp van kennis uit de kunstmatige intelligentie is het mogelijk het herkenningsproces van de woorden na te bootsen.
    Onderzoek wat er allemaal bij komt kijken tussen de herkenning van verschillende letters en de herkenning van het woord waar ze in staan, dus hoe bijvoorbeeld de letters B, O, E en K het woord BOEK zullen vormen.
  • Kunstmatige intelligentie

    Zie hoofdstuk 15
  • Zoeken met Google

    Internet bestaat uit een grote verzameling computers. Op veel van deze computers staat informatie.
    Gelukkig hoef je niet al deze computers zelf af te zoeken. Grote zoekmachines als Google en Yahoo zoeken systematisch internet af naar informatie.
    Deze gegevens worden in kaart gebracht op de computers van deze zoekmachines. Hoe gaat dat in zijn werk?
    Hoe wordt de volgorde bepaald? Wat zijn handige zoekstrategieën?
  • Waar komen de GSM-telefoonmasten?

    In een gebied (bv. Nederland) worden een aantal basisstations geplaatst. Dit zijn vrij compacte masten die bijna overal geplaatst kunnen worden. Elk basisstation kan een aantal mobiele bellers, die zich niet te ver van het station bevinden, verbinden met het vaste telefoonnetwerk.
    Bij plaatsing van voldoende basisstations kan men het grote gebied opsplitsen in kleinere delen, die we ook wel "cellen" noemen. Dit zijn de werkgebieden van de basisstations.
    Wanneer iemand vanuit een cel mobiel wil bellen, krijgt hij een kanaal toegewezen waarmee de beller via het bij die cel behorende basisstation met het vaste net wordt verbonden. Een kanaal bestaat uit een tweetal frequenties waarvan er één gebruikt wordt voor een signaal van het basisstation naar de mobiele beller, en één voor andersom. Omdat GSM digitaal is, kan men gebruik maken van technieken zoals FDMA (Frequency Division Multiple Access) en TDMA (Time Division Multiple Access) waardoor het mogelijk is om met één frequentiepaar tegelijkertijd acht bellers (acht kanalen) met een basisstation te verbinden.
    Vanwege de beperkte sterkte van de mobiele telefoons en het beperkte onderscheidend vermogen van de basisstations kan een mobiele beller alleen via een bepaald basisstation communiceren als hij er niet te ver van verwijderd is.
    Een basisstation heeft een bepaalde kritieke afstand waarbinnen een beller zich moet bevinden om een goede verbinding mogelijk te maken.
    Voor communicatie tussen bellers en stations is slechts een beperkt aantal frequenties beschikbaar. Vodafone bv. heeft van de Nederlandse overheid 42 frequenties toegewezen gekregen.
    Bedenk hoe Vodafone de basisstations het beste kan plaatsen indien men landelijke dekking nastreeft.
    Hoeveel frequentieparen heeft men gemiddeld per cel (liefst zo veel mogelijk)?
    Hoeveel basisstations heeft men ongeveer nodig voor de landelijke dekking indien geëist wordt dat er gemiddeld één kanaal per vierkante kilometer beschikbaar is?
    Op welke kritieke afstand moet men deze instellen en wat wordt hun onderlinge afstand ?
    Wat verandert hieraan als men door nieuwe technieken 16 i.p.v. 8 kanalen per frequentiepaar kan realiseren?
  • LaTeX

    pdfLaTeX is een opmaaktaal. Dit wil zeggen dat je tussen de tekst die je wilt schrijven ook opmaakcommando's typt.
    Die commando's beschrijven hoe de tekst moet worden opgemaakt, en hoe ander materiaal, zoals plaatjes, worden ingevoegd. Je hebt dus in de eerste plaats een teksteditor nodig. Je kunt met een teksteditor platte tekst in de computer invoeren en wijzigen. Platte tekst is tekst zonder opmaak.
    Omdat platte tekst geen opmaak heeft, moet je ook nog commando's typen opdat LaTeX de juiste opmaak aan de tekst toevoegt. Deze commando's beginnen allemaal met een speciaal teken: de backslash
    LaTeX is dus een soort van een markeertaal, te vergelijken met html. Html is echter bedoeld om webpagina's op te maken. LaTeX daarentegen is een opmaaktaal om afdrukbare documenten bijvoorbeeld in pdf-formaat aan te maken. LaTeX is bovendien een programmeertaal. Je kunt zelf bijkomende opmaakcommando's ontwerpen.
    Hierdoor is LaTeX dus uitbreidbaar, in tegenstelling tot een kant-en-klare tekstverwerker, die pas bij een volgende versie meer mogelijkheden heeft.
  • Een robot programmeren.

    Zie cursus Robotica
  • Game Development

    Er komt veel kijken bij het ontwikkelen van games; technische zaken zoals programmeren met multimediatechnieken, maar ook de verbeelding die je nodig hebt bij het ontwerp. Het gaat natuurlijk om spanning en actie, maar er zijn ook toepassingen van games buiten de sfeer van entertainment. Zo kunnen games bijvoorbeeld helpen bij het trainen van sociale vaardigheden, terwijl dit met gewoon lesmateriaal niet eenvoudig te doen is. Ontwerp je eigen game bijvoorbeeld met het Half Life 2 game development tool, waarmee je met zelf gemaakte foto's en/of videomaterialen kunt gebruiken. Of gebruik Gamemaker. Bestudeer verder de achtergronden van game development.
  • Een CMS (content management systeem)

    Een content-beheersysteem of contentmanagementsysteem is een web-applicatie, die het mogelijk maakt dat mensen eenvoudig, zonder veel technische kennis, documenten en gegevens op internet kunnen publiceren (contentmanagement).
    Als afkorting wordt ook wel CMS gebruikt, naar het Engelse content management system (inhoudsbeheerssysteem). Een functionaliteit van een CMS is dat gegevens zonder lay-out (als platte tekst) kunnen worden ingevoerd, terwijl de gegevens worden gepresenteerd aan bezoekers met een lay-out door toepassing van sjablonen.
    Een CMS is vooral van belang voor websites waarvan de inhoud regelmatig aanpassing behoeft, en de inhoud in een vaste lay-out wordt gepresenteerd aan bezoekers.
    De meeste grote bedrijven gebruiken voor hun website tegenwoordig een CMS. Een bekende variatie op het CMS is bijvoorbeeld de weblog.
    Een CMS bestaat ten minste uit de volgende onderdelen:
    * een (bijna altijd afgeschermde) administratiemodule, waar gegevens kunnen worden ingevoerd, verwijderd of aangepast.
    * een database of een andere vorm van opslag van de gegevens.
    * een presentatiemodule, waar de ingevoerde gegevens door bezoekers kunnen worden bekeken.
    Een bekende open-source CMS is van Joomla!
    Welke CMS'en zijn er. Hoe werken ze. Kun je er zelf één maken?
  • Foutherstellende en ontdekkende codes

    Je hebt foutenontdekkende codes en foutenherstellende codes (bijv. voor CD's). Hoe werken die? Kun je er zelf één maken?
  • Digitaal display

    Een kort verslag van een pws over dit onderwerp, waarmee een aantal jaren geleden een prijs is gewonnen, vind je hier
  • Raytracing

    Een kort verslag van een pws over dit onderwerp, waarmee een aantal jaren geleden een prijs is gewonnen, vind je hier
  • Verkeerslichten

    Een kort verslag van een pws over dit onderwerp, waarmee een aantal jaren geleden een prijs is gewonnen, vind je hier
  • Digitalisering van vingerafdrukken

    Een kort verslag van een pws over dit onderwerp, waarmee een aantal jaren geleden een prijs is gewonnen, vind je hier
  • Onderzoek "sudoku" puzzels met de computer

    Maak een programma dat telt hoeveel oplossingen een gegeven puzzel heeft.
    Vaak kun je een puzzel helemaal oplossen door "flauwe" zetten te doen: je kijkt voor ieder vakje bij welke van de negen cijfers er nog kunnen staan, en als een cijfer dan nog maar bij een vakje in een groep van negen mogelijk is, vul je hem meteen in.
    Definieer de "moeilijkheidsgraad" van een sudoku puzzel als het aantal "niet-flauwe" zetten dat er nodig is om hem in te vullen.
    Maak een programma die de moeilijkheidsgraad van een puzzel bepaalt.
  • Rekenen met getallen die "te groot" zijn

    Maak een programma om "bignum" aritmetiek mee te doen: rekenen met getallen met zoveel cijfers dat ze niet in een "integer" passen.
    Representeer dit soort "grote" getallen door een array van "gewone" integers.
    Maak routines om dit soort grote getallen te lezen, te schrijven, op te tellen, te vermenigvuldigen.
    Hoeveel stappen kost het je programma om twee getallen met n cijfers te vermenigvuldigen?
    Kun je dit ook in minder dan "orde n kwadraat" stappen voor elkaar krijgen?
    Een interessante vermenigvuldigmethode voor "grote getallen" is van Karatsuba.
  • Onderzoek de "edit afstand" van strings

    Dit is technologie die bijv. wordt gebruikt om DNA sequenties te vergelijken.
    In een editor kun je een string editten door een teken weg te halen, een teken te veranderen, of een teken toe te voegen.
    Maak een programma dat het minimale aantal van dit soort operaties telt om van een string naar een andere te komen. Beargumenteer waarom je programma de minimale oplossing vindt. Laat je programma de edit operaties compact weergeven.
  • Hexadecimaal rekenen en het getal "Pi"

    Sinds enige jaren is bekend dat je de honderdmiljardste hexadecimaal van Pi "snel" kunt uitrekenen zonder de 99999999999 voorgaande te bepalen.
    Om "vele" decimalen van Pi te vinden moet je helaas in volle precisie werken... Moderne algorithmen om dit te doen zien er eenvoudig uit, maar zijn meestal moeilijk te vinden.
    Een oude manier om Pi te berekenen is via het gooien van een naald op een bord met lijntjes (de Bouffon).
    Doel is, een verslag te schrijven over manieren om Pi te berekenen, met aandacht voor rekensnelheid en geheugengebruik, en een implementatie te maken van een van deze algorithmen, bijvoorbeeld die van de Bouffon.
  • Hopfield Netwerk

    Je hersenen bestaan uit heel veel neuronen (tussen de 10 en 1000 miljard) die onderling met elkaar verbonden zijn.
    Op de een of andere manier kan die grijze smurrie daardoor heel veel dingen doen waartoe een computer (nog) niet in staat is.
    Om een computer dit wel te kunnen laten doen kun je proberen om een computer de werking van het brein te laten simuleren m.b.v. een software programma. Dit wordt een kunstmatig neuraal netwerk genoemd.
    Een van de eenvoudigste neurale netwerken is het zogenaamde Hopfield netwerk. Neuronen in dit netwerk kunnen in 2 toestanden zijn: aan of uit. Het Hopfield netwerk werkt als een soort geheugen.
    Door de sterkte van de verbindingen tussen neuronen te leren, kun je plaatjes opslaan. Wanneer je dan een onnauwkeurig beeld aanbiedt, slaagt het netwerk erin het sterkst gelijkende opgeslagen plaatje te terug te vinden.
    Het Hopfield netwerk is zeker niet de meest efficiente manier om plaatjes op te slaan, maar heeft wel een aantal interessante eigenschappen die overeenkomen met de manier waarop je hersenen ook werken. Bijvoorbeeld, wanneer een groot aantal van de verbindingen worden "weggesneden" blijft het netwerk nog steeds goed functioneren.
    * Bestudeer de wiskunde achter het Hopfield netwerk (zie bijvoorbeeld wikipedia als startpunt).
    * Schrijf een computerprogramma dat een Hopfield netwerk simuleert.
    * Laat zien dat het Hopfield netwerk inderdaad plaatjes op kan slaan en kan reconstrueren.
    * Onderzoek in hoeverre het Hopfield netwerk goed blijft functioneren als verbindingen kapot gaan of neuronen fouten maken.
  • Gevolgen van gaten in de firewall

  • Een game maken dat je via internet tegen elkaar kunt spelen

    Een economisch spel bijv., of een spel over het milieu
  • RFID: Radio Frequency Identification

    Het Radio Frequency Identification (RFID) systeem is een identificatie technologie die gebruik maakt van radiogolven.
    Met behulp van deze radiogolven kunnen objecten, van pennen tot een tubes tandpasta via een chip volgen.
    Maar hoe werkt dit systeem nou precies en wat voor gevolgen heeft dit systeem voor de privacy van consumenten?
  • PWS over GPS

    Dit betreft dan de vakken wiskunde, aardrijkskunde en informatica.
  • programmeren voor je mobiel