18.01.2015 Views

Bachelor & Master Informatica - Department of Mathematics and ...

Bachelor & Master Informatica - Department of Mathematics and ...

Bachelor & Master Informatica - Department of Mathematics and ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong><br />

Universiteit Antwerpen – Faculteit Wetenschappen<br />

Versie 1.1 - donderdag, 6 mei, 2004<br />

Ter voorbereiding Onderwijscommissie — 12 mei 2004<br />

Dit is een 'levend' document en wordt aangepast op basis van discussie en feedback.<br />

Het document is te vinden op http://www.win.ua.ac.be/~sdemey/BaMa/<br />

Samenvatting<br />

De <strong>Informatica</strong> opleiding aan de Universiteit Antwerpen wordt —net zoals alle <strong>and</strong>ere hogere<br />

opleidingen— gevraagd zich te reorganiseren naar het komende <strong>Bachelor</strong>/<strong>Master</strong> model. Liever dan<br />

enkele minimale aanpassingen door te voeren aan de huidige opleiding heeft de Onderwijscommissie<br />

<strong>Informatica</strong> ervoor gekozen om de opleiding grondig te hervormen, mede op basis van<br />

de aanbevelingen geformuleerd tijdens de net afgelopen visitatieronde. Dit document bevat dan ook<br />

de neerslag van twee jaar aan intensieve discussies onder de vorm van een concreet curriculum voor<br />

een 3-jarige <strong>Bachelor</strong> gevolgd door een 1-jarige <strong>Master</strong> opleiding. Zo decretale beperkingen worden<br />

opgegeven willen we deze 1-jarige <strong>Master</strong> uitbouwen tot een volwaardige 2-jarige opleiding.<br />

Inhoudstafel<br />

INLEIDING ................................................................................................................................. 4<br />

DOELSTELLING ........................................................................................................................ 5<br />

Beroepspr<strong>of</strong>ielen...................................................................................................................... 5<br />

» <strong>Bachelor</strong> ........................................................................................................................... 5<br />

» <strong>Master</strong> .............................................................................................................................. 5<br />

» Lange termijn ................................................................................................................... 5<br />

Kerncompetenties .................................................................................................................... 6<br />

» <strong>Bachelor</strong> ........................................................................................................................... 6<br />

» <strong>Master</strong> (1 jaar - 60 studiepunten)....................................................................................... 7<br />

» <strong>Master</strong> (2 jaar - 120 studiepunten)..................................................................................... 8<br />

MODULAIR OVERZICHT ......................................................................................................... 9<br />

<strong>Bachelor</strong>................................................................................................................................... 9<br />

<strong>Master</strong>...................................................................................................................................... 9<br />

Eindtermen <strong>Bachelor</strong>.................................................................................................................. 10<br />

S<strong>of</strong>tware Engineering............................................................................................................. 10<br />

Databases............................................................................................................................... 10<br />

Telecommunicatie.................................................................................................................. 11<br />

Computationele wetenschappen ............................................................................................. 11<br />

Artificiële intelligentie ........................................................................................................... 11<br />

Computer systemen................................................................................................................ 12<br />

Theoretische informatica........................................................................................................ 12<br />

Formeel denken ..................................................................................................................... 12<br />

Wetenschappelijke basis ........................................................................................................ 12<br />

Maatschappelijke vorming ..................................................................................................... 13<br />

Eindtermen <strong>Master</strong> ..................................................................................................................... 14<br />

Databases............................................................................................................................... 14<br />

S<strong>of</strong>tware engineering ............................................................................................................. 14<br />

Telecommunicatie.................................................................................................................. 15


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 2/37<br />

Computationele wetenschappen ............................................................................................. 15<br />

Wetenschappelijke basis ........................................................................................................ 15<br />

Maatschappelijke vorming ..................................................................................................... 16<br />

CURRICULUM BACHELOR ................................................................................................... 17<br />

Legende overzichtstabellen .................................................................................................... 17<br />

Overzichtstabel 1rste BAC..................................................................................................... 18<br />

Overzichtstabel 2de BAC....................................................................................................... 18<br />

Overzichtstabel 3de BAC....................................................................................................... 18<br />

Vakbeschrijvingen 1rste BAC................................................................................................ 19<br />

» Inleiding programmeren.................................................................................................. 19<br />

» Discrete Wiskunde.......................................................................................................... 19<br />

» Calculus & Statistiek ...................................................................................................... 20<br />

» Inleiding Computersystemen........................................................................................... 20<br />

» Talen en automaten......................................................................................................... 20<br />

» Gegevensstructuren......................................................................................................... 21<br />

» Inleiding S<strong>of</strong>tware Engineering....................................................................................... 22<br />

» Computernetwerken........................................................................................................ 22<br />

» Computer Graphics......................................................................................................... 23<br />

Vakbeschrijvingen 2de BAC.................................................................................................. 23<br />

» Numerieke Lineaire Algebra........................................................................................... 23<br />

» Gevorderd Programmeren............................................................................................... 24<br />

» Machines en Berekenbaarheid......................................................................................... 24<br />

» Algoritmen en Complexiteit............................................................................................ 24<br />

» Computerarchitectuur en -organisatie.............................................................................. 25<br />

» Project Gedistribueerd Programmeren............................................................................. 26<br />

» Databases........................................................................................................................ 26<br />

Vakbeschrijvingen 3de BAC.................................................................................................. 26<br />

» Eindwerk ........................................................................................................................ 26<br />

» Databases, XML, Webtechnologie.................................................................................. 27<br />

» Telecommunicatiesystemen ............................................................................................ 27<br />

» Wetenschappelijk programmeren.................................................................................... 28<br />

» S<strong>of</strong>tware Engineering...................................................................................................... 28<br />

» Levensbeschouwelijk vak ............................................................................................... 28<br />

» Compilers ....................................................................................................................... 29<br />

Keuzevakken op <strong>Bachelor</strong>s Niveau............................................................................................. 30<br />

Overzicht Keuzevakken 2de BAC (12 st.pntn.) ...................................................................... 30<br />

» Optie Computationele Wetenschappen............................................................................ 30<br />

» Optie Databases .............................................................................................................. 30<br />

» Optie S<strong>of</strong>tware Engineering............................................................................................ 30<br />

» Optie Telecommunicatie ................................................................................................. 30<br />

» Verbredend <strong>Informatica</strong> .................................................................................................. 30<br />

» Verbredend Interdisciplinair ........................................................................................... 30<br />

Overzicht Keuzevakken 3de BAC (18 st.pntn.) ...................................................................... 30<br />

» Optie Computationele Wetenschappen............................................................................ 30<br />

» Optie Databases .............................................................................................................. 30<br />

» Optie S<strong>of</strong>tware Engineering............................................................................................ 30<br />

» Optie Telecommunicatie ................................................................................................. 31<br />

» Verbredend <strong>Informatica</strong> .................................................................................................. 31<br />

» Verbredend Interdisciplinair ........................................................................................... 31<br />

CURRICULUM MASTER ........................................................................................................ 32<br />

Legende overzichtstabellen .................................................................................................... 32<br />

Overzichtstabel <strong>Master</strong> <strong>Informatica</strong>........................................................................................ 32


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 3/37<br />

Lijst keuzevakken per optie.................................................................................................... 32<br />

» Specialisatie: Optie Databases......................................................................................... 32<br />

» Specialisatie: Optie Telecommunicatie............................................................................ 32<br />

» Specialisatie: Optie S<strong>of</strong>tware Engineering....................................................................... 33<br />

» Specialisatie: Optie Computationele Wetenschappen ...................................................... 33<br />

» Verbredend: Beeldverwerking ........................................................................................ 33<br />

» Verbredend: Artificiele Intelligentie................................................................................ 33<br />

» Verbredend: Computer Hardware – –............................................................................. 33<br />

» Verbredend: Wiskunde ................................................................................................... 33<br />

» Verbredend: Economie ................................................................................................... 33<br />

» Verbredend: Wetenschappelijke Vorming....................................................................... 33<br />

CURRICULUM AANVULLENDE STUDIE INFORMATICA................................................. 35<br />

Legende overzichtstabellen .................................................................................................... 35<br />

Overzichtstabel <strong>Master</strong> Aanvullende Studuie <strong>Informatica</strong> ...................................................... 35<br />

CURRICULUM MINOR WISKUNDE-INFORMATICA.......................................................... 36<br />

REFERENTIES ......................................................................................................................... 37


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 4/37<br />

INLEIDING<br />

<strong>Informatica</strong> is v<strong>and</strong>aag de dag alomtegenwoordig. Bij elke administratie fungeert informatica als<br />

een essentiëel element van de organisatie, ongeveer alle elektronische apparaten worden gestuurd<br />

door s<strong>of</strong>tware en via het internet heeft de computer zijn opmars naar de huiskamer ingezet. Als<br />

gevolg daarvan is de vraag naar pr<strong>of</strong>essionele informatici enorm gestegen, in zoverre zelfs dat het<br />

aanbod de vraag niet kan bijhouden. Anderzijds impliceert dit groeiend maatschappelijk belang een<br />

verhoogde eis naar kwaliteit, wat belangrijke consequenties heeft voor het opleidingsniveau van de<br />

informatici.<br />

Geconfronteerd met de vraag naar hooggekwalificeerde informatici, kiest de onderwijscommissie<br />

<strong>Informatica</strong> resoluut voor een opleiding van hoogwaardig wetenschappelijk niveau. Daartoe wil de<br />

onderwijscommissie de opleiding <strong>Informatica</strong> reorganiseren in functie van een 3-jarige <strong>Bachelor</strong><br />

gevolgd door een 1- en op langere termijn een 2-jarige <strong>Master</strong> opleiding. Deze reorganisatie zal<br />

tevens gebeuren op basis van de visitatieronde, die bij de informatica tijdens het academiejaar 2001-<br />

2002 heeft plaatsgevonden [1], [2].<br />

Als eerste stap van deze reorganisatie werd een discussietekst opgesteld waarin een aantal<br />

toekomstscenerio's werden uitgetekend [3]. Dat zijn er drie, te weten een <strong>Bachelor</strong> & <strong>Master</strong><br />

<strong>Informatica</strong> (de huidige licentie <strong>Informatica</strong>) een Polyvalente <strong>Master</strong> (staat open voor <strong>Bachelor</strong>s<br />

en/<strong>of</strong> <strong>Master</strong>s uit <strong>and</strong>ere richtingen - vb. ASIB) en een Minor <strong>Informatica</strong> (<strong>Informatica</strong> als<br />

bijkomende opleiding naast een <strong>and</strong>ere major - vb. Wiskunde-<strong>Informatica</strong>).<br />

Als tweede stap werden de eindtermen die moeten gelden voor een komende <strong>Bachelor</strong>/<strong>Master</strong><br />

informatica gedefiniëerd [4]. Daartoe werd een eerste inventaris opgemaakt van alle competenties<br />

die een student tijdens zijn opleiding dient te verwerven, waarbij we doelbewust erg gedetailleerd<br />

zijn geweest om het verschil duidelijk te maken met <strong>and</strong>ere informatica-gerelateerde opleidingen<br />

(industrieel en burgerlijk ingenieur, graduaat, h<strong>and</strong>elsingenieur bedrijfsinformatica…). Deze<br />

eindtermen werden nagekeken door de dienst onderwijszaken UA en op basis van hun opmerkingen<br />

aangepast en in dit document opgenomen.<br />

Als derde en laatste stap leggen we het eigenlijke curriculum vast. Daarvoor zijn we vertrokken van<br />

* de richtlijnen die door de centrale UA onderwijscommissie werden opgesteld<br />

* het huidige curriculum met zijn gekende sterke en zwakke punten [1]<br />

* de aanbevelingen zoals geformuleerd door de visitatiecommissie [2]<br />

* gelijkwaardige curricula aangeboden door <strong>and</strong>ere universiteiten<br />

