Verkorting van schakelprogramma s op grond van praktijkervaring voor de masteropleidingen Computer Science en Software Engineering 1



Vergelijkbare documenten
Introductie tot de cursus

Vrijstelling op grond van praktijkervaring voor cursussen in de bacheloropleiding Informatica 1

Vrijstelling op grond van praktijkervaring

Inhoud. Introductie tot de cursus

Introductie tot de cursus

Verkorting van het schakelprogramma op grond van praktijkervaring ten behoeve van de masteropleiding Computer Science of Software Engineering

Inhoud introductie. Introductie tot de cursus

Introductie tot de cursus

B.Sc. Informatica Module 4: Data & Informatie

Inhoud. Introductie tot de cursus

Curriculum Afkortingen Bachelor Informatica Propedeuse Postpropedeuse Start Vervolg Afsluiting 60,0 Gebonden keuze (8,6 EC) Afsluiting

Zelftest Informatica-terminologie

Inhoud. Introductie tot de cursus

Inhoud introductie. Introductie tot de cursus

Vlaams Ministerie van Onderwijs en Vorming 1 september 2007 STUDIEGEBIED ICT. Modulaire opleiding Informatica: Programmeren AO IC 002

Module 1 Programmeren

Vernieuwing Bacheloropleidingen Informatica en Informatiekunde

Vergelijking Oracle certificering voor Java en het CPP Gecertificeerd Javaprogrammeur van de Open Universiteit

Examenprogramma informatica havo/vwo

Inhoud introductie. Introductie tot de cursus

Curriculum Afkortingen Bachelor Informatica Propedeuse Postpropedeuse Start Vervolg Afsluiting 60,0 Gebonden keuze (8,6 EC) Afsluiting

DATAMODELLERING ARCHIMATE DATA- & APPLICATIEMODELLERING

Bijlage bacheloropleiding Informatica

DATAMODELLERING DATA MAPPING MODEL

Practicumhandleiding. (versie 2010)

Uitvoeringsregeling bij de Onderwijs- en examenregeling wo bacheloropleiding Informatica

- Academische competenties in de bachelor - Academische competenties in de bachelor

MODULEBESCHRIJVING Databases DBS1

faculteit wiskunde en natuurwetenschappen Bijlagen bachelopleiding Informatica

Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

Studieschema bachelor Informatica

HBO5 Informatica Netwerkbeheer (90 studiepunten) In deze module leer je projecten op te stellen en te programmeren in de VB.NET-omgeving.

a. Wat wordt verstaan onder V&V? b. Uit welke kernactiviteiten bestaat V&V? c. Noem enkele voor- en nadelen van inspecties. d. Idem voor testen.

DATAMODELLERING ARCHIMATE DATAMODELLERING

DATAMODELLERING BASIS UML KLASSEMODEL

Inhoud introductie. Introductie tot de cursus

Vrijstelling op grond van praktijkervaring binnen de bacheloropleiding Informatica

vanuit de technische en organisatorische omgeving, werk-verdeling, budget, planning, en hergebruik van componenten. Het documenteren van SA dient

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat:

Informatie Systeem Ontwikkeling ISO 2R290

Tim Mallezie Architectuur van besturingssystemen: Vraag A2.

PROGRAMMA Vak: informatica..

Masters Software Engineering en Computer Science Programma, toelating en wijze van studeren

Vrijstelling op grond van praktijkervaring binnen de bacheloropleiding Informatica of Informatiekunde

Vrijstelling binnen een bacheloropleiding van de faculteit Informatica,

Informatica aan de Universiteit Antwerpen

Leergang Programmeren. IT Academy Noord-Nederland is onderdeel van de

Het besturingssysteem of operating system, vaak afgekort tot OS is verantwoordelijk voor de communicatie van de software met de hardware.

Programmeren in Access met VBA

Software Mobiliteit. UAMS - 6 maart Theo D'Hondt Lab voor Pogrammeerkunde Vrije Universiteit Brussel

Programmeren in Access 2016 met VBA

Inhoud. Introductie tot de cursus

Leerjaar 1/2 ICT-Academie. Niveau 4. Applicatie ontwikkeling

Software Test Plan. Yannick Verschueren

Inhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13

Microsoft Excel. It s all about Excel - VBA

Databases - Inleiding

Informatiekunde: Organisatie en ICT in Balans

Uitvoeringsregeling bij de Onderwijs- en examenregeling wo bacheloropleiding Informatiekunde

