In dit vak zijn diverse cryptografische protocollen behandeld, waaronder DES en RSA. Ook zijn diverse technieken zoals Zero Knowledge Proofs, Stream Ciphers en Groepscryptografie aan de orde gekomen.
In dit vak hebben we diverse onderdelen van een moderne database nader bekeken, waarbij er vooral is ingegaan op alles dat komt kijken bij query-processing. Ook hebben we gekeken naar de database Monet.
In dit vak zijn probabilistische netwerken aan de orde geweest. Het algoritme van Pearl voor inferentie is behandeld, evenals een inleiding in gevoeligheidsanalyse en de problemen bij het construeren van een probabilistisch netwerk.
In dit vak zijn technieken behandeld om geautomatiseerd roosters op te stellen die aan van tevoren bekende specificaties voldoen. Hiervoor gebruikten wij voornamelijk lineair programmeren.
Bij dit vak werden technieken behandeld waarmee processen in een computer kunnen worden gemodelleerd, zodat de voor- en nadelen van dit proces kunnen worden geanalyseerd.
In dit vak zijn de technieken behandeld die nodig zijn om een compiler of interpreter te bouwen, niet alleen voor programmeertalen maar ook voor domeinspecifieke talen.
In dit vak is een inleiding gegeven op de financiele wereld, zodat de studenten dezelfde taal kunnen spreken als financiële experts.
In dit vak is zowel de programmeertaal C++ uitgelegd, als technieken om hier effectief games mee te programmeren. Ook zijn taalonafhankelijk concepten behandeld die worden gebruikt bij het maken van complexe games.
Tijdens dit vak zijn verschillende specificatie- en testmethoden aan bod gekomen. De nadruk lag hierbij op methoden voor gedistribueerde software.
In dit vak zijn diverse algorithmen voor grafen aan bod gekomen, zoals flowalgoritmen, korste pad, enz. De nadruk lag niet alleen op algoritmen die niet alleen het probleem oplossen, maar ook nog efficient zijn.
Tijdens dit vak kregen we de kans om een virtueel bedrijf op te zetten, waarmee we alle facetten leerden die bij het opzetten van een eigen bedrijf komen kijken.
In dit vak werden diverse manieren behandeld om de werking van software zodanig te specificeren, dat bij eventuele onenigheid later met deze specificatie kan worden nagegaan wie er fout zat. Dit is met name handig voor het opstellen van contracten tussen partijen in een complex IT project.
Bij dit vak zijn de technieken aan bod gekomen die worden gebruikt in grote virtuele werelden. Onder andere het ontwerp van zulke werelden, de simulatie van natuurkundige krachten op objecten en de netwerk-technieken die nodig zijn om de indruk van een echte wereld te wekken zijn behandeld.
In dit vak zijn de relationele databases behandeld. Onderwerpen die aan bod kwamen waren onder meer: ER-modelleren, Relationele Algebra en SQL, normalisatie en transaction processing. Daarnaast zijn nog enkele korte onderwerpen als webdatabases en databases met XML-functionaliteit behandeld.
In dit vak zijn enkele datastructuren, zoals linked lists, zoekbomen, AVL bomen, heaps en multiway zoek bomen. Daarnaast zijn enkele sorteeralgoritmen zoals quicksort, mergesort, heapsort behandeld.
In dit vak is het functionele programmeer paradigma behandeld aan de hand van de taal Haskell.
In dit vak is de basis van computer graphics behandeld, zoals ray-tracing en de graphics pipeline. Daarnaast zijn er diverse methoden voor bijvoorbeeld texture mapping, hidden surface elimination en belichting/schaduwen behandeld. Daarbij zijn ook ondersteunende algoritmen en datastructuren zoals BSP-bomen en Z-buffers behandeld.
In dit vak is het object-georiënteerd programmeren uitgelegd aan de hand van de taal Java.
In dit vak zijn zowel de propositie- en de predikatenlogica behandeld, alsmede de basis van de verzamelingenleer. Daarnaast zijn er verschillende bewijstechnieken behandeld, zoals natuurlijke deductie, sequenten calculus etc.
Bij dit vak zijn heel diverse onderwerpen behandeld: Objectgeoriënteerd programmeren, modelleertechnieken in UML en het schrijven van tests in JUnit.
In dit vak zijn algemene concepten van besturingssytemen behandeld, alsmede verschillende onderwerpen aangaande netwerken, zoals het OSI-lagenmodel en de techniek achter ethernet, draadloze communicatie etc.
Bij dit vak hebben we geleerd hoe we algemene en technische onderwerpen mondeling via een presentatie of schriftelijk via een scriptie kunnen overbrengen. Daarnaast hebben we geleerd om een krantenartikel over een technisch onderwerp te schrijven en elkaar kritisch te beoordelen.
Bij dit project heb ik in een team van 9 studenten gebouwd aan Spectre. Met dit programma worden de gegevens van massaspectrometers, waarmee biologen monsters onderzoeken op de aanwezigheid en hoeveelheid van bepaalde eiwitten, gevisualiseerd en ge-analyseerd. In dit project moesten we zowel programmeren als contact houden met de klant en het project managen. Naast het programmeren heb ik me binnen het team ook bezighouden met het aansturen van het team, onder andere als voorzitter tijdens vergaderingen.
In dit vak zijn allerlei wiskundige technieken behandeld, die een informaticus goed van pas kunnen komen.
In dit vak zijn diverse algoritmische technieken aan de orde geweest, waaronder dynamisch programmeren, greedy algoritmen. Ook zijn algoritmen op grafen en NP-volledigheid aan de behandeld.
In dit vak zijn klassieke synchronisatietechnieken voor multi-threaded software besproken, zoals busy-waits, semaforen en monitoren. Daarna zijn message passing algoritmen behandeld en ten slotte ook wachtvrije synchronisatietechnieken.
In dit vak zijn grammatica's en hun eigenschappen, zoals onder meer LL behandeld. Tevens zijn ook technieken voor parserbouw behandeld, zowel met behulp van ANTLR en met parser-combinatoren in Haskell.
In dit vak is een inleiding gegeven op diverse operaties op afbeeldingen. Ook zijn technieken behandeld waarmee structuren in afbeeldingen herkend kunnen worden.
In dit vak is lineair programmeren behandeld. Het simplex algoritme is behandeld en enkele uitbreidingen zijn behandeld. Ook is behandeld hoe een concreet probleem als lineair programmeringsprobleem kan worden geformuleerd.
In dit vak besproken hoe je met behulp van logica de correctheid van programma's kunt bewijzen. Allereerst is Hoare logic besproken voor procedurele programma's en vervolgens uitbredingen hierop om programma's met objecten aan te kunnen.
In dit vak zijn contracten en algemene voorwaarden, de bescherming van intellectueel eigendom en privacywetgeving behandeld, alsmede ook computercriminaliteit en manieren waarop de ICT de rechtspraktijk en de overheid kan helpen.
In dit vak zijn diverse zoekalgoritmen aan de orde gekomen. Allereerst zijn de algoritmen voor ongeïnformeerd zoeken als breadth first en depth first aan de orde gekomen. Vervolgens zijn heuristische algoritmen als best-first en A* behandeld. Vervolgens zijn ook algoritmen voor lokaal zoeken, zoals hill climbing, simulated annealing en tabu search behandeld. Ook zijn algoritmen voor zoeken met een tegenstander en constraint satisfaction behandeld.
In dit vak zijn (x)HTML, CSS, JavaScript, PHP, Java Servlets en XML uitvoerig behandeld. Hierover waren ook grote praktische opdrachten. Daarna zijn AJAX, Frameworks en andere verwante onderwerpen kort behandeld.
In dit vak zijn verschillende methoden voor software projectmanagement behandeld, zoals PRINCE2 in combinatie met XP, RUP of DSDM. Ook is PMBOK kort beschreven en zijn culturele verschillen in internationale teams behandeld.
In dit vak zijn methoden behandeld om de eisen van de klant te vertalen in een ontwerp van de architectuur van een oplossing. Met name is de nadruk gelegd op het vroegtijdig vaststellen van belangrijke kwaliteitseisen, om deze vervolgens te garanderen door gebruik te maken van bekende patronen en principes.
In dit vak zijn heel veel diverse onderwerpen behandeld. Onder andere is de specificatietaal Z aan de orde geweest en aspect-georiënteerd programmeren. Daarnaast zijn er diverse versiebeheer- en buildtools, zoals ANT, Make, SVN en DARCS behandeld.
In dit vak zijn diverse technieken aan bod gekomen waarmee een programma op basis van leergegevens patronen kan herkennen, waarmee het daarna voor onbekende gevallen kan voorspellen in welke klasse deze gevallen horen.
Bij dit vak zijn diverse methoden behandeld waarmee zogenaamde expertsystemen kunnen worden gebouwd. Dit zijn systemen die een professional ondersteunen in hun taak, of hen juist (deels) overbodig maken. Hiervoor zijn technieken behandeld om met bijvoorbeeld natuurlijke taal of onzekerheden om te gaan. Ook zijn de beperkingen van deze regelgebaseerde systemen besproken, en dit was naast het feit dat deze systemen uitontwikkeld zijn de reden dat dit vak dit jaar voor het laatst gegeven wordt.
In dit vak is User-Centered Development behandeld, ofwel het ontwerpen van software waarbij voortdurend de gebruiker betrokken wordt. Daarnaast zijn ook technieken behandeld waarmee een interface gebruiksvriendelijk kan worden gemaakt.
In dit vak zijn enkele algoritmen voor kunstmatige intelligentie behandeld, zoals k-nearest-neighbour, neurale netwerken en het minimax zoekalgoritme.
In dit vak zijn allerlei technieken behandeld die nodig zijn om kansen te berekenen en voorspellingen te doen op basis van gegevens. Onder anderen zijn diverse verdelingen en schatters behandeld.