* in het bijzonder, het "Computer Science" curriculum, zoals aanbevolen door de ACM/IEEE [5]


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 5/37<br />

DOELSTELLING<br />

Het ultieme doel van de opleiding <strong>Informatica</strong> aan de Universiteit is bekwame informatici af te<br />

leveren die in staat zijn om (a) op leidinggevend niveau te functioneren, (b) bij te dragen tot de<br />

nieuwe ontwikkelingen in de informatica, en (c) deze waar nodig te exploiteren binnen hun<br />

beroepscontext.<br />

Beroepspr<strong>of</strong>ielen<br />

Zoals bevestigd in het zelfstudierapport informatica [1] is de beroepscontext waarin onze studenten<br />

moeten functioneren enorm gevarieerd. Hij wordt in ho<strong>of</strong>dzaak bepaald door de sector waar de<br />

informatica wordt toegepast; zo is er bijvoorbeeld een hemelsbreed verschil tussen<br />

transactieverwerking in bankapplicaties en controlesystemen voor geautomatiseerde<br />

fabricageprocessen. Ook de soort organisatie heeft een niet te verwaarlozen invloed, aangezien<br />

KMO's en multinationals nu eenmaal verschillende eisen aan hun informatica afdeling stellen.<br />

Tenslotte is er ook een aanzienlijke jobmigratie, waardoor pas afgestudeerden —zeker in het begin<br />

van hun carrière— vaak in verschillende omgevingen zullen terechtkomen.<br />

Ondanks die grote variëteit is het toch nuttig enkele typische beroepspr<strong>of</strong>ielen te definiëren. Het<br />

weze duidelijk dat die alleen als leidraad dienen, en dat de situatie op de werkvloer vaak een<br />

combinatie van de verschillende beroepspr<strong>of</strong>ielen zal inhouden. Uit de enquêtes afgenomen ter<br />

voorbereiding van het zelfstudierapport [1], bleek namelijk dat het leeuwena<strong>and</strong>eel van onze pas<br />

afgestudeerden tijdens hun eerste vier jaar van hun pr<strong>of</strong>essionele carrière functioneren als analistprogrammeur<br />

<strong>of</strong> consulent. Maar de categorie "<strong>and</strong>ere" was de op twee na grootste, wat een<br />

indicatie is voor de variatie aan beroepssituaties waarin onze afgestudeerden terechtkomen.<br />

» <strong>Bachelor</strong><br />

Een <strong>Bachelor</strong> <strong>Informatica</strong> moet in principe kunnen uitstromen naar de arbeidsmarkt, v<strong>and</strong>aar dat er<br />

daar enkele beroepspr<strong>of</strong>ielen zijn voorzien. Toch is een <strong>Bachelor</strong> <strong>Informatica</strong> in ho<strong>of</strong>dzaak iem<strong>and</strong><br />

die verondersteld wordt verder te studeren als <strong>Master</strong> <strong>Informatica</strong>.<br />

Analist-programmeur. Analyseert problemen en creëert s<strong>of</strong>tware oplossingen. Werkt<br />

meestal in teamverb<strong>and</strong> maar kan zelfst<strong>and</strong>ig werken (5-tal personen).<br />

Eerstelijnshelper. Functioneert als een soort duivel-doet-al in een kleine onderneming,<br />

waarin hij een brede waaier aan problemen oplost (opzetten en beheren van netwerk,<br />

selectie van informatica platform, opleiden van gebruikers).<br />

» <strong>Master</strong><br />

Projectleider. Draagt de technische verantwoordelijkheid over een (onderdeel van) een<br />

groot s<strong>of</strong>twareproject (groter dan 10 manjaar). Is in staat een kleine ploeg (5-tal<br />

personen) op technisch niveau te leiden, zodat die ploeg in staat is problemen te<br />

analyseren en s<strong>of</strong>tware oplossingen te creëren.<br />

Consulent. Wordt ingehuurd om specifieke technische kennis en vaardigheden over te<br />

dragen; zowel aan <strong>and</strong>ere informatici als aan managers.<br />

Vorser. Draagt bij tot de ontwikkeling van spitstechnologie, zowel in een academische als<br />

industriële context.<br />

» Lange termijn<br />

Een <strong>Master</strong> <strong>Informatica</strong> moet in staat zijn om op termijn door te groeien naar een verantwoordelijke<br />

positie binnen een grote organisatie. De meest voor de h<strong>and</strong> liggende functie is die van


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 6/37<br />

Beleidsadviseur <strong>Informatica</strong> [CIO, EDP-Manager]. Adviseert de top van een groot bedrijf<br />

(directeur, manager) over strategische keuzes betreffende informatica infrastructuur. Zet<br />

die strategische keuzes om in actieplannen en zorgt voor de nodige opvolging ervan.<br />

Kerncompetenties<br />

Ondersta<strong>and</strong>e kerncompetenties zijn aangepast t.o.v. het Eindtermen 0.4 (Zaterdag 4 november).<br />

Deze aanpassingen zijn gebeurd op basis van de terugkoppeling door de centrale onderwijsraad.<br />

Los van de variërende beroepssituaties zijn er een aantal kerncompetenties die steeds terugkeren en<br />

waar we onze studenten op willen voorbereiden.<br />

» <strong>Bachelor</strong><br />

Analyse en ontwerp voor kleinschalige s<strong>of</strong>tware projecten. (Kleinschalig betekent dat het<br />

project valt te overzien door één persoon.) Begrijpen van een geïdentificeerd probleem<br />

en modelleren van een potentiële oplossing.<br />

Implementatie van nieuwe s<strong>of</strong>twaresystemen. Al dan niet als deel van een team, een gegeven<br />

basisontwerp omzetten in een werkend programma. Verfijnen van het basisontwerp<br />

(vb., geschikte interface ontwerpen), selecteren van te gebruiken s<strong>of</strong>tware, integratie<br />

van besta<strong>and</strong>e componenten.<br />

Onderhoud van besta<strong>and</strong>e s<strong>of</strong>twaresystemen. Aanpassing van besta<strong>and</strong>e programma's aan<br />

ver<strong>and</strong>eringen in mogelijkheden van zowel hardware als s<strong>of</strong>tware (upgrades). In<br />

beperkte mate, aanpassing van besta<strong>and</strong>e programma's aan ver<strong>and</strong>erde behoeften.<br />

Implementatie en onderhoud van een databank. Gegevensmodel voor een databank kunnen<br />

opstellen en implementeren. In beperkte mate, besta<strong>and</strong>e databanken aanpassen in<br />

functie van ver<strong>and</strong>erende behoeften.<br />

Beheer van een lokaal netwerk. Selectie van geschikte netwerkinfrastructuur en protocollen.<br />

Uitvoeren van de nodige verbeteringen om schaal- en performantie problemen aan te<br />

pakken.<br />

Support en advies. Oplossen van problemen, helpdesk functie; m.a.w. voldoende parate<br />

kennis bezitten om concrete s<strong>of</strong>tware problemen (o.a. compatibiliteit, best<strong>and</strong>sformaten,<br />

versiebeheer, installatie, …) op korte termijn op te lossen. In kleinere organisaties<br />

(KMO) advies over nieuwe automatiseringsprojecten (haalbaarheid, nut, benodigde<br />

apparatuur, ...).<br />

Communicatievaardigheden. Contacten met collega's en opdrachtgevers —zowel schriftelijk<br />

als mondeling— kunnen onderhouden.<br />

De volgende kerncompetenties vormen de essentie van wat een "academische" bachelor<br />

onderscheidt van een "pr<strong>of</strong>essionele" bachelor (cf. graduaat). Het zijn dan ook ho<strong>of</strong>dzakelijk die<br />

competenties die een doorstroming van bachelor naar master mogelijk maken.<br />

Formeel denken. Een sterk wiskundige vorming geeft aanleiding tot het vlot omgaan met<br />

abstracte modellen om formele redeneringen en argumentaties mogelijk te maken. Een<br />

wiskundige vorming is bovendien nodig voor het begrijpen van de in de informatica<br />

gangbare wetenschappelijke technieken en methodes.<br />

Wetenschappelijk verwerken van data. De noodzakelijke vaardigheden en kennis hebben om<br />

data omtrent een informaticaprobleem (vb. netwerkperformantie, databank integriteit,<br />

algoritmische complexiteit) op een correcte manier te verzamelen, en die om te zetten<br />

in nuttige informatie.<br />

Opvolgen technologische ontwikkelingen. De vakliteratuur kunnen volgen (in ho<strong>of</strong>dzaak<br />

Engels) om op de hoogte te blijven van recente ontwikkelingen. Dit vereist een<br />

denkkader waarin de samenhang tussen de verschillende deelgebieden in de informatica<br />

wordt gevat.


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 7/37<br />

Eigen maken nieuwe technieken. In staat zijn om heel efficiënt nieuwe programmeertalen,<br />

databanktechnieken, netwerktechnologie te begrijpen en toe te passen waar nodig.<br />

Autonoom en creatief functioneren. Door zijn brede basisvorming is een bachelor in staat<br />

een complexe opdracht in deeltaken op te delen, elk van die deeltaken afzonderlijk uit te<br />

voeren en toch het groter geheel niet uit het oog te verliezen. Bovendien is een bachelor<br />

in staat tot zelfreflectie, zodat gelijkaardige opdrachten in het vervolg beter zullen<br />

worden uitgevoerd.<br />

Wetenschappelijke basis. Naast een gedegen kennis van de fundamentele begrippen,<br />

methodes en deelgebieden van de <strong>Informatica</strong>, ook een zicht op <strong>and</strong>ere<br />

wetenschappelijke disciplines (o.a., wiskunde, natuurkunde, economie) met hun<br />

gangbare wetenschappelijke technieken, methodes en beperkingen.<br />

» <strong>Master</strong> (1 jaar - 60 studiepunten)<br />

Om te beginnen gelden alle kerncompetenties voor een master opleiding van 1 jaar.<br />

Analyse voor grootschalige informaticaprojecten. (Grootschalig betekent dat het geheel niet<br />

door één persoon valt te overzien.) Identificeren van taken die voor automatisering in<br />

aanmerking komen, begrijpen van de achterliggende bedrijfsprocessen, vastleggen van<br />

de overeenkomstige gebruikersbehoeften. Dit vereist de nodige kennis om vlot met<br />

personen actief in <strong>and</strong>ere disciplines te communiceren.<br />

Ontwerp van grootschalige informaticasystemen. Abstractie en decompositie van het<br />

specifieke probleem om tot een haalbare oplossing te komen. Identificatie van<br />

componenten die kunnen bijdragen tot een oplossing (vb. s<strong>of</strong>tware bibliotheek, type<br />

netwerk, soort databank). Documenteren van de gekozen oplossingen op verschillende<br />

niveau’s van abstractie.<br />

Originaliteit en creativiteit bezitten om een zo goed mogelijke oplossing te zoeken voor een<br />

gegeven probleem, <strong>of</strong> besta<strong>and</strong>e gedocumenteerde oplossingen aan te passen aan een<br />

nieuw probleem.<br />

Herstructureren van besta<strong>and</strong>e informaticasystemen. Identificatie van problematische<br />

componenten, selectie van de oplossingsstrategieën, doorvoeren van de nodige<br />

aanpassingen zonder de werking van het besta<strong>and</strong>e systeem te compromitteren.<br />

Kwaliteitscontrole. Tijdens het uitvoeren van informaticaprojecten de nodige controles<br />

voorzien om vooraf gespecificeerde kwaliteitsnormen te halen (cf.. betrouwbaarheid,<br />

onderhoudbaarheid, veiligheid, …). Na het uitvoeren van informaticaprojecten de<br />

nodige lessen kunnen trekken om de kwaliteitsnormen waar nodig te optimaliseren.<br />

Selectie van technieken, methodes, talen, architecturen, … rekening houdend met hun<br />

inherente beperkingen en het feit dat informatie over concrete oplossingen veelal<br />

