Kies op maat

Inloggen Menu

Premaster formele technieken 2

In de Premaster formele technieken 2 maak je kennis met een aantal uiteenlopende onderwerpen: datastructuren en algoritmen, formele talen en automaten, concepten van programmeertalen, IT security. Deze premaster is onderdeel van het premasterprogramma voor de masteropleidingen Computer Science en Software Engineering aan de Open Universiteit. In deze premaster wordt je kennis op een niveau gebracht dat noodzakelijk is voor toelating tot deze masteropleidingen. Als je een hbo-student bent, kun je deze premaster als onderdeel van je hbo-opleiding volgen in de vorm van een minor, in overleg met je onderwijsinstelling.

De premaster bestaat uit vijf onderdelen:
- In het onderdeel ‘Datastructuren en algoritmen’ maak je kennis met abstracte gegevenstypen, arrays en geschakelde lijsten, recursie, complexiteit van algoritmen, stapels en wachtrijen, abstracties van lijsten, afbeeldingen, sets en de sorteeralgoritmen insertion-sort en quick-sort.

- In het onderdeel ‘Formele talen en automaten’ maak je kennis met de theorie van reguliere talen en context-vrije talen. Je verdiept je in formele beschrijvingen van reguliere talen: eindige automaten, lineaire grammatica's en reguliere expressies. Je leert wat de eigenschappen zijn van context-vrije talen en hoe je een context-vrije taal kunt beschrijven met behulp van een context-vrije grammatica. Ook leggen het verband tussen reguliere en context-vrije talen. Tot slot komen het interpreteren en construeren van een eenvoudige turingmachine en basiskennis van beslisbaarheid aan de orde.

- In het onderdeel ‘Introductie tot programmeren in Haskell’ maak je kennis met de beginselen van functioneel programmeren met de taal Haskell.

- In het onderdeel ‘Concepten van programmeertalen’ maak je kennis met basisconcepten die in vrijwel alle programmeertalen op een of andere manier voorkomen: waarden en typen, variabelen en geheugen, bindingen en scope, abstractie en parameterisering.

- In het onderdeel ‘Security en IT’ maak je kennis met de beveiliging van computersystemen.

Daarbij komen uiteenlopende onderwerpen aan de orde: cryptografie, access control, en de beveiliging van besturingssystemen, applicaties, het world wide web en databases. Centraal daarbij staan vragen als: welke kwetsbaarheden zijn er, welke aanvallen zijn daardoor mogelijk, welke maatregelen zijn er vooraf om aanvallen te voorkomen en achteraf om geslaagde aanvallen te detecteren, en welke beperkingen kennen deze maatregelen.

Leerdoelen

Na het bestuderen van het onderdeel ‘Datastructuren en algoritmen’ wordt verwacht dat je
– inzicht hebt in lineaire datastructuren en de bijbehorende standaardalgoritmen
– vertrouwd bent met recursieve algoritmen
– bekend bent met de belangrijkste algoritmen voor het sorteren van gegevens
– een gegeven algoritme kunt beoordelen wat betreft tijdscomplexiteit.

Na het bestuderen van het onderdeel ‘Formele talen en automaten’ wordt verwacht dat je
– kunt aangeven wat een formele taal is
– de belangrijkste eigenschappen van reguliere en context-vrije talen kunt aangeven
– voor een gegeven taal een grammatica kunt opstellen
– een gegeven grammatica kunt interpreteren
– reguliere expressies kunt opstellen
– kunt aangeven hoe een eindige automaat werkt
– een eenvoudige turingmachine kunt interpreteren en construeren
– basiskennis hebt van beslisbaarheid.

Na het bestuderen van het onderdeel ‘Introductie tot programmeren in Haskell’ wordt verwacht dat je eenvoudige expressies en functies in de functionele taal Haskell kunt opstellen.

Na het bestuderen van het onderdeel ‘Concepten van programmeertalen’ wordt verwacht dat je een goed inzicht hebt in de basisconcepten van programmeertalen, zoals waarden, typen, expressies, variabelen, opdrachten, bindingen en parametermechanisme.

Na het bestuderen van het onderdeel ‘Security en IT’ wordt verwacht dat je
– de betekenis kent van termen als confidentiality, integrity, availability, assurance, authenticity en anonymity
– bedreigingen, aanvallen en security-principes voor computersystemen kunt benoemen
– verschillende access-controltechnieken kent en de werking ervan globaal kunt uitleggen
– de beginselen van cryptografie kent en globaal de werking van moderne cryptografische algoritmen en toepassingen daarvan kunt uitleggen
– kunt uitleggen welke beveiligingspolicies en -maatregelen in besturingssystemen worden toegepast
– diverse bedreigingen en beveiligingsmaatregelen voor (web)applicaties kent en globaal kunt uitleggen hoe ze werken
– bekend bent met security-aspecten van databases.

Ingangseisen

Als je een hbo-opleiding volgt die verwant is aan informatica, kun je deze premaster volgen als onderdeel van je hbo-opleiding in de vorm van een minor. Informeer naar de mogelijkheid hiertoe bij je hbo-onderwijsinstelling. Daarnaast toetst de Open Universiteit of je voorkennis afdoende is. De premaster is bedoeld voor studenten die van plan zijn om de masteropleiding Software Engineering of de masteropleiding Computer Science te gaan volgen.

 

Het is vereist dat je de Premaster programmeertechnieken 1, de Premaster programmeertechnieken 2 en de Premaster formele technieken 1 hebt afgerond, of de kennis die daarin opgedaan wordt op andere wijze hebt verkregen. Zie de beschrijvingen van die premasters voor nadere informatie over de inhoud ervan.

Voor vragen over toelating tot deze premaster kun je contact opnemen met de studieadviseur van de Open Universiteit via studieadvies.informatica@ou.nl.

Literatuur

Het onderwijsmateriaal bestaat uit onderdelen van de bachelorcursussen 'Datastructuren en algoritmen', 'Formele talen en automaten', ‘Concepten van programmeertalen’ en ‘Security en IT’ van de Open Universiteit. Daarnaast is er een studeerwijzer. Meer informatie over deze premaster vind je op www.ou.nl/studieaanbod/IB0103.

Rooster

Deze premaster kan worden gevolgd in de periode november-februari of april-juli. De premaster bestaat uit zelfstudie, met wekelijkse online bijeenkomsten (19.30 -21.00 uur). Zie de website voor actuele informatie.

Toetsing

De premaster wordt getoetst met twee digitale tentamens met open vragen.