SQL & Datamodelleren

Inhoud. Introductie tot de cursus

Keuzes in de propedeuse De propedeuse kent geen gebonden keuzeruimte en geen vrije ruimte.

DATAMODELLERING BEGRIPPENBOOM

Introductie. Inhoud introductie

Zelftest Java concepten

Vrijstelling voor de vrije ruimte Vrijstelling op basis van verwante opleiding

Kenmerken van DLArchitect

Informatica-Actief. i&i-conferentie. 25 november 2015, Amersfoort. Pieter Vorstenbosch en Paul Bergervoet

DATAMODELLERING DATA FLOW DIAGRAM

Inhoud. Introductie tot de cursus

ONDERWIJS- EN EXAMENREGELING studiejaar Deel B. HOOFDSTUK 1 - Doelstellingen en eindtermen van de opleiding

Vier aandachtspunten bij het specificeren van digitaal geregelde voedingen

ARE methodiek Het ontwikkelen van Informatie Elementen

Gimme Five! Op weg naar TYPO3 5.0 'Phoenix'

Inhoud. Introductie tot de cursus. 1 De cursus 7 2 Inhoud 7 3 Het cursusmateriaal 9 4 Het bestuderen van de cursus 10 5 Tentaminering 11

Grondige herziening Curriculum Informatica /40

Keuzes in de propedeuse De propedeuse kent geen gebonden keuzeruimte en geen vrije ruimte

DATAMODELLERING TOEPASSEN DATA ANALYTICS

Ontwikkelaar ICT. Context. Doel

Officiële uitgave van het Koninkrijk der Nederlanden sinds Gelet op artikel 7, eerste lid, van het Eindexamenbesluit VO;

Informatie & Databases

Waarmaken van Leibniz s droom

Studiewijzer Keuzedeel Verdiepingsoftware (AO)

Voorbereiding onderwijsvisitatie: Bachelor Opleidingsonderdelen J. Broeckhove

Referentieniveaus uitgelegd. 1S - rekenen Vaardigheden referentieniveau 1S rekenen. 1F - rekenen Vaardigheden referentieniveau 1F rekenen

Technisch Ontwerp Ontwerp template

1.7 Ontleding van het eerste programma... 14

Niveau 2 Medewerker ICT

Een Inleiding tot Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

VAN USE CASE NAAR TEST CASE ORDINA SMART COMPETENCE CENTER

UML is een visuele taal om processen, software en systemen te kunnen modeleren.

Organisatie SYSQA B.V. Pagina 1 van 6 Titel Overzicht Versie 1.0 Onderwerp Overzicht blackbox testtechnieken Datum 15 februari 1996

PROGRAMMA Vak: Informatica..

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

Competentie-invullingsmatrix. Master of Science in de industriële wetenschappen: informatica. Academiejaar

Cursusoverzicht. Compass Relationship Management

DATAMODELLERING ER DIAGRAM

InterActory CDModeller

DATAMODELLERING GEAVANCEERD UML KLASSEMODEL

Transcriptie:

s op grond van praktijkervaring voor de masteropleidingen Computer Science en Software Engineering 1 Dit document geeft een overzicht van de cursussen in de schakelprogramma s van de masteropleiding Computer Science en de masteropleiding Software Engineering volgens de Onderwijs en Examenregeling 2013 2014. Per cursus worden de volgende onderdelen beschreven: een korte beschrijving van de cursusinhoud een overzicht van de leerdoelen die bereikt worden na het bestuderen van de cursus een toelichting over de bewijzen die nodig zijn om aannemelijk te maken dat de cursus niet opgenomen hoeft te worden in uw schakelprogramma. Een aantal cursussen heeft een sterk theoretisch karakter, waardoor het onwaarschijnlijk is dat kennis daaruit via praktijkervaring opgedaan kan worden. Deze cursussen zijn daarom niet in dit document opgenomen. Het betreft de volgende cursussen: T07131 Discrete wiskunde A T41221 Logica en informatica T12341 Concepten van programmeertalen (Uit deze cursus is alleen kennis van de volgende taalconcepten vereist: types, typesystemen, variabelen en geheugenopslag, binding, scope, procedures.) T22321 Formele talen en automaten (Uit deze cursus is alleen kennis van de volgende concepten vereist: reguliere expressies, contextvrije grammatica s en taalstructuur.) In dit document ontbreekt eveneens T61327 Afstudeerproject bachelor informatica. Deze cursus kan uit uw schakelprogramma (voor de master Software Engineering) verwijderd worden indien u kunt aantonen dat u in uw praktijkervaring hebt samengewerkt in een multidisciplinair teamverband aan de ontwikkeling van een groot softwaresysteem en daarbij tevens leiding gegeven hebt aan (deel)projecten. 1 OER 2012 2013 1