commercieel is gekleurd (v<strong>and</strong>aar de nood aan een wetenschappelijke attitute). Het<br />

nemen van strategische beslissingen in dit verb<strong>and</strong>: vb. hoe beveiligen we ons netwerk<br />

welk type databank welke rol voor formele specificaties Het wetenschappelijk<br />

motiveren van genomen beslissingen.<br />

Leiden van een groep informatici, met inbegrip van (a) het inschatten van de benodigde<br />

middelen (tijd, budget, apparatuur, mankracht, competenties); (b) taakverdeling op basis<br />

van technische competenties; (c) het plannen in de tijd van wanneer welke taken<br />

worden uitgevoerd; (d) het opvolgen en bijsturen van de planning.<br />

Rapporteren —zowel schriftelijk als mondeling— over de voortgang en status van<br />

informaticaprojecten aan opdrachtgevers (dus niet-informatici) en experten in <strong>and</strong>ere<br />

disciplines.


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 8/37<br />

» <strong>Master</strong> (2 jaar - 120 studiepunten)<br />

Naast alle kerncompetenties geldend voor een master opleiding van 1 jaar zal een master opleiding<br />

van 2 jaar bovendien de volgende kerncompetenties dienen te verwerven.<br />

Diepgang. Heeft theoretisch inzicht en praktische ervaring met instrumenten, technieken en<br />

methodes toegepast binnen wetenschappelijk onderzoek van een bepaald deelgebied<br />

van de informatica.<br />

Onderzoek en Ontwikkeling in een productgerichte omgeving. Dit houdt in (a) experimenten<br />

kunnen opzetten om vast te stellen <strong>of</strong> bepaalde technieken bruikbaar zijn voor zijn<br />

bedrijf; (b) herkennen van opportuniteiten om producten en productieprocessen te<br />

verbeteren; (c) inschatten van kosten en baten van nieuwe technieken en methodes; (d)<br />

nieuwe technieken aanwenden om een strategisch voordeel op de concurrentie te<br />

creëren.<br />

Fundamenteel Onderzoek in de informatica om door te stromen naar een doctoraat. Dit<br />

houdt in (a) inzicht hebben in de actuele onderzoeksvragen binnen een deelgebeid van<br />

de informatica; (b) in staat zijn om de implicaties van recente onderzoeksresultaten in te<br />

zien; (c) zelfst<strong>and</strong>ig gepubliceerde resultaten <strong>of</strong> technieken kunnen toepassen in een<br />

nieuwe context.


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 9/37<br />

MODULAIR OVERZICHT<br />

Om een opleiding te definiëren die studenten voorbereid om bovensta<strong>and</strong>e kerncompetenties te<br />

verwervern splitsen we het curriculum op in een aantal modules. Daarbij maken we een sterk<br />

onderscheid tussen de bachelor —een brede basisvorming— en de <strong>Master</strong> opleiding — een<br />

specialisatie. Anderzijds zijn er een aantal elementen die inherent zijn aan een wetenschappelijke<br />

opleiding op academisch niveau, en die worden gebundeld in drie basispijlers.<br />

<strong>Bachelor</strong><br />

Voor de bachelor opleiding<br />

voorzien we 7 basismodules<br />

(s<strong>of</strong>tware engineering,<br />

databases, telecommunicatie,<br />

computationele wetenschappen,<br />

artificiële intelligentie,<br />

theoretische informatica,<br />

formeel denken<br />

computersystemen) die instaan<br />

voor de kennis en inzichten<br />

specifiek voor de informatica.<br />

Anderzijds zijn er drie<br />

basispijlers (formeel denken,<br />

wetenschappelijke basis en<br />

maatschappelijke vorming) die<br />

zorgen voor de noodzakelijke wetenschappelijke fundering (zie Figuur 1).<br />

s<strong>of</strong>tware<br />

engineering<br />

databases<br />

computationele<br />

wetenschappen<br />

artificiële<br />

intelligentie<br />

wetenschappelijke basis<br />

maatschappelijke vorming<br />

theoretische<br />

<strong>Informatica</strong><br />

telecommunicatie<br />

telecommunicatie<br />

computersystemen<br />

Figuur 1: Modulair overzicht <strong>Bachelor</strong> <strong>Informatica</strong><br />

<strong>Master</strong><br />

Tijdens de <strong>Master</strong> opleiding<br />

bieden we vier opties aan:<br />

• databases<br />

• s<strong>of</strong>tware engineering<br />

• telecommunicatie<br />

• computationele<br />

wetenschappen<br />

Deze opties sluiten nauw aan bij<br />

de aanwezige onderzoeksexpertise,<br />

zoals trouwens vereist<br />

voor een <strong>Master</strong> opleiding.<br />

Desalniettemin is het de<br />

bedoeling samen te werken met<br />

<strong>and</strong>ere departementen en<br />

universiteiten om de nodige<br />

kwaliteitsgaranties te bieden.<br />

databases<br />

s<strong>of</strong>tware<br />

engineering<br />

wetenschappelijke basis<br />

maatschappelijke vorming<br />

computationele<br />

wetenschappen<br />

Figuur 2: Modulair overzicht <strong>Master</strong> <strong>Informatica</strong>


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 10/37<br />

Eindtermen <strong>Bachelor</strong><br />

In dit ho<strong>of</strong>dstuk sommen we de verschillende eindtermen op die gelden voor een bachelor<br />

informatica. Een eindterm wordt hier gedefinieerd als "wat gemeten kan worden in een examen",<br />

waarbij we de eindtermen zoveel mogelijk formuleren in een actieve zin (kunnen i.p.v. kennen).<br />

Het aantal eindtermen moet ook beperkt worden, bij voorkeur een 3-tal per module en per categorie.<br />

Bovendien splitsen we die eindtermen op in drie categorieën (a) essentieel — i.e. zonder die kan<br />

een student zichzelf geen <strong>Bachelor</strong>/<strong>Master</strong> noemen; (b) belangrijk — daaraan kunnen we een goede<br />

<strong>Bachelor</strong>/<strong>Master</strong> herkennen; (c) nuttig — hier kan een <strong>Bachelor</strong>/<strong>Master</strong> zich differentiëren van zijn<br />

medestudenten. Deze classificatie is nodig om de volgende vragen —die zich op korte termijn gaan<br />

stellen— te beantwoorden.<br />

Waar liggen de prioriteiten Aangezien we nu overgaan van een 2 + 2 naar een 3 + 2<br />

structuur, met de mogelijkheid om uit te stromen na 3 jaar, hebben we een instrument<br />

nodig om vast te leggen wat onze minimumnorm is voor studenten die afstuderen.<br />

Hoe verschilt onze opleiding van de <strong>and</strong>ere In de nabije toekomst zullen we moeten<br />

vastleggen waarin onze opleiding verschilt van <strong>and</strong>ere informatica-gerelateerde<br />

opleidingen (industrieel en burgerlijk ingenieur ICT, graduaat informatica, …).<br />

Wat zijn de toelatingsvoorwaarden voor de <strong>Master</strong> Binnenkort zullen we moeten<br />

onderh<strong>and</strong>elen over wat bachelors uit <strong>and</strong>ere richtingen moeten kunnen als ze de <strong>Master</strong><br />

informatica willen volgen.<br />

Wat verwachten we precies van een minor informatica Wat kunnen we eisen in het korte<br />

tijdsbestek van een minor <br />

S<strong>of</strong>tware Engineering<br />

ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om …<br />

… te programmeren aan de h<strong>and</strong> van het objectgeoriënteerde paradigma in een gangbare<br />

programmeertaal (bijv. C++)<br />

… de basisconcepten van procedureel, objectgebaseerd, objectgeoriënteerd en generisch<br />

programmeren beheersen<br />

… de syntax en semantiek van een nieuwe programmeertaal zelfst<strong>and</strong>ig en op een minimum<br />

aan tijd te leren<br />

BELANGRIJK: Een goede bachelor informatica is in staat om …<br />

… informaticaproblemen te specifiëren, analyseren, ontwerpen, programmeren en testen<br />

… bij te dragen tot het opstellen en opvolgen van een projectplan<br />

… vooraf gedefinieerde kwaliteitsnormen (cf.. betrouwbaarheid, onderhoudbaarheid,<br />

veiligheid, …) in zijn werk te bereiken<br />

… een compiler voor een simpele programmeertaal te bouwen<br />

… enkele veel gebruikte gedistribueerde s<strong>of</strong>tware architecturen (client-server, peer-to-peer)<br />

toe te passen<br />

Databases<br />

ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om …<br />

… een databank model op te stellen (o.a. via E-R diagrammen)<br />

… een databank te ontwerpen (rekening houdend met de normalisatietheorie)<br />

… een databank te ondervragen a.h.v. de Structured Query Language (SQL)<br />

… de gebruikerstoegang te controleren a.h.v. transacties (commit & rollback)<br />

… een databank te verbinden met het internet (o.a. via XML)<br />

BELANGRIJK: Een goede bachelor informatica is in staat om …<br />

… constraints en triggers te gebruiken


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 11/37<br />

… de expressieve kracht van ondervragingstalen te kunnen vergelijken<br />

… te snappen hoe databankqueries intern geoptimaliseerd worden<br />

NUTTIG: Een bachelor informatica kan uitblinken door …<br />

… de relationele algebra te begrijpen<br />

… de fysische ondervraag modellen begrijpen<br />

… weten hoe gegevens in een databank beveiligd kunnen worden ("security")<br />

… weten hoe een databank omgaat met ontbrekende informatie<br />

Telecommunicatie<br />

ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om …<br />

… de belangrijkste protocollen uit de verschillende lagen van het OSI model (Ethernet,<br />

CRC fouten detectie, IP, TCP, HTTP, ....) te kunnen identificeren in een besta<strong>and</strong><br />

telecommunicatiesysteem.<br />

… een oplossing te bepalen voor een probleem uit een bepaalde laag van het OSI model op<br />

basis van st<strong>and</strong>aard protocollen (zoals sliding window, kortste pad routering, etc.)<br />

… een eenvoudig communicatieprotocol te ontwikkelen (specificatie, ontwerp,<br />

implementatie, testen) en te analyseren (modeleren, prestatie, complexiteit)<br />

BELANGRIJK: Een goede bachelor informatica is in staat om …<br />

… te bepalen welke van de huidige telecommunicatietechnologiën (ISDN, ADSL, GSM,<br />

ATM,...) kan aangewend worden voor een bepaald probleem.<br />

… een probleem te ontbinden in deelproblemen volgens het OSI model en voor elk<br />

deelprobleem een gepaste oplossing te bepalen.<br />

Computationele wetenschappen<br />

ESSENTIEEL: Een <strong>Master</strong> informatica moet minstens in staat zijn om …<br />

… de basisbegrippen van exact vs. floating-point rekenen te beheersen<br />

… numerieke algoritmes kunnen gebruiken voor typische problemen in de lineaire algebra,<br />

data fitting, data smoothing, functiebenadering, oplossen van een niet-lineaire<br />

vergelijking, kwadratuur, Monte Carlo methodes<br />

… de stabiliteit van een rekenalgoritme en de conditionering van een probleemstelling uit te<br />

drukken<br />

… een gewone differentiaalvergelijkingen op te lossen<br />

BELANGRIJK: Een goede <strong>Master</strong> informatica is in staat om …<br />

… gebruik te kunnen maken van besta<strong>and</strong>e Problem Solving Environments (Matlab,<br />

computer algebra systemen) en besta<strong>and</strong>e numerieke s<strong>of</strong>twarebibliotheken<br />

… grote hoeveelheden wetenschappelijke gegevens aan de h<strong>and</strong> van een computer visueel<br />

kunnen voorstellen<br />

Artificiële intelligentie<br />

ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om …<br />

… de klassieke paradigma's van artificiële intelligentie (zoekstrategieën,<br />

kennisrepresentatie, kennisinferentie) te begrijpen<br />

