Bachelor & Master Informatica - Department of Mathematics and ...
Bachelor & Master Informatica - Department of Mathematics and ...
Bachelor & Master Informatica - Department of Mathematics and ...
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