T14161 Databases Databases zijn gestructureerde, geautomatiseerde gegevensverzamelingen. De cursus omvat een theoretische en praktische inleiding op dit vakgebied. Met name de voor de praktijk zo belangrijke ʹrelationele databasesʹ worden uitgebreid behandeld, met veel aandacht voor de achterliggende ʹrelationele theorieʹ en veel praktische oefening in de relationele gegevenstaal SQL. Het gaat daarbij zowel om het bevragen, als om het bouwen en beheren van dit soort databases. Bijzondere aandacht krijgen de volgende onderwerpen: normalisatie van gegevensstructuren, mechanismen om regels te bewaken (onder meer via ʹtriggersʹ), transacties, optimalisatie van bevragingen, het verlenen van databaserechten aan gebruikers (autorisatie) en de wijze waarop een relationeel systeem achter de schermen opereert via ʹmetagegevensʹ. Ook besteedt de cursus aandacht aan concurrency en aan enkele grote commerciële databases (waaronder Oracle). Tot de meegeleverde software horen (voor het praktisch oefenen met SQL) het relationele databasemanagementsysteem Firebird en twee bijzondere programmaʹs: een krachtige en programmeursvriendelijke SQL tool (de Interactive query utility) en een ʹBoekverkennerʹ die voor integratie zorgt tussen een elektronische tekstversie en de SQL programmeeromgeving. Zie verder: http://portal.ou.nl/web/databases/cursusinformatie. Na bestudering van de cursus wordt verwacht dat u de functie kent van databasetalen en hun subtalen inzicht hebt in het relationele model een gegeven relationele structuur kunt normaliseren vaardig bent met SQL (DDL, DML en DCL) SQL vraagstellingen methodisch weet aan te pakken inzicht hebt in (concurrente) transacties eenvoudige triggers en stored procedures kunt schrijven in staat bent tot een praktische benadering van (relationele) optimalisatiekwesties inzicht hebt in relationele metadata (de data dictionary) Deze cursus wordt niet opgenomen in uw schakelprogramma indien u kunt aantonen dat u: een database ontwerp kunt uitleggen in termen van inconsistentie, redundantie en standaardisatie query s, triggers en stored procedures kunt formuleren voor een meegeleverd databaseschema met minimaal de volgende complexiteit: functies, join, statistische informatie (group by), subselects (o.a. gecorreleerde), wijzigingen van de databaseinhoud weet wat de data dictionary (systeemcatalogus) is en hoe u die kunt raadplegen, en weet hoe de definitie van een database (waaronder tabellen, kolommen, domeinen, views, gebruikers, autorisatie aspecten) wordt vastgelegd in relationele tabellen de problemen die kunnen optreden bij concurrente transacties onderkent, en manieren kent om die problemen te voorkomen in staat bent tot een praktische benadering van (relationele) optimalisatiekwesties. Een geschikt bewijs is bijvoorbeeld aantoonbare jarenlange ervaring als database administrator. Praktijkervaring die bijvoorbeeld beperkt is tot het beheren van een database met de ledenadministratie van een vereniging waarvan u lid bent, volstaat niet als afdoende bewijs. 2