… de typische AI zoekmethodes kunnen toepassen binnen hun context. Typische AI<br />

zoekmethodes zijn (a) heuristische zoekmethodes, (b) niet-deterministische, iteratieve<br />

zoekmethodes (simulated annealing, GA, ...), (c) spelspecifieke zoekmethodes<br />

BELANGRIJK: Een goede bachelor informatica is in staat om …<br />

… kennisrepresentatietechnieken uit te breiden om rekening te houden met vage begrippen<br />

en onzekerheid<br />

… te weten waar en hoe AI technieken gebruikt worden in enkele recente toepassingen


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 12/37<br />

Computer systemen<br />

ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om …<br />

… te weten hoe een somputersysteem beveiligd kan worden ("security")<br />

… een overzicht hebben van een meest gebruikte computer & CPU architecturen<br />

… de basisbegrippen elektronica kunnen hanteren<br />

… een overzicht hebben van de typische opbouw van computersystemen (structuur van de<br />

hardware, rol van besturingssystemen vs. applicaties, lagere en hogere<br />

programmeertalen.<br />

BELANGRIJK: Een goede <strong>Master</strong> informatica is in staat om …<br />

… de interne werking van informatica-tools (parsers, compilers, interpreters) te snappen<br />

NUTTIG: Een bachelor informatica kan uitblinken door …<br />

… een besturingssysteem kunnen configureren en eventueel aanpassen<br />

… een besturingssysteem kunnen ontwerpen en implementeren<br />

Theoretische informatica<br />

ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om …<br />

… formele logica te gebruiken in een informatica-context (vb. redeneren over pre- en<br />

postcondities, syntax vs. semantiek, model en interpretatie, samenhang met de theorie<br />

van programmeertalen)<br />

… eenvoudige modellen te gebruiken voor de abstracte beschrijving van algoritmen (vb.<br />

eindige automaten voor herkennen van talen, turing machines voor de analyse van<br />

algoritmen)<br />

… complexiteitsanalyse van typische algoritmen (sorteren, zoeken) en bijhorende<br />

datastructuren (lijsten, hash-tabellen, bomen, …) te verrichten<br />

BELANGRIJK: Een goede <strong>Master</strong> informatica is in staat om …<br />

… voor enkele veel gebruikte algoritmes te bewijzen dat ze correct zijn<br />

Formeel denken<br />

ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om …<br />

… een basiskennis wiskunde (discrete wiskunde, algebra, analyse, statistiek) te gebruiken<br />

voor het oplossen van vraagstukken<br />

… op een formele manier te redeneren (vb. sluitend bewijs opstellen, niet-sluitende<br />

redenering herkennen)<br />

Wetenschappelijke basis<br />

ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om …<br />

… de wetenschappelijke methodiek te begrijpen, hanteren en informatica daarop toepassen<br />

… st<strong>and</strong>aard scalaire en vectorgrootheden kunnen gebruiken in een wetenschappelijke<br />

context, en buiten het formele karakter van de wiskundige definitie (grad, rot, div,<br />

laplaciaan, ...)<br />

… oppervlakte- en volume-integralen kunnen hanteren<br />

… elementaire differentiaalproblemen kunnen oplossen<br />

NUTTIG: Een bachelor informatica kan uitblinken door …<br />

… basisprincipes van de fysica beheersen<br />

… een overzicht te hebben van scheikundige beginselen (anorganisch vs. organisch -<br />

analysetechnieken - ...)<br />

… een overzicht te hebben van biologische beginselen (planten en dieren taxonomie)


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 13/37<br />

Maatschappelijke vorming<br />

ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om …<br />

… te weten wanneer de deontologische code van toepassing is<br />

BELANGRIJK: Een goede <strong>Master</strong> informatica is in staat om …<br />

… basisbegrippen macro-economie (geldmarkt, betalingsbalans, Inflatie, ...) en microeconomie<br />

(vraag en aanbod, elasticiteit, marktvormen, …) juist te hanteren<br />

… de grote deelgebieden van het vakgebied, hun samenhang en hun evolutie te begrijpen.<br />

De grote deelgebieden zijn algoritmiek, programmeertalen, databases,<br />

computersystemen, computeraritmetiek, telecommunicatie, formele methoden.<br />

… een basisbegrip hebben van de wetenschapsfilos<strong>of</strong>ie, in het bijzonder de grondslagen van<br />

de wiskunde en de theoretische computerwetenschappen<br />

NUTTIG: Een bachelor informatica kan uitblinken door …<br />

… zijn communicatievaardigheden, te weten zijn capaciteit om in groep te werken, efficiënt<br />

te vergaderen, te onderh<strong>and</strong>elen, mondeling te presenteren, schriftelijk te rapporteren


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 14/37<br />

Eindtermen <strong>Master</strong><br />

In dit ho<strong>of</strong>dstuk sommen we de verschillende eindtermen op die gelden voor een <strong>Master</strong><br />

informatica. Ook hier hanteren we als werkdefinitie voor een eindterm "wat gemeten kan worden in<br />

een examen", waarbij we de eindtermen zoveel mogelijk formuleren in een actieve zin (kunnen<br />

i.p.v. kennen).<br />

Net zoals voor de bachelor splitsen we de eindtermen op in drie categorieën (a) essentieel — i.e.<br />

zonder die kan een student zichzelf geen <strong>Bachelor</strong>/<strong>Master</strong> noemen; (b) belangrijk — daaraan<br />

kunnen we een goede <strong>Bachelor</strong>/<strong>Master</strong> herkennen; (c) nuttig — hier kan een <strong>Bachelor</strong>/<strong>Master</strong> zich<br />

differentiëren van zijn medestudenten. Met die classificatie willen we de volgende vragen kunnen<br />

beantwoorden.<br />

Wat is gemeenschappelijk tussen de verschillende opties Welke vakken moeten we<br />

openstellen tussen de verschillende opties en eventueel aanbieden als keuzevak in de<br />

<strong>Bachelor</strong>.<br />

Hoe organiseren we een interuniversitaire samenwerking Om met <strong>and</strong>ere universiteiten<br />

(en departementen) te onderh<strong>and</strong>elen over het, moeten we weten wat we willen<br />

bereiken en welke expertise we eventueel moeten zoeken.<br />

Hoe gaan we onze opties pr<strong>of</strong>ileren Om studenten aan te trekken, moeten we duidelijk<br />

maken wat we met de <strong>Master</strong> willen bereiken.<br />

Databases<br />

ESSENTIEEL: Een <strong>Master</strong> informatica moet minstens in staat zijn om …<br />

… gedistribueerde databanken te gebruiken<br />

… XQuery te gebruiken op XML documenten<br />

… de taken van een Database Manager waar te nemen<br />

BELANGRIJK: Een goede <strong>Master</strong> informatica is in staat om …<br />

… de principes achter "temporal databases" te snappen<br />

… decision support systems te hanteren<br />

… datamining technieken te gebruiken om patronen in grote hoeveelheden data te<br />

herkennen<br />

NUTTIG: Een <strong>Master</strong> informatica kan uitblinken door …<br />

… een grafische user-interface te bouwen bovenop een databank<br />

… de voornaamste verschillen tussen relationele en objectgerichte databanken op te<br />

sommen<br />

S<strong>of</strong>tware engineering<br />

ESSENTIEEL: Een <strong>Master</strong> informatica moet minstens in staat zijn om …<br />

… aan de h<strong>and</strong> van formele specificatietechnieken precies vastleggen hoe een s<strong>of</strong>tware<br />

component zich moet gedragen<br />

… een overzicht te hebben van de "state-<strong>of</strong>-the-art" s<strong>of</strong>tware-ontwerp methodes en<br />

technieken (vb. s<strong>of</strong>tware architectuur, design patterns, frameworks, …)<br />

… methoden, technieken en technologie voor het programmeren van gedistribueerde<br />

applicaties en systemen te beheersen<br />

BELANGRIJK: Een goede <strong>Master</strong> informatica is in staat om …<br />

… de interne structuur van een besta<strong>and</strong> informatica-systeem te reorganiseren zonder de<br />

werking ervan te compromitteren<br />

… gedistribueerde applicaties te ontwikkelen op basis van Java technieken en vanuit Java<br />

toegankelijke technologieën


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 15/37<br />

… deel te nemen aan de kwaliteitscontrole van een informatica-project (vb. a.h.v. qualityreviews)<br />

… weet hebben van de voornaamste ontwerpprincipes voor het bouwen van user-interfaces<br />

NUTTIG: Een uitstekende <strong>Master</strong> informatica is in staat om …<br />

… voor een gegeven informaticaprobleem een goede oplossingsstrategie kiezen (welke<br />

technieken zijn het meest geschikt om het probleem te analyseren, specifiëren,<br />

ontwerpen, implementeren en te testen + argumentatie waarom)<br />

Telecommunicatie<br />

ESSENTIEEL: Een <strong>Master</strong> informatica moet minstens in staat zijn om …<br />

… een systeem te ontwikkelen gebruik makend van de belangrijkste Internet protocollen<br />

(HTTP, FTP, IP, IPSec, TCP, UDP, Mobile IP, ...)<br />

… complexe communicatieprotocollen te ontwikkelen (specificatie, ontwerp,<br />

implementatie, testen) en te analyseren (modeleren, prestatie, complexiteit)<br />

… een IP netwerk op te zetten en te beheren in een laboratoriumomgeving<br />

… een besturingssysteem te kunnen configureren en aan te passen aan specifieke eisen<br />

BELANGRIJK: Een goede <strong>Master</strong> informatica is in staat om …<br />

… een telecommunicatiesysteem te modeleren en te simuleren teneinde de gewenste<br />

prestatiematen te bepalen<br />

… systeemwijzigingen te suggereren ter verbetering van de prestaties van een<br />

telecommunicatiesysteem<br />

… een besturingssysteem te ontwerpen en te implementeren<br />

Computationele wetenschappen<br />

ESSENTIEEL: Een <strong>Master</strong> informatica moet minstens in staat zijn om …<br />

… informatica oplossingen te kunnen toepassen op wetenschappelijke problemen<br />

… een gevorderde kennis van numerieke algoritmes te demonstreren<br />

… simulatietechnieken en symbolische algoritmes te kunnen toepassen<br />

… numeriek methodes voor het oplossen van gewone en partiele differentiaalvergelijkingen<br />

kennen<br />

BELANGRIJK: Een goede <strong>Master</strong> informatica is in staat om …<br />

… getaltheorie en cryptografie te begrijpen<br />

… parallel en gedistribueerd te programmeren<br />

… basisbegrippen systeemtheorie & systeemidentificatie te kennen (lineaire systemen,<br />

modelleren & simulatietechnieken, beginselen regeltheorie)<br />

… (numerieke) optimalisatietechnieken te kennen<br />

NUTTIG: Een uitstekende <strong>Master</strong> informatica is in staat om …<br />

… alternatieven voor floating-point aritmetiek op te sommen (o.a. validatietechnieken,<br />

symbolisch-numerieke technieken, veeltermrekenen, …)<br />

Wetenschappelijke basis<br />

ESSENTIEEL: Een <strong>Master</strong> informatica moet minstens in staat zijn om …<br />

… zelfst<strong>and</strong>ig opzoekingswerk in de literatuur kunnen verrichten over een gegeven<br />

onderwerp<br />

… zelfst<strong>and</strong>ig informatie over een complex informatica-onderwerp kunnen synthetiseren, en<br />

over deze synthese rapporteren<br />

… een gegeven vraag op een wetenschappelijk manier beantwoorden (cf.<br />

haalbaarheidsstudie, gevalsonderzoek, vergelijkende analyse, literatuurstudie, formeel<br />

model, simulatie)


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 16/37<br />

BELANGRIJK: Een goede <strong>Master</strong> informatica is in staat om …<br />

… grote hoeveelheden data (vb. meetgegevens) visualiseren, analyseren en interpreteren<br />

Maatschappelijke vorming<br />

ESSENTIEEL: Een <strong>Master</strong> informatica moet minstens in staat zijn om …<br />

… een plan voor een informatica-project op te stellen met inbegrip van (a) het inschatten<br />

van de benodigde middelen (tijd, budget, apparatuur, mankracht, competenties); (b)<br />

taakverdeling op basis van technische competenties; (c) het plannen in de tijd van<br />

wanneer welke taken worden uitgevoerd; (d) het opvolgen en bijsturen van de planning<br />

… binnen een industriële context een concrete opdracht tot een goed einde brengen<br />

BELANGRIJK: Een goede <strong>Master</strong> informatica is in staat om …<br />

… de deontologische code in praktijk kunnen toepassen<br />

… basisbegrippen informaticarecht beheersen (vb. intellectual property, juridische<br />

vraagstukken i.v.m. informatie- en communicatietechnologieën)<br />

… wetenschapsfilos<strong>of</strong>ische vraagstukken kunnen beantwoorden<br />

NUTTIG: Een <strong>Master</strong> informatica kan uitblinken door …<br />

… basisbegrippen management te beheersen (vb. bedrijfskunde, technieken voor leiden van<br />

een onderneming <strong>of</strong> organisatie, strategische planning en organisatie)<br />

… weten hoe s<strong>of</strong>tware beveiligd kan worden (vb. cryptografie, technische protectie en<br />

juridische normen, de bescherming van s<strong>of</strong>t- en firmware)


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 17/37<br />

CURRICULUM BACHELOR<br />

In dit ho<strong>of</strong>dstuk sommen we het curriculum op dat zal leiden tot een diploma bachelor informatica.<br />

Bij de opstelling van het curriculum gaan we uit van een onderwijsorganisatie van twee semesters<br />

per jaar, wat naar alle waarschijnlijkheid in de eerste overgangsjaren nog steeds de norm zal zijn.<br />

Toch willen we de overgang naar een credit-systeem zo vlot mogelijk maken, v<strong>and</strong>aar dat de<br />

voorkennis voor voor elk opleidingsonderdeel expliciet wordt vermeld.<br />

Bovendien werd het curriculum studentvriendelijker gemaakt door de volgende maatregelen<br />

pr<strong>of</strong>ileringsruimte: Er wordt heel wat keuzeruimte voorzien om een student de mogelijkheid<br />

te bieden zicht te pr<strong>of</strong>ileren in functie van zijn interesses. Daarom wordt binnen de 180<br />

studiepunten van de <strong>Bachelor</strong> opleiding, 30 studiepunten voorbehouden voor<br />

pr<strong>of</strong>ileringsruimte. Daarbij is het dus mogelijk een Minor van 30 studiepunten te kiezen<br />

aangeboden door een <strong>and</strong>ere opleiding (vb. Economie voor de eerder management<br />

geinteresseerden, Biologie voor studenten die later bio-informatica willen gaan doen,<br />

<strong>Informatica</strong> voor studenten die zich willen pr<strong>of</strong>ileren via hun vakkennis). Deze minor<br />

zal expliciet op het diploma vermeld worden, waardoor het pr<strong>of</strong>ileringselement extra in<br />

de verf wordt gezet.<br />

uitwisselbaarheid: Om vergelijking en uitwisseling met <strong>and</strong>ere informatica opleidingen<br />

mogelijk te maken kiezen we voor relatief grote opleidingsonderdelen (minimum 6<br />

studiepunten) met duidelijke leerdoelen. Bovendien krijgen alle opleidingsonderdelen<br />

een gewicht dat een veelvoud is van drie, zodat alvast binnen de UA —waar deze<br />

algemene richtlijnen geldt—de uitwisselling van opleidingsonderdelen mogelijk moet<br />

zijn.<br />

wiskunde: De inhoud van de opleidingsonderdelen wordt zodanig gedefinieerd dat ze<br />

bijdraagt tot de vakkennis van de informatica. Zo wordt de inhoud van de wiskunde<br />

vakken in de eerste twee jaren herzien, met meer nadruk op statistiek en kansrekenen.<br />

Zo wordt ook geopteerd voor een goede balans tussen eerder formele een eerder<br />

praktische informatica-vakken.<br />

projectwerking: Een academisch gevormde informaticus moet in staat zijn de brede<br />

vakkennis die hij tijdens zijn opleiding verwerft ook in de praktijk toe te passen.<br />

V<strong>and</strong>aar dat er veel ruimte voorzien wordt voor praktijk en groepswerk. In het<br />

bijzonder wordt in elk jaar een groot blok voorzien waar een studenten in groep een<br />

project zullen uitvoeren.<br />

Legende overzichtstabellen<br />

Voor deze overzichtstabellen geldt de volgende interpretatie.<br />

Legende: SEM1 = #studiepunten in 1rste semester;<br />

SEM2 = #studiepunten in 2de semester;<br />

JAAR = totaal #studiepunten per jaar;<br />

T = # contactuur theorie;<br />

P = #contactuur practicum<br />

Docent: De naam van de docent in de laatste kolom is ter informatieve titel, het is tot nader<br />

order nog altijd de departementsraad die docenten aan vakken toewijst. De namen zijn<br />

er hier toch bij vermeld om aan te geven dat het geheel van het <strong>Bachelor</strong>s/<strong>Master</strong><br />

curriculum uit te voeren is met de huidig beschikbare staf.<br />

Omzetting studiepunten in contacturen (T en P): Er zijn geen centrale <strong>of</strong> decretale richtlijnen<br />

voor het omrekenen van studiepunten naar contacturen. De enige norm is dat één<br />

studiepunt staat voor 25 tot 30 uren studietijd van de student (d.i. volgen van de lessen,<br />

verwerken van de leerst<strong>of</strong>, uitvoeren van de opdrachten, afleggen van de examens).<br />

Toch hebben we – ter vergelijking met het voorga<strong>and</strong>e curriculum – een aantal<br />

contactuur vastgelegd dat richtinggevend is voor wat er in het uurrooster moet worden


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 18/37<br />

voorzien. In de praktijk kan en zal de onderwijscommissie het aantal contacturen<br />

moeten aanpassen zodanig dat het netjes past in het uurrooster.<br />

Vuistregel: De volgende vuistregel werd gehanteerd om studiepunten in contacturen om te<br />

zetten.<br />

- st<strong>and</strong>aard is 6 studiepunten gelijk aan 30u theorie + 30u practicum<br />

dus T = P = (studiepunten * 10) / 2<br />

- als de nadruk ligt op het practicum (vb. projectvakken, <strong>of</strong> als er veel meer oefeningen<br />

worden gegeven) kan het aantal contacturen verhogen, redenerend dat practicumuren<br />

minder extra studietijd achteraf vragen. Dan is bijvoorbeeld een verdeling 15u theorie +<br />

50u/60u practicum mogelijk.<br />

Overzichtstabel 1rste BAC<br />

SEM1 SEM2 JAAR T P Docent<br />

inleiding programmeren 6 6 30 30 F. Arickx<br />

discrete wiskunde 9 9 45 45 G. Van Steen<br />

calculus en statistiek 9 9 45 45 E. Soetens<br />

/ statistiek<br />

computersystemen 6 6 30 30 T. DHaene<br />

/ J. De Sitter<br />

talen en automaten 6 6 30 30 E. Laenens<br />

gegevensstructuren 6 6 30 30 E. Laenens<br />

inleiding s<strong>of</strong>tware<br />

6 6 15 60 S. Demeyer<br />

engineering<br />

computernetwerken 6 6 30 30 C. Blondia<br />

computer graphics 6 6 30 30 F. Arickx<br />

TOTAAL 27 33 60 285 330<br />

Overzichtstabel 2de BAC<br />

SEM1 SEM2 JAAR T P Docent<br />

numerieke lineaire algebra 9 9 45 45 G. Van Steen<br />

/ B. Verdonk<br />

gevorderd programmeren 6 6 30 30 J. Broeckhove<br />

machines en<br />

6 6 30 30 E. Laenens<br />

berekenbaarheid<br />

algoritmen en complexiteit 6 6 30 30 D. Janssens<br />

computerarchitectuur en -<br />

organisatie<br />

9 9 45 45 T. DHaene<br />

/ J. De Sitter<br />

project gedistribueerd<br />

6 6 15 60 J. Broeckhove<br />

programmeren<br />

databases 6 6 30 30 J. Paredaens<br />

pr<strong>of</strong>ileringsruimte 6 6 12 -- keuze<br />

TOTAAL 27 33 60 225 270<br />

Overzichtstabel 3de BAC<br />

SEM1 SEM2 JAAR T P Docent<br />

eindwerk 4.5 4.5 9 0 120 --alle docenten--<br />

databases (XML& 6 6 30 30 J. Paredaens<br />

webtechnologie)<br />

telecommunicatiesystemen 6 6 30 30 C. Blondia<br />

wetenschappelijk<br />

6 6 15 45 A. Cuyt<br />

programmeren<br />

s<strong>of</strong>tware engineering 6 6 30 30 S. Demeyer


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 19/37<br />

pr<strong>of</strong>ileringsruimte 6 12 18 -- keuze<br />

[levensbeschouwelijk] 3 3 30 0 -- in te vullen<br />

door UA<br />

compilers 6 6 15 60 D. Janssens<br />

TOTAAL 31.5 28.5 60 150 315<br />

Vakbeschrijvingen 1rste BAC<br />

» Inleiding programmeren<br />

6 studiepunten<br />

Voorkennis<br />

* Geen<br />

Doelstelling<br />

* inleiding tot hedendaagse basistechnieken van het programmeren.<br />

* programmeertaal: Oberon-2<br />

Inhoud<br />

* procedurele aanpak<br />

* syntactische constructies (dataspecificatie en verwerkingsinstructies) a.h.v EBNF<br />

* types en samengestelde types<br />

* top-down ontwerp<br />

* abstractiemogelijkheden<br />

* modulair programmeren<br />

* inleiding object-gericht programmeren (expliciete pointer syntax, encapsulatie, hergebruik)<br />

* abstractiemogelijkheden (procedureel, klassiek ADT, objectgericht)<br />

» Discrete Wiskunde<br />

9 studie punten<br />

Voorkennis<br />

* Verzamelingen, functies (> Middelbaar onderwijs)<br />

Doelstelling<br />

* Basiskennis discrete wiskunde ter ondersteuning van informatica-vakken<br />

Studiemateriaal<br />

* "Discrete Algorithmic <strong>Mathematics</strong>" van Stephen B. Maurer, Anthony Ralston<br />

Inhoud<br />

* 1. Preliminaries:<br />

Verzamelingen, relaties, functies, notaties, equivalentierelaties, partities, ordening<br />

* 3. Inductie:<br />

Varianten van inductie, inductie en algoritmes<br />

* 5. Combinatoriek:<br />

Permutaties, combinaties, inclusie, exclusie, binomium van Newton<br />

* 7. Kanstheorie:<br />

Onafhankelijkheid, voorwaardelijke kans, stelling van Bayes, gemiddelde en variantie,<br />

r<strong>and</strong>omwaarden<br />

* 2. R<strong>and</strong>om variabelen en distributies<br />

R<strong>and</strong>om variabelen, Distributies, Verwachtingswaarde en momenten, Belangrijke r<strong>and</strong>om<br />

variabelen<br />

* 8. Logica:<br />

Propositielogica, deductie, boolse algebra, predicatenlogica


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 20/37<br />

» Calculus & Statistiek<br />

9 studiepunten<br />

Voorkennis<br />

* Rekenkunde van de reele getallen, gebruik coordinaten, elementaire functies, berekening van<br />

limieten, afgeleiden en eenvoudige integralen<br />

Doelstelling<br />

* Basiskennis calculus en statistiek ter ondersteuning van informatica-vakken<br />

Studiemateriaal<br />

* "Calculus" van James Stewart - Brooks/Cole, ISBN 1-800-423-0563<br />