T34141 Objectgeoriënteerd analyseren en ontwerpen In deze cursus maakt u kennis met het Unified process, een objectgeoriënteerd proces voor systeemontwikkeling. Volgens de stappen van dit proces leert u een objectgeoriënteerd informatiesysteem ontwerpen, gebruikmakend van de Unified modelling language (UML). U leert requirements vast te leggen in de vorm van use casebeschrijvingen, de ʹomgeving van het systeemʹ in kaart te brengen in de vorm van een domeinmodel (een UML klassendiagram). U leert ontwerpen op grond van een aantal ontwerprichtlijnen, de zogenaamde GRASP richtlijnen. U maakt interactiediagrammen en op basis daarvan ten slotte een ontwerpdiagram in de vorm van een volledig UML klassendiagram. Ook leert u een database te gebruiken als persistentiemechanisme. Zie verder: http://portal.ou.nl/web/objectgeorienteerd analyseren en ontwerpen/cursusinformatie. Na het volgen van deze cursus wordt verwacht dat u: weet hoe het Unified Process verloopt, welke artefacten in dit proces geproduceerd kunnen worden en hoe iteraties in dat proces gepland kunnen worden voor een klein informatiesysteem op grond van een casusbeschrijving en ongestructureerd materiaal uit specificatie workshops het gewenste gedrag van dit systeem kunt modelleren met behulp van use casediagrammen, use cases, systeemsequencediagrammen, contracten, toestandsdiagrammen, en een domeinmodel. kunt aangeven wat de kenmerken zijn van een goed objectgeoriënteerd ontwerp en welke rol patronen daarin spelen voor een gegeven use case uit een beperkt informatiesysteem een objectgeoriënteerd ontwerp kunt opstellen in de vorm van interactiediagrammen en een daaruit afgeleid ontwerpklassendiagram, gebruik makend van de basis GRASP richtlijnen weet hoe het gebruik van een relationele database geïntegreerd kan worden in een objectgeörienteerd ontworpen systeem. Deze cursus wordt niet opgenomen in uw schakelprogramma indien u geldig bewijs zoals een ontwerpdocument kunt overleggen met daarin use case beschrijvingen, domeinmodel, communicatiediagram (sequence diagram of collaboratiediagram) en een ontwerpklassendiagram en een toelichting over mogelijke alternatieve notatiewijzen, waarom voor een bepaalde oplossing is gekozen en een beoordeling van het ontwerp. Als het ontwerp relatief slecht is maar u in uw beoordeling ervan duidelijk maakt waarom het ontwerp niet goed is en hoe het verbeterd kan worden, is dat ook een geldig bewijs. Voorbeelden van geschikt bewijs zijn: aantoonbare werkervaring in een ict gerelateerde functie waarin bovengenoemde onderwerpen een prominente rol spelen een professionele certificering waarin bovenstaande onderwerpen aan bod zijn gekomen. Praktijkervaring die bijvoorbeeld beperkt is tot het schrijven van use cases of het genereren van diagrammen op basis van bestaande code, volstaat niet als afdoende bewijs. 3

T25151 Objectgeoriënteerd programmeren in Java 1 Java is een van de populairste programmeertalen. Java heet objectgeoriënteerd omdat een programmeertaak in Java wordt uitgevoerd door objecten die met elkaar samenwerken. Het is de taak van de programmeur om de structuur en het gedrag van die objecten te beschrijven. De cursus Objectgeoriënteerd programmeren in Java 1 behandelt de basisprincipes van Java en objectoriëntatie en biedt een prima manier om daarmee vertrouwd te raken. Er wordt vanaf het begin met objecten gewerkt. Programmaʹs worden ontwikkeld binnen de ontwikkelomgeving Eclipse. Al in het eerste blok leert u om eenvoudige programmaʹs te schrijven en deze te voorzien van een grafische gebruikersinterface. Bij dit laatste neemt Eclipse u veel werk uit handen. In dit eerste blok worden nog niet alle details van de gebruikte programmeerconstructies uitgediept. In het tweede en derde blok volgt een volledige en systematische behandeling van de concepten die wij u in deze cursus willen leren. Zie verder: http://portal.ou.nl/web/objectgeorienteerd programmeren in java 1/cursusinformatie. Na het volgen van deze cursus bent u in staat om, vanuit een gegeven specificatie, zelfstandig een objectgeoriënteerd programma te ontwerpen en te implementeren, en dit programma te voorzien van een eenvoudige grafische gebruikersinterface. Hierbij maakt u gebruik van het deel van de taal Java dat is aangeleerd in de cursus. Het programma is goed ontworpen, wat inhoudt dat het bestaat uit klassen (in een objectgeoriënteerde taal zijn klassen de programma eenheden waar de objecten van worden afgeleid) met een duidelijke, beperkte verantwoordelijkheid. De programmacode is helder en begrijpelijk en het programma is gedocumenteerd met behulp van de tool Javadoc. U kunt bovendien de belangrijkste functies gebruiken van de ontwikkelomgeving Eclipse. Deze cursus wordt niet opgenomen in uw schakelprogramma indien u: werkervaring hebt in de functie van programmeur gewerkt hebt in een objectgeoriënteerde omgeving programmacode kan aanleveren waaruit blijkt u bekend bent met de basisconcepten van objectgeoriënteerde programmeertalen. Een geschikt bewijs is bijvoorbeeld een werkgeversverklaring waaruit blijkt dat u als programmeur heeft gewerkt in een team Java programmeurs. Praktijkervaring die bijvoorbeeld beperkt is tot het maken van applicaties die u zelf onderhoudt, volstaat niet als afdoende bewijs. 4