Inhoud<br />

* Calculus<br />

* Functies<br />

* Limieten<br />

* Continuiteit<br />

* Afgeleiden<br />

* Integralen<br />

* Rijen en reeksen<br />

+ Machtreeksontwikkelingen (Taylorpolynomen)<br />

+ Fourierreeksen<br />

* (eventueel complexe getallen).<br />

* Statistiek<br />

* frequentie en histogrammen<br />

* Belangrijke kansverdelingen (normale, Chi-kwadraat, t-verdeling, ...)<br />

* Parameterschattingen en betrouwbaarheidsintervallen<br />

* Lineaire & Logaritmische regressie<br />

» Inleiding Computersystemen<br />

6 studie punten<br />

Voorkennis<br />

* Nihil<br />

Doelstelling<br />

* @@Nihil@@<br />

Inhoud<br />

* overzicht computersystemen + korte geschiedenis<br />

* hierarchie, lagen-model van computersystemen<br />

* data representatie + getallenstelsels (binair, hexadecimaal, ...)<br />

* basis hardware: transistoren, logische poortjes, multiplexer, flip-flop, ...<br />

* basis computer architectuur: CPU, geheugen, bus, ...<br />

* von Neuman architectuur: fetch-execute cycle<br />

* basis s<strong>of</strong>tware: assembler & machinetaal<br />

* Operating Systems: memory management, process management, file management<br />

* applicaties: spreadsheets, databases, AI, ...<br />

* basis netwerken & www<br />

* beperkingen van computer simulaties<br />

» Talen en automaten<br />

6 studie punten<br />

Voorkennis<br />

* Elementaire verzamelingenleer (> Discrete wiskunde)<br />

Doelstelling


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 21/37<br />

* Inzicht krijgen in specificatie versus implementatie met behulp van automaten theorie en formele<br />

talen.<br />

Studiemateriaal<br />

* [vijf eerste ho<strong>of</strong>dstukken uit]: J. Hopcr<strong>of</strong>t, R. Motwani, J. Ullman, Introduction to Automata<br />

Theory, Languages, <strong>and</strong> Computation, Add. Wesley, 2001, http://wwwdb.stanford.edu/~ullman/ialc.html<br />

Inhoud<br />

* algemene inleiding van belangrijke<br />

* formele bewijzen, inductieve bewijzen, strings, automaten en talen<br />

* deterministische en niet-deterministische automaten,<br />

* equivalentie en aanvaarde talen<br />

* toepassing: text-search.<br />

* reguliere expressies en reguliere talen<br />

* verb<strong>and</strong> met eindige automaten<br />

* algebraische wetten voor reguliere expressies<br />

* toepassing: UNIX en zoeken naar patronen in teksten.<br />

* eigenschappen: pumping lemma, effect van Booleaanse expressies, homomorfismes,<br />

testen van equivalenties, emptyness en membership<br />

* context-vrije talen<br />

* parse trees uitgelegd<br />

* context-vrije talen (toegepast op YACC en XML)<br />

* ambiguiteit in context-vrije talen besproken.<br />

» Gegevensstructuren<br />

6 studie punten<br />

Voorkennis<br />

* vertrouwd met de grondslagen van een hogere programmeertaal (Oberon, C, Pascal, enz.)<br />

= alle aspecten van zo’n taal bestudeerd hebben + zelfst<strong>and</strong>ig kunnen toepassen op kleine en<br />

elementaire programmeerproblemen.<br />

[> Inleiding Programmeren]<br />

Competentie<br />

* Aan het eind van het opleidingsonderdeel gegevensstructuren zijn de studenten in staat om:<br />

(Zelfst<strong>and</strong>ig en in groep) voor eenvoudige, realistische informaticaproblemen oplossingen te<br />

ontwerpen en deze te implementeren in een concreet systeem, met behulp van denkprocessen en<br />

technieken die pr<strong>of</strong>essionele informatici gebruiken.<br />

* Of in meer detail:<br />

(Zelfst<strong>and</strong>ig en in groep) voor eenvoudige, realistische informaticaproblemen<br />

(1) oplossingen te ontwerpen volgens de principes van object-oriented design (OOD), abstract<br />

data types (ADT) en top-down design (TDD) en<br />

(2) deze oplossingen op deskundige wijze te implementeren in een concreet systeem met<br />

weloverwogen keuzes betreffende de organisatie van de gegevens (de gegevensstructuren).<br />

Doelstelling<br />

* Een onderscheid kunnen maken tussen het ontwerp van een oplossing enerzijds en de realisatie<br />

van een concreet systeem <strong>and</strong>erzijds, en dit ook voor elk gegeven probleem doen (= attitude).<br />

* De principes van object-oriented design, abstract data types en top-down design kunnen toepassen<br />

in de ontwerpfase (= kennis+vaardigheid+attitude).<br />

* Programmeervaardigheden verfijnen en de geschikte gegevensstructuren kunnen kiezen voor de<br />

implementatie van een concreet systeem (= kennis+vaardigheid).<br />

* Het tot een gewoonte maken elk stukje programma, hoe klein ook, goed te documenteren<br />

(=attitude).<br />

Inhoud<br />

* Programmeerprincipes en s<strong>of</strong>tware engineering


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 22/37<br />

* Gegevensabstractie<br />

* ADT geordende lijst<br />

* Recursie<br />

* Acht koninginnen probleem - backtracking<br />

* Towers <strong>of</strong> Hanoi<br />

* Searching<br />

* Sequentieel<br />

* Binair<br />

* Efficiëntie (O)<br />

* ADT stack<br />

* Algebraïsche uitdrukkingen<br />

* haakjes controleren<br />

* evalueren (infix, prefix, postfix)<br />

* ADT queue<br />

* Bomen<br />

* ADT binaire boom<br />

* ADT binaire zoekboom<br />

* Tabellen<br />

* ADT tabel<br />

* ADT priority queue<br />

* Heaps -heapsort<br />

* 2-3 bomen<br />

* AVL bomen<br />

* Hashing<br />

* Gegevens met meerdere organisaties<br />

* Externe methoden<br />

* Externe mergesort<br />

* Zoeken in externe tabellen<br />

* Indexeren van externe best<strong>and</strong>en<br />

* Externe hashing<br />

* B-bomen<br />

* Multiple indexing<br />

» Inleiding S<strong>of</strong>tware Engineering<br />

6 studie punten<br />

Voorkennis<br />

- Programmeren in een objectgerichte programmeertaal (> Inleiding Programmeren)<br />

- Lineaire Regressie (> Calculus en Statistiek)<br />

Doelstelling<br />

* Eerste kennismaking met beheersing van informatica-projecten<br />

* Voorbereiden op gevorderd programmeren<br />

Inhoud<br />

* Polymorphisme, gebruik van overerving<br />

* Testen, Contracten (pre- & post condities), Tijdsschatting<br />

* Beperkte vorm van UML<br />

* Toepassen van bovensta<strong>and</strong>e<br />

* Vergelijking van syntaxbeschrijvingen a.h.v. EBNF<br />

» Computernetwerken<br />

6 studie punten<br />

Voorkennis


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 23/37<br />

* Discrete Wiskunde<br />

Doelstelling<br />

* Inzichten in de belangrijkste protocollen van de verschillende lagen van het OSI-model<br />

Inhoud<br />

* De nadruk wordt gelegd op essentiele mechanismen en algoritmen die gebruikt worden in de<br />

verschillende lagen, met speciale a<strong>and</strong>acht voor de protocols die in het Internet worden gebruikt<br />

(Ethernet, IP, TCP, HTTP...)<br />

* fysische laag (signalen in tijds- en frequentiedomein, analoge en digitale signalen,...),<br />

* medium access control laag (LAN protocols zoals Ethernet)<br />

* datalink laag (foutdetectie en correctie, flow controle)<br />

* netwerk laag (het IP protocol)<br />

* transport laag (TCP en UDP protocols)<br />

* applicatielaag (HTTP, mail,...)<br />

* netwerk security<br />

» Computer Graphics<br />

6 studiepunten<br />

Voorkennis<br />

* Inleiding programmeren<br />

* Basiskennis Discrete Wiskunde en Calculus<br />

Studiemateriaal<br />

* F. S. Hill Jr., Computer Graphics using OpenGl, Prentice Hall 2001, ISBN 0-02-354856-8.<br />

Doelstelling<br />

* overzicht geven van de grafische technieken<br />

* brug te maken tussen wiskunde en informatica<br />

Inhoud<br />

@@Nog na te kijken: Frans Arickx@@<br />

Vakbeschrijvingen 2de BAC<br />

» Numerieke Lineaire Algebra<br />

9 studie punten<br />

Voorkennis<br />

* Discrete Wiskunde<br />

* floating-point aritmetiek<br />

Doelstelling<br />

* @@Nihil@@<br />

Inhoud<br />

* Matrixrekening en oplossen van stelsels<br />

* elementair rekenen,<br />

* blokvermenigvuldiging,<br />

* rijechelonvorm van een matrix,<br />

* Gaussreductie,<br />

* determinanten<br />

* Algemene vectorruimten<br />

* voortbrengers,<br />

* basissen en dimensie voor eindigdimensionale vectorruimten,<br />

* direkte som en direkt product,<br />

* nulruimte en kolommenruimte en rang van een matrix,<br />

* lineaire afbeeldingen en matrixvoorstelling,<br />

* eigenwaarden en eigenvectoren,


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 24/37<br />

* Normen, vector normen, matrix normen<br />

* Eindige precisie matrix rekenen, conditiegetal<br />

* Gestructureerde matrices (driehoeksmatrices, symmetrische matrices, ...)<br />

* Numeriek oplossen stelsels lineaire vergelijkingen: directe methoden<br />

* Round<strong>of</strong>f analyse van Gaussische eliminatie<br />

* LU Factorisatie<br />

* Orthogonaliteit en Kleinste Kwadraten (QR factorisatie)<br />

* Numeriek oplossen stelsels lineaire vergelijkingen: iteratieve methoden<br />

* Numerieke berekening van eigenwaarden/eigenvectoren<br />

» Gevorderd Programmeren<br />

6 studie punten<br />

Voorkennis<br />

* Inleiding Programmeren<br />

* Inleiding S<strong>of</strong>tware Engineering.<br />

* praktische UNIX kennis (uit Computersystemen)<br />

Doelstelling<br />

* grondige kennismaking met de programmeertaal C++,<br />

* nadruk op het objectgeoriënteerd programmeren<br />

Studiemateriaal<br />

* The C++ Programming Language, B. Stroustrup, Addison-Wesley<br />

Inhoud<br />

* C++ syntax (specifiek objectgeoriënteerd programmeren zoals overerving en polymorfisme)<br />

* Theoretische noties (het substitutie principe, covariatie, en contravariatie)<br />

* C++ idiomen (typische taalgebruik in C++ programma’s)<br />

* Begrippen van UML (Unified Modeling Language)<br />

* Klasse ontwerp<br />

» Machines en Berekenbaarheid<br />

6 studie punten<br />

Voorkennis<br />

* talen en automaten<br />

Doelstelling<br />

* Studie van fundamentele eigenschappen van algoritmen<br />

Studiemateriaal<br />

Ho<strong>of</strong>dstuk 8 en de eerste helft van ho<strong>of</strong>dstuk 9 uit "Intoduction to Automata Theory,<br />

Languages <strong>and</strong> Computation", Hopcr<strong>of</strong>t, Motwani, Ullman, Addison-Wesley, 2001.<br />

Inhoud<br />

* Turing machines en hun talen, basisdefinities<br />

* Programmeertechnieken voor TM, Multitape TM<br />

* Turingmachines en computers, universele TM<br />

* Onbeslisbaarheid: niet-RE talen, diagonalizatie<br />

* Recursieve talen, universele taal<br />

* Onbeslisbare problemen voor TM, Stelling van Rice (evt in Algoritmen en complexiteit)<br />

» Algoritmen en Complexiteit<br />

6 studie punten<br />

Voorkennis<br />

* Machines en berekenbaarheid<br />

* Gegevensstructuren


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 25/37<br />

Doelstelling<br />

* Analyse van de complexiteit van algoritmen<br />

Studiemateriaal<br />

* [ho<strong>of</strong>dstukken ... uit]: J. Hopcr<strong>of</strong>t, R. Motwani, J. Ullman, Introduction to Automata Theory,<br />

Languages, <strong>and</strong> Computation, Add. Wesley, 2001, http://wwwdb.stanford.edu/~ullman/ialc.html<br />

Inhoud<br />

* (Eventueel) aanvullingen Pushdown automaten en contectvrije talen.<br />

* (Eventueel) een concreet niet-berekenbaar probleem: PCP.<br />

* Berekeningsmodellen en complexiteit: RAM, RASP, Turing Machine, uniforme en logaritmische<br />

complexiteit. Worst-case en average case complexiteit.<br />

* Toepassing op concrete algoritmen: lexicografisch ordenen, quicksort, heapsort, opzoeken van<br />

woorden.<br />

* Intractable problemen: P versus NP, algoritme van Kruskal, TSP.<br />

* NP problemen: SAT, 3SAT, reducties (bv naar hamiltonian circuit).<br />

* Plaatscomplexiteit, verb<strong>and</strong> met tijdscomplexiteit.<br />

* Ger<strong>and</strong>omizeerde algoritmen.<br />

» Computerarchitectuur en -organisatie<br />

9 studie punten<br />

Voorkennis<br />

* Inleiding Computersystemen<br />

* Inleiding Programmeren<br />

* Boolse algebra<br />

Doelstelling<br />

* @@Nihil@@<br />

Inhoud<br />

* Overview <strong>of</strong> Operating Systems<br />

* Processes, threads <strong>and</strong> microkernels<br />

* Concurrency, mutual exclusion, synchronisation<br />

* Deadlock <strong>and</strong> I/O management<br />

* Scheduling<br />

* Access-control <strong>and</strong> security<br />

* (practical) Unix shell programming, programming for concurrency<br />

* digitale logica<br />

* Boolse algebra + reductietechnieken,<br />

* basis logische componenten,<br />

* multiplexer, flip flops, finite state machines, ...<br />

* hierarchie, lagen-model van computersystemen<br />

* gevorderde data representatie + computer aritmetiek (hardware implementatie &<br />

consequenties)<br />

* RISC/CISC<br />

* Instructie Set Architectuur van een moderne computer (SPARC)<br />

* compilation/assembly process/linking/loading/executing - datapath en controle sectie<br />

* microarchitectuur & hardwired control (VHDL)<br />

* geheugenhierarchie<br />

* input & output<br />

* communicatie/networks<br />

* Java virtuele machine<br />

* trends in computerarchitectuur


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 26/37<br />

» Project Gedistribueerd Programmeren<br />

6 studiepunten<br />

Voorkennis<br />

* Gevorderd Programmeren<br />

Doelstelling<br />

* Deze cursus biedt een kennismaking met s<strong>of</strong>twareontwerp en met het werken in groep aan een<br />

s<strong>of</strong>twareontwikkelingsproject.<br />

* eerste kennismaking met een basisarchitectuur uit gedistribueerde systemen (client-server, peerto-peer)<br />

Studiemateriaal<br />

* The Unified Modeling Language User Guide, G. Booch, J. Rumbaugh, I. Jacobson, Addison-<br />

Wesley<br />

* Design Patterns, E. Gamma, R. Helm, R. Johnson, J. Vlissides, Addison-Wesley<br />

Inhoud<br />

* summier overzicht s<strong>of</strong>twareontwikkelingtraject<br />

* analyse en ontwerp<br />

* Unified Modeling Language (UML)<br />

* Design Patterns<br />

* Toegepast a.h.v. project in groepen van vier tot zes personen<br />

* Project maakt typisch gebruik van een gedistribueerde s<strong>of</strong>tware architectuur<br />

» Databases<br />

6 studie punten<br />

Voorkennis<br />

* @@Nihil@@<br />

Doelstelling<br />

* inleiding in de database systemen<br />

* ontwerpen van database toepassingen<br />

* gebruik van SQL als datbase management taal<br />

Studiemateriaal<br />

* J. Ullman, J. Widom, A First Course in Database Systems, Prentice Hall, 2001, http://wwwdb.stanford.edu/~ullman/fcdb.html<br />

Inhoud<br />

* illustratie van database processen en de ontwikkeling van database toepassingen<br />

* databse modeling (entity-relation model)<br />

* definitie relationele database model & relationele algebra<br />

* SQL (queries, updates, triggers en constraints)<br />

* koppeling van databases met het Web<br />

* onderbouw en de basisbegrippen van databases<br />

* ontwerp van databases (functionele afhakelijkheden, de lijst-algebra, datalog, verschillende calculi<br />

en de expressieve kracht van SQL).<br />

Vakbeschrijvingen 3de BAC<br />

» Eindwerk<br />

9 studie punten<br />

Voorkennis<br />

* Maturiteit (Eerste twee bachelor-jaren succesvol beeindigd)<br />

Doelstelling<br />

* Ervaring verwerven met elders aangeleerde technieken (cfr. Databases, S<strong>of</strong>tware Engineering, …)


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 27/37<br />

* Schriftelijk zowel als mondeling rapporteren<br />

Inhoud<br />

* Project <strong>of</strong> stage met a<strong>and</strong>acht voor een <strong>of</strong> meer van de volgende aspecten<br />

* Uitbouwen van een concreet s<strong>of</strong>tware-systeem<br />

* Doorlopen van alle fases (specificatie, ontwerp, implementatie, testen, onderhoud,<br />

documentatie) van een s<strong>of</strong>tware project<br />

* Planning<br />

* Verantwoording technische keuzes<br />

» Databases, XML, Webtechnologie<br />

6 studie punten<br />

Voorkennis<br />

* Databases<br />

Doelstelling<br />

* @@Nihil@@<br />

Inhoud<br />

* Deel 1: aanvullende begrippen uit de database wereld.<br />

* transaction management<br />

* Locks en concurrency<br />

* Failures en recovery<br />

* veiligheid, optimizatie en betrouwbaarheid<br />

* Gedistribueerde en temporele databases<br />

* basisbegrippen van datamining<br />

* Deel 2: XML<br />

* semigestructureerde databases<br />

* ondervragings- en updatetechnieken voor XML<br />

* XQuery en XUpdate<br />

* DTD's en het verb<strong>and</strong> met HTML en XSLT<br />

* Deel 3: Web en hypermedia<br />

* de Three Tier architectuur<br />

* st<strong>and</strong>aarden als ODBC, COM en .NET<br />

De bedoeling is een overzicht van deze technieken en de fundamenten ervan te bieden,<br />

geen gedetailleerde bespreking.<br />

» Telecommunicatiesystemen<br />

6 studie punten<br />

Voorkennis<br />

* Computernetwerken<br />

Doelstelling<br />

* de architectuur en de werking van een aantal hedendaagse telecommunicatiesystmen te bespreken<br />

gebruik makend van het OSI referentie model<br />

(Dit betekent niet dat voor elk systeem alle lagen besproken worden. Er wordt een selectie<br />

gemaakt per systeem van de meest relevante aspekten)<br />

Inhoud<br />

* telefonienetwerken<br />

* SDH/PDH netwerken<br />

* ISDN netwerken<br />

* ATM netwerken<br />

* access netwerken (APON, EPON, ADSL/VDSL, HFC)<br />

* draadloze access netwerken (GSM, GPRS, UMTS)<br />

* Draadloze LANs (WiFi, Hiperlan)


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 28/37<br />

* De bovensta<strong>and</strong>e lijst wordt aangepast naargelang de evolutie.<br />

* Naast algemene principes die gebruikt worden voor het ontwerp en de werking van deze<br />

netwerken, worden ook architecturale aspecten beh<strong>and</strong>eld.<br />

* In het bijhorend praktisch deel van deze cursus wordt een eenvoudig protocol ontworpen, waarbij<br />

a<strong>and</strong>acht besteed wordt aan de specificatie, ontwerp, ontwikkeling (programmeren), testen van<br />

het protocol.<br />

» Wetenschappelijk programmeren<br />

6 studie punten<br />

Voorkennis<br />

* Calculus en Statistiek, Numerieke Lineaire Algebra<br />

Doelstelling<br />

* @@Nihil@@<br />

Inhoud<br />

* Voor elk onderwerp wordt uitgegaan van een toepassing in de informatica<br />

(beeldverwerking, robotica, FPU implementatie, ...) en aansluitend daarop<br />

de theorie aangebracht.<br />

* Beide delen maken intensief gebruik van visualisatie-s<strong>of</strong>tware zoals<br />

aangeboden in Maple, Matlab, Mathematica, GrafEq, ...<br />

* Formeel model onderliggend aan de IEEE754-854 st<strong>and</strong>aard<br />

* I1. Oplossen van een niet-lineaire vergelijking<br />

* I2. Oplossen van een stelsel niet-lineaire vergelijkingen<br />

* I3. Veelterminterpolatie<br />

* I4. Splines (t/m natuurlijke kubische die in de industrie gebruikt worden)<br />

* I5. Kleinste kwadraten modellen<br />

* I6. Rationale modellen<br />

* I7. Functiebenadering (niet discreet)<br />

* I8. Kwadratuur (inclusief Monte Carlo en RNG)<br />

* I9. Extrapolatie<br />

» S<strong>of</strong>tware Engineering<br />

6 studie punten<br />

Voorkennis<br />

* Gevorderd programmeren<br />

* Project ervaring (> Inleiding S<strong>of</strong>tware Engineering & S<strong>of</strong>tware ontwerp)<br />

* Logica (>Discrete Wiskunde)<br />

* Lineaire en logaritmische regressie (> Calculus en Statistiek)<br />

* Verzamelingenleer, equivalentierelaties, partitie (> Discrete Wiskunde)<br />

Doelstelling<br />

* Overzicht van technieken om grote informatica-projecten tot een goed einde te brengen<br />

Inhoud<br />

* S<strong>of</strong>tware levenscyclus(Behoeften specificatie, Analyse, Ontwerp, Implementatie, Testen,<br />

Onderhoud)<br />

* Kwaliteitscontrole (reviews, ISO 9000, CMM, metingen)<br />

* Projectbeheer (Pert & Gantt, Kostschattingen)<br />

* Deontologie<br />

» Levensbeschouwelijk vak<br />

3 studie punten<br />

@@nog in te vullen: door wie @@


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 29/37<br />

» Compilers<br />

6 studie punten<br />

@@nog na te kijken: Dirk Janssens@@<br />

Voorkennis<br />

* talen en automaten,<br />

* een imperatieve programmeertaal (> Gevorderd Programmeren),<br />

* gegevensstructuren<br />

Doelstelling<br />

* @@Nihil@@<br />

Inhoud<br />

* Eerste deel: Aanvullingen voor de formele basistechnieken:<br />

* Pushdown automaten, parsing algoritmen, LL(k) en LR(k) gammatica's.<br />

* Attribuutgrammatica's<br />

* Tweede deel: structuur van een typische compiler voor een imperatieve programeertaal<br />

* geheugenorganizatie, run-time systeem<br />

* specificatie van de vertaling<br />

* de logische fazen van het compilatieproces<br />

* Derde deel: project<br />

* Er wordt, naast een inzicht in de besproken compilertechnieken, van de studenten<br />

verwacht dat zij die kunnen integreren tot een werkende compiler voor een eenvoudige<br />

imperatieve taal.


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 30/37<br />

Keuzevakken op <strong>Bachelor</strong>s Niveau<br />

Hieronder volgt een lijst keuzevakken die evntueel in 2de <strong>of</strong> 3de BAC gekozen kunnen worden.<br />