T42241 Objectgeoriënteerd programmeren in Java 2 Wat is een goed programma en wat is een goed ontwerp? Met deze vraag begint het eerste blok van de cursus Objectgeoriënteerd programmeren in Java 2. In de eerste leereenheid worden criteria geformuleerd waaraan de voorbeelden in de rest van de cursus zo goed mogelijk voldoen. Na die inleiding volgt een deel over het typesysteem. Typenhiërarchieën spelen daarbij een belangrijk rol, maar ook het gebruik van generieke typen komt aan de orde. En passant maakt u kennis met het begrip ontwerppatroon. In het tweede blok leert u hoe u fouten kunt afhandelen en hoe u parallellisme in uw programma kunt opnemen. Het derde blok gaat over verschillende manieren van gegevensopslag, waaronder de opslag in een database. Het vierde en laatste blok gaat over het programmeren van gebruikersinterfaces met behulp van Swing. Zie verder: http://portal.ou.nl/web/objectgeorienteerd programmeren in java 2/cursusinformatie. Na het volgen van deze cursus wordt verwacht dat u de syntaxis en semantiek van Java kent begrip heeft van overerving (inclusief het gebruik van abstracte klassen en interfaces), van exception handling en van threads eenvoudige generieke klassen kunt definiëren begrip heeft van de wijze waarop in objectgeoriënteerde programma s gebruik gemaakt kan worden van programmeren per contract de verschillende manieren kent waarop persistentie van gegevens gerealiseerd kan worden en twee daarvan ook kunt toepassen, namelijk streams (package java.io) en de koppeling met databases (package java.sql) in staat is om met behulp van de package javax.swing zelf een grafische gebruikersinterface te programmeren. Deze cursus wordt niet opgenomen in uw schakelprogramma indien u geldig bewijs zoals programmacode of een publicatie kunt aanleveren waaruit blijkt dat u ruime werkervaring hebt in de functie van programmeur gewerkt hebt in een objectgeoriënteerde omgeving bekend bent met de concepten van objectgeoriënteerde programmeertalen zoals weergegeven in de leerdoelen van deze cursus. Een geschikt bewijs is bijvoorbeeld een zelfontworpen en geïmplementeerde applicatie van gemiddelde complexiteit waarin gebruik wordt gemaakt van bovenstaande concepten, of een professionele certificering op gebied objectgeoriënteerd programmeren in Java bestaande uit de certificaten SCJA en SCJP van SUN/Oracle. Praktijkervaring die bijvoorbeeld beperkt is tot eenvoudige Java programma s waarin bijvoorbeeld niet of nauwelijks gebruik is gemaakt van de concepten die behandeld worden in deze cursus, volstaat niet als afdoende bewijs. 5

T27231 Besturingssystemen Elke moderne computer wordt bestuurd door een besturingssysteem, een onontbeerlijk programma. Het besturingssysteem omvat de software die de gebruikersinterface naar de gebruikers bepaalt en die de toegang tot de beschikbare hardware regelt voor de in uitvoering zijnde programmaʹs. In de cursus ligt de nadruk op het besturen van processen die door de computer verwerkt worden, op de besturing van het geheugen, het bestandssysteem en de verschillende apparatuurcomponenten in een computer. Bekende besturingssystemen zijn de leden van de Windows familie van Microsoft, Mac OS X, Linux en UNIX. Zie verder: http://portal.ou.nl/web/besturingssystemen/cursusinformatie. Na het bestuderen van de cursus wordt verwacht dat u de betekenis en functie van een besturingssysteem kunt plaatsen bij een computersysteem in relatie tot de gebruiker en in relatie tot de toepassingen die verwerkt worden door dat computersysteem inzicht hebt in hoe processen en threads schijnbaar of daadwerkelijk gelijktijdig (concurrent) door een processor kunnen worden uitgevoerd, waarbij zaken als scheduling en de context switch een rol spelen weet welke aspecten naar voren komen, welke problemen kunnen optreden en de oplossingen daarvoor kent, wanneer processen met elkaar communiceren en/of van dezelfde bronnen gebruik wensen te maken inzicht hebt in diverse technieken voor geheugenbeheer en hoe deze kunnen worden aangewend om een virtueel geheugen te realiseren weet welke plaatsings en vervangingsalgoritmen er bestaan en wat hun voordelen en nadelen zijn inzicht hebt hoe op achtergrondgeheugens een bestandsbeheersysteem kan worden opgezet weet op welke wijze, via een input/outputsysteem, communicatie met randapparatuur plaatsvindt op besturingssysteemniveau en op hardwareniveau kennis hebt van deelaspecten van Linux en Windows en deze weet te koppelen aan de algemene theoretische beginselen om kunt gaan met de geïntegreerde omgeving Open Watcom en programma s in C kunt schrijven op beginnersniveau. Deze cursus wordt niet opgenomen in uw schakelprogramma indien u een geldig bewijs zoals programmacode kunt overleggen waaruit blijkt dat u: een besturingssysteem hebt gebouwd of aangepast, gewerkt heeft aan een module voor een open source besturingssysteem (bijvoorbeeld Linux), een besturingssysteem heeft ontwikkeld in het kader van een embedded systems project. Geldig bewijs kan tevens bestaan uit certificaten van professionele cursussen die gericht zijn op het ontwikkelen of aanpassen van besturingssystemen. U dient te kunnen aantonen dat u praktijkervaring opgedaan hebt met het beheren van besturingssystemen waarbij u ook aanpassingen doorvoert op componenten die onderdeel uitmaken van een besturingssysteem, zoals de kernel of device drivers. 6