Voor elk van die keuzevakken geldt dat ze in principe geen voorkennis vereisen van <strong>and</strong>ere<br />

keuzevakken (eventueel wel van verplichte vakken).<br />

Overzicht Keuzevakken 2de BAC (12 st.pntn.)<br />

» Optie Computationele Wetenschappen<br />

* Programmeerparadigmas<br />

» Optie Databases<br />

* Hypermedia Systemen en Grafische User-Interfaces<br />

» Optie S<strong>of</strong>tware Engineering<br />

* Programmeerparadigma's<br />

» Optie Telecommunicatie<br />

* Netwerktoepassingen<br />

» Verbredend <strong>Informatica</strong><br />

* (Eventueel) Artificiële Intelligentie en Toegepaste Logica<br />

» Verbredend Interdisciplinair<br />

* Economie<br />

Eigenlijk willen we hier af van het vak Economie zoals het nu wordt gegeven. Het moet eerder een<br />

praktisch vak zijn dat studenten leert hoe ze een bedrijfsbalans moeten lezen, wat het principe van<br />

een dubbele boekhouding is, hoe ze een budget over verschillende jaren moeten opstellen (incl.<br />

afschrijvingen), hoe ze risico's dienen te verrekenen, ... Een overzicht van macro-economische<br />

modellen is mooi megenomen, maar mag niet de ho<strong>of</strong>dmoot zijn.<br />

Daaromtrent zullen we nog moeten onderh<strong>and</strong>elen met de faculteit TEW<br />

* Rapportage- en presentatie technieken<br />

Eigenlijk willen we hier een extra interdepartementeel keuzevak dat door de faculteit wordt<br />

ingericht, en waar presentatie-technieken en rapportage technieken worden aangeleerd op<br />

<strong>Bachelor</strong>s niveau.<br />

Overzicht Keuzevakken 3de BAC (18 st.pntn.)<br />

» Optie Computationele Wetenschappen<br />

* Inleiding Gedistribueerd Programmeren<br />

* Systeemtheorie<br />

» Optie Databases<br />

* Datamining<br />

» Optie S<strong>of</strong>tware Engineering<br />

* Formele technieken in de S<strong>of</strong>tware Engineering


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 31/37<br />

» Optie Telecommunicatie<br />

* Netwerk protocols<br />

» Verbredend <strong>Informatica</strong><br />

* Robotica<br />

* Grafische en Visualisatietechnieken<br />

* Beeldverwerking<br />

» Verbredend Interdisciplinair<br />

* Nihil


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 32/37<br />

CURRICULUM MASTER<br />

Legende overzichtstabellen<br />

Voor deze overzichtstabellen geldt de volgende interpretatie. Zie ook de uitleg bij Legende<br />

overzichtstabellen, p. 17<br />

Legende: SEM1 = #studiepunten in 1rste semester;<br />

SEM2 = #studiepunten in 2de semester;<br />

JAAR = totaal #studiepunten per jaar;<br />

T = # contactuur theorie;<br />

P = #contactuur practicum;<br />

I = #uur individuele studietijd<br />

Overzichtstabel <strong>Master</strong> <strong>Informatica</strong><br />

SEM1 SEM2 JAAR T P I Docent <br />

seminarie 1.5 1.5 3 30 -- alle ZAP --<br />

eindverh<strong>and</strong>eling 10.5 10.5 21 600 -- alle ZAP --<br />

keuzevakken 18 18 36 180 180 -- keuze<br />

TOTAAL 30 30 60 210 180 600<br />

Elke student informatica zal één optie kiezen uit de aangeboden opties (Computationele<br />

Wetenschappen, Databases, Optie S<strong>of</strong>tware Engineering, Optie Telecommunicatie). De keuze<br />

gebeurt de facto door het kiezen van een thesisonderwerp aan het einde van de 3de BAC. Naast de<br />

thesis moet minimum 18 studiepunten specifiek aan de optie gevolgd worden, waarbij een aantal<br />

studiepunetn al tijdens de <strong>Bachelor</strong> kunnen verdiend worden. De rest van de studiepunten is vrij.<br />

Lijst keuzevakken per optie<br />

De lijst keuzevakken is nog niet definitief (de meeste vakken moeten slechts binnen 3 jaar<br />

georganiseerd worden) maar heeft wel een goed beeld van wat in de master allemaal mogelijk zal<br />

zijn.<br />

» Specialisatie: Optie Databases<br />

* Databases III – J. Paredaens<br />

* Hypermedia systemen en structuren + Grafische user interfaces – P. De Bra<br />

* Datamining – T. Calders<br />

* Capita Selecta Databases – samen met TU/e<br />

* Constraint checking – M. Gyssens<br />

* Computationele Complexiteit – J. Van den Bussche<br />

* Advanced Transaction Management – J. Hidders<br />

* Spatio Temporele Databasesystemen met Toepassingen in GIS – geleend bij LUC<br />

* Information Retrieval – geleend TU/e<br />

* Web-based Information Systems – geleend TU/e<br />

» Specialisatie: Optie Telecommunicatie<br />

* Telecom Labo – C. Blondia + J. De Sitter<br />

* Netwerk protocols – C. Blondia<br />

* Netwerk toepassingen – J. De Sitter<br />

* Prestatie-analyse van telecomsystemen – C. Blondia<br />

* Fysische aspecten van telecomsystemen – T. DHaene<br />

* Andere vakken – geleend bij UGent


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 33/37<br />

» Specialisatie: Optie S<strong>of</strong>tware Engineering<br />

* Programmeerparadigmas (functioneel en logisch programmeren) – D. Janssens / B. erdonck<br />

* Visuele talen voor S<strong>of</strong>tware Engineering – D. Janssens<br />

* Object-Oriented reengineering – S. Demeyer<br />

* Formele technieken in de S<strong>of</strong>tware Engineering – D. Janssens + S. Demeyer<br />

* Advanced S<strong>of</strong>tware Engineering – V. Jonckers --geleend VUB--<br />

* OO S<strong>of</strong>tware Engineering – T. D'Hondt --geleend VUB--<br />

* Embedded Systems – --samenwerking KdG--<br />

» Specialisatie: Optie Computationele Wetenschappen<br />

* Numerieke Benaderingsleer – A. Cuyt<br />

* Systeemtheorie – T. Dhaene<br />

* Gevorderde Symbolische en Numerieke Technieken – B. Verdonck<br />

* Gedistribueerd Programmeren – J. Broeckhove<br />

* Distributed Computing paradigmas<br />

* Case Studies in Gedistribueerde Technologieen<br />

* Gevorderde Numerieke Algebra – A. Cuyt, B. Verdonk<br />

* Grafische Technieken voor wetenschappelijke Visualisatie – F. Arickx<br />

* Capita Selecta van de Computationele Wetenschappen – F. Arickx, J. Broeckhove, …<br />

* Optimalisatietechnieken – B. Verdonk<br />

* Simulatietechnieken – T. DHaene<br />

» Verbredend: Beeldverwerking<br />

* Beeldverwerking – D. Van Dyck<br />

* Wiskundige Methoden van de Beeldverwerking – A. Verschoren<br />

» Verbredend: Artificiele Intelligentie<br />

* Taaltechnologie – W. Daelemans<br />

* Capita Selecta Computerlinguïstiek – W. Daelemans, G. Durieux<br />

* Natuurlijke taalverwerking – E. Gillis, G. Durieux<br />

* Neurale netwerken – E. De Schutter<br />

* Robotica – B. Verdonk en R. Penne<br />

» Verbredend: Computer Hardware – –<br />

* Systeemprogrammatie – J. De Sitter<br />

* Digitale communicatie – J. Sijbers<br />

* Digitale technieken – S. Peeters<br />

» Verbredend: Wiskunde<br />

* Grafentheorie – C. Van Nuffelen / B. Van Houdt<br />

* Elementaire kanstheorie – A. Struyf<br />

* Elementaire statistiek – A. Struyf<br />

* Algoritmen meetkundige toep. – R. Penne<br />

» Verbredend: Economie<br />

* Elementen van bedrijfseconomie – N (O. Van Waas)<br />

» Verbredend: Wetenschappelijke Vorming<br />

* Wetenschapskritiek – E. Oger<br />

* Wetenschap en schrijven – G. Lernout, G. Morreel


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 34/37<br />

* Studium Generale – C. Van Broekckhoven


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 35/37<br />

CURRICULUM AANVULLENDE STUDIE INFORMATICA<br />

Legende overzichtstabellen<br />

Voor deze overzichtstabellen geldt de volgende interpretatie. Zie ook de uitleg bij Legende<br />

overzichtstabellen, p. 17<br />

Legende: SEM1 = #studiepunten in 1rste semester;<br />

SEM2 = #studiepunten in 2de semester;<br />

JAAR = totaal #studiepunten per jaar;<br />

T = # contactuur theorie;<br />

P = #contactuur practicum;<br />

I = #uur individuele studietijd<br />

Overzichtstabel <strong>Master</strong> Aanvullende Studuie <strong>Informatica</strong><br />

SEM1 SEM2 JAAR T P I<br />

gegevensstructuren 6 6 30 30 E. Laenens<br />

telecommunicatie en<br />

computersystemen<br />

6 6 30 30 C. Blondia<br />

/ T. D'Haene<br />

/ J. De Sitter<br />

databanken 6 6 30 30 J. Paredaens<br />

wetenschappelijk 6 6 30 30 A. Cuyt<br />

programmeren<br />

s<strong>of</strong>tware engineering 6 6 15 50 S. Demeyer<br />

technieken uit de<br />

informatica<br />

3 3 6 30 30 -- interdisciplinair<br />

docententeam<br />

keuzevak(ken) 6 6 30 30 -- keuze<br />

eindverh<strong>and</strong>eling 9 9 18 500 -- alle ZAP --<br />

TOTAAL 30 30 60 195 230 500


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 36/37<br />

CURRICULUM MINOR WISKUNDE-INFORMATICA<br />

SEM1 SEM2 JAAR T P<br />

computer systemen<br />

(cf. 1BAC)<br />

6 6 30 30 T. DHaene<br />

/ J. De Sitter<br />

databases<br />

6 6 30 30 Jan Paredaens<br />

(cf. 2BAC)<br />

inleiding s<strong>of</strong>tware<br />

6 6 15 60 Serge Demeyer<br />

engineering (cf. 1BAC)<br />

computernetwerken 6 6 30 30 Chris Blondia<br />

(cf. 1BAC)<br />

numerieke<br />

6 30 30 Anie Cuyt<br />

benaderingsleer<br />

(1rste MAS)<br />

TOTAAL 12 12 30 135 180


Curriculum <strong>Bachelor</strong> & <strong>Master</strong> <strong>Informatica</strong> (versie 1.1) – 37/37<br />

REFERENTIES<br />

[1] Zelfstudie <strong>Informatica</strong> ten behoeve van de onderwijsvisitatie. Onderwijscommissie<br />

<strong>Informatica</strong>, Universiteit Antwerpen, Juni 2001.<br />

[2] De onderwijsvisitatie <strong>Informatica</strong>, Toegepaste <strong>Informatica</strong> en Burgerlijk Ingenieur in de<br />

Computerwetenschappen aan de Vlaamse universiteiten, Vlaamse Interuniversitaire<br />

Raad, Juli 2002.<br />

[3] Toekomstscenario's Opleiding <strong>Informatica</strong> (versie 0.3). Onderwijscommissie<br />

<strong>Informatica</strong>, Universiteit Antwerpen, 6 februari 2002.<br />

[4] Eindtermen Opleiding <strong>Informatica</strong> (versie 0.4). Onderwijscommissie <strong>Informatica</strong>,<br />

Universiteit Antwerpen, 29 november 2002.<br />

[5] Computing Curricula 2001 - Computer Science - Final report, The Joint task Force on<br />

Computing Curricula, IEEE Computer Society, Association for Computing Machinery,<br />

December 15, 2001

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!