T26241 Datastructuren en algoritmen In deze cursus komen aspecten aan bod die in de eerdere programmeercursussen nog niet aan de orde kwamen: u leert hoe u algoritmen ontwerpt en de datastructuren waarop deze algoritmen werken. Hierbij kunt u denken aan methoden en technieken om gegevens op te slaan, snel op te zoeken en te sorteren, om op een efficiënte manier een optimale weg te vinden in een netwerk, of om patronen in een stuk tekst te herkennen. De datastructuren die aan bod komen, zijn stapels, wachtrijen, rijen, prioriteitsrijen, (zoek)bomen en (gewogen) grafen. Deze datastructuren en algoritmen worden eerst in een taalonafhankelijke pseudocode beschreven, waarna (een deel van) de implementatie in Java wordt gegeven. Daarnaast wordt veel aandacht besteed aan analysetechnieken, zodat u kunt voorspellen hoeveel tijd het uitvoeren van een algoritme kost voor een probleem van een bepaalde omvang. Omdat veel algoritmen recursief zijn, komt ook dit onderwerp aan bod. Zie verder: http://portal.ou.nl/web/datastructuren en algoritmen/cursusinformatie. Na het bestuderen van deze cursus wordt verwacht dat u een overzicht heeft van en inzicht heeft in de standaarddatastructuren en algoritmen uit de informatica. U bent vertrouwd geraakt met recursieve algoritmen, met de verschillende fundamentele technieken waarop veel niet triviale algoritmen zijn gebaseerd en u hebt een duidelijk inzicht gekregen in wat de essentie is van de bestudeerde algoritmen en waarom deze algoritmen doen wat ze moeten doen. U heeft ook de vaardigheid verworven om algoritmen met een vergelijkbare complexiteit als die uit de cursus te kunnen begrijpen. De benadering daarbij moet er één zijn die losstaat van de toevallige taal waarin de algoritmen zijn geïmplementeerd. Ten slotte heeft u een goed inzicht verworven in de analyse van algoritmen wat betreft tijdscomplexiteit. Hiervoor is een enigszins wiskundige benadering van de werking van algoritmen noodzakelijk. Uit deze cursus is alleen kennis van lijsten, sets en maps vereist. Deze cursus wordt niet opgenomen in uw schakelprogramma indien u kunt bewijzen dat u praktijkervaring opgedaan hebt met toepassingen van complexe datastructuren waaronder lijsten, sets en maps. Praktijkervaring die bijvoorbeeld beperkt is tot het kunnen gebruiken van het Java Collections Framework, volstaat niet als afdoende bewijs. 7

T04211 Procesmodelleren Bedrijfsprocessen kunnen op vele niveaus gemodelleerd worden, van het abstracte en grofkorrelige niveau van de strategische visie tot de harde bits en bytes binnen de machines en netwerken. In deze cursus besteden we vooral aandacht aan processen op het niveau van taken, maar de benadering is generiek genoeg voor andere niveaus. Omdat modelleren veel aspecten heeft van zowel specificeren als structureel oplossen zullen validatie en verificatie van de modellen een grote rol spelen. Petrinetten zijn daarin een nuttig hulpmiddel. De grafische mogelijkheden, waaronder simulatie en animatie, zijn zeer geschikt voor validatie van en communicatie over modellen. De onderliggende mathematische semantiek maakt daarbij redeneren over correctheid en gedragseigenschappen mogelijk. Naast de methodologische en technische aanpak via Petri netten wordt ook aandacht gegeven aan de inbedding in de wereld van de bedrijfsinformatiesystemen. Communicatie over modellen op het bedrijfsniveau en het bespreken van requirements en correctheid worden benadrukt via een modelleerproject. Zie verder: http://portal.ou.nl/web/procesmodelleren/cursusinformatie. De student moet na bestudering van de cursus de plaats van procesmodellen binnen (bedrijfs)informatiesystemen kunnen begrijpen, processen kunnen modelleren aan de hand van informele beschrijvingen, bedrijfsprocessen kunnen modelleren in termen van gekleurde hiërarchische Petri netten, correctheid van Petri netten kunnen verifiëren via invarianten en bereikbaarheidsanalyse, gekleurde Petri netten kunnen valideren door simulatie in CPNtools, kunnen communiceren over al het vorige. Drie competenties krijgen extra aandacht: modelleren, van (incomplete) beschrijving naar Petri net, analyseren, formele verificatie van eigenschappen, communiceren over validatie en verificatie van procesmodellen. Deze cursus wordt niet opgenomen in uw schakelprogramma indien u aantoonbare praktijkervaring hebt in modelleren, analyseren en simuleren met een op Petri nets gebaseerd procesmodelling of workflow tool met formele semantiek (e.g. ExSpecT, BPM one, YAWL). Praktijkervaring die bijvoorbeeld beperkt is tot het genereren van procesmodellen met louter illustratief doel (i.e. zonder toestandsbegrip, zonder correctheidscondities of zonder de mogelijkheid van simulaties en het berekenen van doorlooptijden), volstaat niet als afdoende bewijs. 8

T20211 Security en IT Deze cursus geeft een brede kijk op het vakgebied security. Er komen uiteenlopende onderwerpen aan bod, zoals cryptografie, de beveiliging van software, besturingssystemen, databases en computernetwerken en aspecten van beheer en privacy. De nadruk van de cursus ligt bij beveiliging in technische zin. Centraal daarbij staan vragen als: welke kwetsbaarheden zijn er (op alle niveaus: hardware, internetprotocollen, besturingssystemen, applicaties en databases), welke aanvallen zijn daardoor mogelijk, hoe kunnen deze aanvallen worden voorkomen en hoe kunnen geslaagde aanvallen worden ontdekt. De meeste aandacht besteden we daarbij aan de bedreigingen en de beveiliging van computernetwerken, in het bijzonder internet. Zie verder: http://portal.ou.nl/web/security en it/cursusinformatie. We verwachten dat u na het bestuderen van de cursus: de beginselen van cryptografie kent en globaal de werking van moderne encryptietechnieken en toepassingen daarvan kunt uitleggen kunt uitleggen welke aanvallen op computerprogramma s veel voorkomen en welke bescherming daartegen mogelijk is verschillende access controltechnieken kent en de werking ervan globaal kunt uitleggen de problemen van het gebruik van wachtwoorden kent en kunt uitleggen hoe veilige wachtwoorden gekozen kunnen worden de begrippen security policy, securitymodel en assurance kunt uitleggen security aspecten van databases kent diverse bedreigingen voor netwerkapplicaties kent en globaal kunt uitleggen hoe ze werken beschermingsmaatregelen tegen aanvallen op netwerkapplicaties kunt noemen en globaal de werking ervan kunt uitleggen de principes, mogelijkheden en beperkingen van firewalls en intrusion detection systems kunt uitleggen op de hoogte bent van organisatorische en economische aspecten van computersecurity een indruk hebt van aspecten van privacy van computersecurity. Deze cursus wordt niet opgenomen in uw schakelprogramma indien u kunt bewijzen over brede basiskennis van security te beschikken. Voorbeelden van geschikt bewijzen zijn aantoonbare werkervaring in een ict gerelateerde functie waarin technische aspecten van security een prominente rol spelen, of professionele certificering op gebied security zoals CISSP. U dient te kunnen aantonen dat u praktijkervaring opgedaan hebt met toepassingen van cryptografie, beveiliging van softwareapplicaties en beveiliging van netwerken met behulp van een firewall of een IDS. Praktijkervaring die bijvoorbeeld beperkt is tot het installeren van een firewall en een virusscanner op uw pc thuis, volstaat niet als afdoende bewijs. 9

T07351 Software engineering Software engineering is het vakgebied dat zich bezighoudt met alle aspecten van het doelmatig produceren van hoogwaardige software die vanwege de omvang en/of complexiteit redelijkerwijs niet door een of enkele personen ontwikkeld kan worden. De doelmatigheid gebiedt dat zulke software (of onderdelen daarvan) gedurende langere tijd meegaat en dus aanpasbaar moet zijn aan veranderende eisen. Naast softwaretechnische zaken als analyse, requirements, ontwerp, architectuur en testen, wordt in deze cursus ook aandacht besteed aan organisatorische aspecten van softwareontwikkeling. De cursus geeft een breed overzicht van het gehele vakgebied software engineering. Vanwege de uitgebreidheid van het vakgebied mist zoʹn overzicht vaak diepte. Om dat tegen te gaan, is naast een tekstboek dat voor het brede overzicht zorgt, gekozen voor het toevoegen van opdrachten waarin enkele onderwerpen nader uitgediept worden. De verhouding in hoeveelheid studielast tussen tekstboek en opdrachten is ongeveer 2:1. De opdrachten maken het ook mogelijk in te gaan op de snel veranderende actualiteit. Zie verder: http://portal.ou.nl/web/software engineering/cursusinformatie. Meer specifiek wordt na het bestuderen van de cursus verwacht dat u weet wat het vakgebied software engineering inhoudt en hoe het zich onderscheidt van system engineering weet wat de belangrijkste activiteiten zijn tijdens de ontwikkeling van software de belangrijkste procesmodellen kent en weet wat hun voor en nadelen zijn het verschil weet tussen systeem en gebruikerseisen en tussen functionele en niet functionele eisen en deze ook als zodanig kunt herkennen weet hoe het specificatieproces verloopt, welke documentatie daarbij nodig is en hoe de kwaliteit van het proces de kwaliteit van het uiteindelijke product beïnvloedt weet welke systeemmodellen gebruikt kunnen worden voor het opstellen van een specificatie en wat de rol van formele technieken daarbij is weet wat verstaan wordt onder systeemarchitectuur en enkele veelgebruikte architectuurmodellen kunt schetsen weet wat een real timesysteem is en wat een kritiek systeem, en wat hun karakter voor gevolgen heeft voor de verschillende activiteiten van het ontwikkelingsproces weet welke soorten hergebruik er zijn van bestaande componenten en de voor en nadelen daarvan kent weet wat verstaan wordt onder dependability, betrouwbaarheid, beschikbaarheid, veiligheid en beveiliging en de daarmee verbonden terminologie kent weet wat verstaan wordt onder verificatie en validatie en welke technieken daarvoor kunnen worden gebruikt de problematiek kent rond het onderhouden dan wel vervangen van systemen weet welke technieken bij het onderhouden en beheren van systemen gebruikt kunnen worden weet wat het doel is van configuratiemanagement, en hoe dit in de praktijk wordt gebruikt kennis hebt van de ontwikkelmethoden RUP en XP en die kunt plaatsen in het door het tekstboek geschetste kader van software engineering kennis hebt van open sourcesoftwareontwikkeling en de bijbehorende activiteiten kunt plaatsen in het door het tekstboek geschetste kader van software engineering begrip hebt van de manier waarop ontwikkelomgevingen zoals Eclipse de verschillende activiteiten binnen een softwareontwikkelingstraject ondersteunen. 10

Deze cursus wordt niet opgenomen in uw schakelprogramma indien u aantoonbaar minimaal één jaar leiding hebt gegeven aan een team van minimaal vier programmeurs, ontwerpers en testers bij één of meerdere recente softwareprojecten, waarbij u het gehele traject van acquisitie tot en met de oplevering van het product technisch inhoudelijk heeft begeleid en/of gestuurd. Het product dient daarbij op een voor de cursus relevant niveau beschreven te zijn (bijvoorbeeld met een projectplan, domeinanalyse, requirements specificatie, architectuur document, software proces beschrijving, beschrijving van testprocedures, testverslagen en een project review). Praktijkervaring die bijvoorbeeld beperkt is tot het ontwerpen of programmeren van de software het bouwen van een website met html het programmeren van een App voor mobiele toepassingen volstaat niet als afdoende bewijs. 11