Bachelor & Master Informatica Universiteit Antwerpen – Faculteit Wetenschappen Versie 1.2 - woensdag, 30 juni, 2004 Ter voorbereiding Onderwijscommissie — 7 juli 2004 Dit is een 'levend' document en wordt aangepast op basis van discussie en feedback. Het document is te vinden op http://www.win.ua.ac.be/~sdemey/BaMa/ Samenvatting De Informatica opleiding aan de Universiteit Antwerpen wordt —net zoals alle andere hogere opleidingen— gevraagd zich te reorganiseren naar het komende Bachelor/Master model. Liever dan enkele minimale aanpassingen door te voeren aan de huidige opleiding heeft de Onderwijscommissie Informatica ervoor gekozen om de opleiding grondig te hervormen, mede op basis van de aanbevelingen geformuleerd tijdens de net afgelopen visitatieronde. Dit document bevat dan ook de neerslag van twee jaar aan intensieve discussies onder de vorm van een concreet curriculum voor een 3-jarige Bachelor gevolgd door een 1-jarige Master opleiding. Zo decretale beperkingen worden opgegeven willen we deze 1-jarige Master uitbouwen tot een volwaardige 2-jarige opleiding. Veranderingen t.o.v. versie 1.1 (onderwijscommissie 12 juni) - enkele kleinere wijzigingen (spelling, onduidelijkheden, …) - referenties naar andere disciplines (natuurkunde, economie) in kerncompetenties en eindtermen afgezwakt - eindtermen voor Computationele Wetenschappen aangepast (o.a., gedistribueerd programmeren toegevoegd voor bachelor) - enkele verschuivingen in keuzevakken Computationele Wetenschappen - vakinhoud voor gevorderd programmeren in twee versies, een Java en een C++ versie. Jan Broeckhove stelt voor Java als algemene voertaal te gebruiken in 2de BAC, er is weerstand van de studentenvertegenwoordiging. Vandaar het voorstel om dit als eerste punt te nemen van de kwaliteitszorgvergaderingen van academiejaar 2004-2005 - vakinhoud "Project gedistribueerd programmeren" aangepast - vakinhoud "Algoritmen en Complexiteit" aangepast - vakinhoud "Compilers" ingevuld - eindtermen "Software Engineering", "Computer Systemen", "Theoretische Informatica" lichtjes aangepast conform status van de vakken "Compilers", "Algoritmen en Complexiteit", "Logica" - wiskunde wat afgezwakt in de eindtermen "Formeel Denken" en "Wetenschappelijke basis" - doelstellingen voor "Numerieke Lineaire Algebra" en "Wetenscahppelijk programmeren" ingevuld - Hernoeming van het vak "Robotica" in "Gevorderde AI technieken en Robotica". Argumentatie Brigitte Verdonk: Op dit ogenblik (huidig curriculum) komen robotica-onderwerpen aan bod in het vak Capita Selecta AI (B. Verdonk) en het vak Computationele Meetkunde (R. Penne). Een goede mengeling van beide vakinhouden krijgt dan beter de naam "Gevorderde AI technieken en Robotica" eerder dan kortweg robotica. Die gevorderde technieken zijn noodzakelijk voor robotica, maar hebben ook talloze andere toepassingen, onder andere in spraakherkenning.
Curriculum Bachelor & Master Informatica (versie 1.1) – 2/39
- eindtermen van Artificiele Intelligentie werden aangepast (Essentieel werd Belangrijk; Belangrijk werd Nuttig) - In het 2e BAC gaat Databases van het 2e semester naar het 1e semester (zo wordt de druk van de projecten in de 2de semester verlaagd) - titel en vakinhoud van het vak "Calculus en Statistiek" in het 1e BAC wordt gewijzigd in "Calculus" - toevoegen keuzevak "Statistiek" op bachelors-niveau in de categorie "Verbredend: Wiskunde" - toevoegen keuzevak "Calculus en Discrete Wiskunde" op masters-niveau in de categorie "Verbredend: Wiskunde" Openstaande problemen - in 3de BAC vallen er 2,5 projecten in 2de semester (eindwerk + telcommunicatiesystemen + compilers). Ook in 1rste semester 1,5 project (eindwerk + wetenschappelijk programmeren)
Inhoudstafel INLEIDING ................................................................................................................................. 5 DOELSTELLING ........................................................................................................................ 6 Beroepsprofielen...................................................................................................................... 6 » Bachelor ........................................................................................................................... 6 » Master .............................................................................................................................. 6 » Lange termijn ................................................................................................................... 6 Kerncompetenties .................................................................................................................... 7 » Bachelor ........................................................................................................................... 7 » Master (1 jaar - 60 studiepunten)....................................................................................... 8 » Master (2 jaar - 120 studiepunten)..................................................................................... 9 MODULAIR OVERZICHT ....................................................................................................... 10 Bachelor................................................................................................................................. 10 Master.................................................................................................................................... 10 Eindtermen Bachelor.................................................................................................................. 11 Software Engineering............................................................................................................. 11 Databases............................................................................................................................... 11 Telecommunicatie.................................................................................................................. 12 Computationele wetenschappen ............................................................................................. 12 Artificiële intelligentie ........................................................................................................... 12 Computer systemen................................................................................................................ 13 Theoretische informatica........................................................................................................ 13 Formeel denken ..................................................................................................................... 13 Wetenschappelijke basis ........................................................................................................ 13 Maatschappelijke vorming ..................................................................................................... 14 Eindtermen Master ..................................................................................................................... 15 Databases............................................................................................................................... 15 Software engineering ............................................................................................................. 15 Telecommunicatie.................................................................................................................. 16 Computationele wetenschappen ............................................................................................. 16 Wetenschappelijke basis ........................................................................................................ 16 Maatschappelijke vorming ..................................................................................................... 17 CURRICULUM BACHELOR ................................................................................................... 18 Legende overzichtstabellen .................................................................................................... 18
Curriculum Bachelor & Master Informatica (versie 1.1) – 3/39
Overzichtstabel 1rste BAC ..................................................................................................... 19 Overzichtstabel 2de BAC....................................................................................................... 19 Overzichtstabel 3de BAC....................................................................................................... 19 Vakbeschrijvingen 1rste BAC ................................................................................................ 20 » Inleiding programmeren.................................................................................................. 20 » Discrete Wiskunde.......................................................................................................... 20 » Calculus & Statistiek ...................................................................................................... 21 » Inleiding Computersystemen........................................................................................... 21 » Talen en automaten......................................................................................................... 21 » Gegevensstructuren......................................................................................................... 22 » Inleiding Software Engineering....................................................................................... 23 » Computernetwerken........................................................................................................ 23 » Computer Graphics ......................................................................................................... 24 Vakbeschrijvingen 2de BAC .................................................................................................. 24 » Numerieke Lineaire Algebra ........................................................................................... 24 » Gevorderd Programmeren............................................................................................... 25 » Machines en Berekenbaarheid......................................................................................... 25 » Algoritmen en Complexiteit............................................................................................ 26 » Computerarchitectuur en -organisatie.............................................................................. 26 » Project Gedistribueerd Programmeren............................................................................. 27 » Databases........................................................................................................................ 27 Vakbeschrijvingen 3de BAC .................................................................................................. 28 » Eindwerk ........................................................................................................................ 28 » Databases, XML, Webtechnologie .................................................................................. 28 » Telecommunicatiesystemen ............................................................................................ 29 » Wetenschappelijk programmeren .................................................................................... 29 » Software Engineering...................................................................................................... 30 » Levensbeschouwelijk vak ............................................................................................... 30 » Compilers ....................................................................................................................... 30 Keuzevakken op Bachelors Niveau............................................................................................. 32 Overzicht Keuzevakken 2de BAC (12 st.pntn.) ...................................................................... 32 » Optie Computationele Wetenschappen............................................................................ 32 » Optie Databases .............................................................................................................. 32 » Optie Software Engineering ............................................................................................ 32 » Optie Telecommunicatie ................................................................................................. 32 » Verbredend Informatica .................................................................................................. 32 » Verbredend Wiskunde .................................................................................................... 32 » Verbredend Interdisciplinair ........................................................................................... 32 Overzicht Keuzevakken 3de BAC (18 st.pntn.) ...................................................................... 32 » Optie Computationele Wetenschappen............................................................................ 32 » Optie Databases .............................................................................................................. 32 » Optie Software Engineering ............................................................................................ 33 » Optie Telecommunicatie ................................................................................................. 33 » Verbredend Informatica .................................................................................................. 33 » Verbredend Interdisciplinair ........................................................................................... 33 CURRICULUM MASTER ........................................................................................................ 34 Legende overzichtstabellen .................................................................................................... 34 Overzichtstabel Master Informatica........................................................................................ 34 Lijst keuzevakken per optie.................................................................................................... 34 » Specialisatie: Optie Databases......................................................................................... 34 » Specialisatie: Optie Telecommunicatie............................................................................ 34 » Specialisatie: Optie Software Engineering....................................................................... 35
Curriculum Bachelor & Master Informatica (versie 1.1) – 4/39
» Specialisatie: Optie Computationele Wetenschappen ...................................................... 35 » Verbredend: Graphics en Beeldverwerking ..................................................................... 35 » Verbredend: Artificiele Intelligentie................................................................................ 35 » Verbredend: Computer Hardware ................................................................................... 35 » Verbredend: Wiskunde ................................................................................................... 35 » Verbredend: Economie ................................................................................................... 35 » Verbredend: Wetenschappelijke Vorming....................................................................... 36 CURRICULUM AANVULLENDE STUDIE INFORMATICA................................................. 37 Legende overzichtstabellen .................................................................................................... 37 Overzichtstabel Master Aanvullende Studuie Informatica ...................................................... 37 CURRICULUM MINOR WISKUNDE-INFORMATICA.......................................................... 38 REFERENTIES ......................................................................................................................... 39
Curriculum Bachelor & Master Informatica (versie 1.1) – 5/39
INLEIDING Informatica is vandaag de dag alomtegenwoordig. Bij elke administratie fungeert informatica als een essentiëel element van de organisatie, ongeveer alle elektronische apparaten worden gestuurd door software en via het internet heeft de computer zijn opmars naar de huiskamer ingezet. Als gevolg daarvan is de vraag naar professionele informatici enorm gestegen, in zoverre zelfs dat het aanbod de vraag niet kan bijhouden. Anderzijds impliceert dit groeiend maatschappelijk belang een verhoogde eis naar kwaliteit, wat belangrijke consequenties heeft voor het opleidingsniveau van de informatici. Geconfronteerd met de vraag naar hooggekwalificeerde informatici, kiest de onderwijscommissie Informatica resoluut voor een opleiding van hoogwaardig wetenschappelijk niveau. Daartoe wil de onderwijscommissie de opleiding Informatica reorganiseren in functie van een 3-jarige Bachelor gevolgd door een 1- en op langere termijn een 2-jarige Master opleiding. Deze reorganisatie zal tevens gebeuren op basis van de visitatieronde, die bij de informatica tijdens het academiejaar 20012002 heeft plaatsgevonden [1], [2]. Als eerste stap van deze reorganisatie werd een discussietekst opgesteld waarin een aantal toekomstscenerio's werden uitgetekend [3]. Dat zijn er drie, te weten een Bachelor & Master Informatica (de huidige licentie Informatica) een Polyvalente Master (staat open voor Bachelors en/of Masters uit andere richtingen - vb. ASIB) en een Minor Informatica (Informatica als bijkomende opleiding naast een andere major - vb. Wiskunde-Informatica). Als tweede stap werden de eindtermen die moeten gelden voor een komende Bachelor/Master informatica gedefiniëerd [4]. Daartoe werd een eerste inventaris opgemaakt van alle competenties die een student tijdens zijn opleiding dient te verwerven, waarbij we doelbewust erg gedetailleerd zijn geweest om het verschil duidelijk te maken met andere informatica-gerelateerde opleidingen (industrieel en burgerlijk ingenieur, graduaat, handelsingenieur bedrijfsinformatica…). Deze eindtermen werden nagekeken door de dienst onderwijszaken UA en op basis van hun opmerkingen aangepast en in dit document opgenomen. Als derde en laatste stap leggen we het eigenlijke curriculum vast. Daarvoor zijn we vertrokken van * de richtlijnen die door de centrale UA onderwijscommissie werden opgesteld * het huidige curriculum met zijn gekende sterke en zwakke punten [1] * de aanbevelingen zoals geformuleerd door de visitatiecommissie [2] * gelijkwaardige curricula aangeboden door andere universiteiten * in het bijzonder, het "Computer Science" curriculum, zoals aanbevolen door de ACM/IEEE [5]
Curriculum Bachelor & Master Informatica (versie 1.1) – 6/39
DOELSTELLING Het ultieme doel van de opleiding Informatica aan de Universiteit is bekwame informatici af te leveren die in staat zijn om (a) op leidinggevend niveau te functioneren, (b) bij te dragen tot de nieuwe ontwikkelingen in de informatica, en (c) deze waar nodig te exploiteren binnen hun beroepscontext. Beroepsprofielen
Zoals bevestigd in het zelfstudierapport informatica [1] is de beroepscontext waarin onze studenten moeten functioneren enorm gevarieerd. Hij wordt in hoofdzaak bepaald door de sector waar de informatica wordt toegepast; zo is er bijvoorbeeld een hemelsbreed verschil tussen transactieverwerking in bankapplicaties en controlesystemen voor geautomatiseerde fabricageprocessen. Ook de soort organisatie heeft een niet te verwaarlozen invloed, aangezien KMO's en multinationals nu eenmaal verschillende eisen aan hun informatica afdeling stellen. Tenslotte is er ook een aanzienlijke jobmigratie, waardoor pas afgestudeerden —zeker in het begin van hun carrière— vaak in verschillende omgevingen zullen terechtkomen. Ondanks die grote variëteit is het toch nuttig enkele typische beroepsprofielen te definiëren. Het weze duidelijk dat die alleen als leidraad dienen, en dat de situatie op de werkvloer vaak een combinatie van de verschillende beroepsprofielen zal inhouden. Uit de enquêtes afgenomen ter voorbereiding van het zelfstudierapport [1], bleek namelijk dat het leeuwenaandeel van onze pas afgestudeerden tijdens hun eerste vier jaar van hun professionele carrière functioneren als analistprogrammeur of consulent. Maar de categorie "andere" was de op twee na grootste, wat een indicatie is voor de variatie aan beroepssituaties waarin onze afgestudeerden terechtkomen. » Bachelor
Een Bachelor Informatica moet in principe kunnen uitstromen naar de arbeidsmarkt, vandaar dat er daar enkele beroepsprofielen zijn voorzien. Toch is een Bachelor Informatica in hoofdzaak iemand die verondersteld wordt verder te studeren als Master Informatica. Analist-programmeur. Analyseert problemen en creëert software oplossingen. Werkt meestal in teamverband maar kan zelfstandig werken (5-tal personen). Eerstelijnshelper. Functioneert als een soort duivel-doet-al in een kleine onderneming, waarin hij een brede waaier aan problemen oplost (opzetten en beheren van netwerk, selectie van informatica platform, opleiden van gebruikers). » Master
Projectleider. Draagt de technische verantwoordelijkheid over een (onderdeel van) een groot softwareproject (groter dan 10 manjaar). Is in staat een kleine ploeg (5-tal personen) op technisch niveau te leiden, zodat die ploeg in staat is problemen te analyseren en software oplossingen te creëren. Consulent. Wordt ingehuurd om specifieke technische kennis en vaardigheden over te dragen; zowel aan andere informatici als aan managers. Vorser. Draagt bij tot de ontwikkeling van spitstechnologie, zowel in een academische als industriële context. » Lange termijn
Een Master Informatica moet in staat zijn om op termijn door te groeien naar een verantwoordelijke positie binnen een grote organisatie. De meest voor de hand liggende functie is die van
Curriculum Bachelor & Master Informatica (versie 1.1) – 7/39
Beleidsadviseur Informatica [CIO, EDP-Manager]. Adviseert de top van een groot bedrijf (directeur, manager) over strategische keuzes betreffende informatica infrastructuur. Zet die strategische keuzes om in actieplannen en zorgt voor de nodige opvolging ervan. Kerncompetenties
Onderstaande kerncompetenties zijn aangepast t.o.v. het Eindtermen 0.4 (Zaterdag 4 november). Deze aanpassingen zijn gebeurd op basis van de terugkoppeling door de centrale onderwijsraad. Los van de variërende beroepssituaties zijn er een aantal kerncompetenties die steeds terugkeren en waar we onze studenten op willen voorbereiden. » Bachelor
Analyse en ontwerp voor kleinschalige software projecten. (Kleinschalig betekent dat het project valt te overzien door één persoon.) Begrijpen van een geïdentificeerd probleem en modelleren van een potentiële oplossing. Implementatie van nieuwe softwaresystemen. Al dan niet als deel van een team, een gegeven basisontwerp omzetten in een werkend programma. Verfijnen van het basisontwerp (vb., geschikte interface ontwerpen), selecteren van te gebruiken software, integratie van bestaande componenten. Onderhoud van bestaande softwaresystemen. Aanpassing van bestaande programma's aan veranderingen in mogelijkheden van zowel hardware als software (upgrades). In beperkte mate, aanpassing van bestaande programma's aan veranderde behoeften. Implementatie en onderhoud van een databank. Gegevensmodel voor een databank kunnen opstellen en implementeren. In beperkte mate, bestaande databanken aanpassen in functie van veranderende behoeften. Beheer van een lokaal netwerk. Selectie van geschikte netwerkinfrastructuur en protocollen. Uitvoeren van de nodige verbeteringen om schaal- en performantie problemen aan te pakken. Support en advies. Oplossen van problemen, helpdesk functie; m.a.w. voldoende parate kennis bezitten om concrete software problemen (o.a. compatibiliteit, bestandsformaten, versiebeheer, installatie, …) op korte termijn op te lossen. In kleinere organisaties (KMO) advies over nieuwe automatiseringsprojecten (haalbaarheid, nut, benodigde apparatuur, ...). Communicatievaardigheden. Contacten met collega's en opdrachtgevers —zowel schriftelijk als mondeling— kunnen onderhouden. De volgende kerncompetenties vormen de essentie van wat een "academische" bachelor onderscheidt van een "professionele" bachelor (cf. graduaat). Het zijn dan ook hoofdzakelijk die competenties die een doorstroming van bachelor naar master mogelijk maken. Formeel denken. Een sterk wiskundige vorming geeft aanleiding tot het vlot omgaan met abstracte modellen om formele redeneringen en argumentaties mogelijk te maken. Een wiskundige vorming is bovendien nodig voor het begrijpen van de in de informatica gangbare wetenschappelijke technieken en methodes. Wetenschappelijk verwerken van data. De noodzakelijke vaardigheden en kennis hebben om data omtrent een informaticaprobleem (vb. netwerkperformantie, databank integriteit, algoritmische complexiteit) op een correcte manier te verzamelen, en die om te zetten in nuttige informatie. Opvolgen technologische ontwikkelingen. De vakliteratuur kunnen volgen (in hoofdzaak Engels) om op de hoogte te blijven van recente ontwikkelingen. Dit vereist een denkkader waarin de samenhang tussen de verschillende deelgebieden in de informatica wordt gevat.
Curriculum Bachelor & Master Informatica (versie 1.1) – 8/39
Eigen maken nieuwe technieken. In staat zijn om heel efficiënt nieuwe programmeertalen, databanktechnieken, netwerktechnologie te begrijpen en toe te passen waar nodig. Autonoom en creatief functioneren. Door zijn brede basisvorming is een bachelor in staat een complexe opdracht in deeltaken op te delen, elk van die deeltaken afzonderlijk uit te voeren en toch het groter geheel niet uit het oog te verliezen. Bovendien is een bachelor in staat tot zelfreflectie, zodat gelijkaardige opdrachten in het vervolg beter zullen worden uitgevoerd. Wetenschappelijke basis. Naast een gedegen kennis van de fundamentele begrippen, methodes en deelgebieden van de Informatica, ook een zicht op andere wetenschappelijke disciplines (o.a., wiskunde, maar afhankelijk van de interesse ook natuurkunde, economie, …) met hun gangbare wetenschappelijke technieken, methodes en beperkingen. » Master (1 jaar - 60 studiepunten)
Om te beginnen gelden alle kerncompetenties voor een master opleiding van 1 jaar. Analyse voor grootschalige informaticaprojecten. (Grootschalig betekent dat het geheel niet door één persoon valt te overzien.) Identificeren van taken die voor automatisering in aanmerking komen, begrijpen van de achterliggende bedrijfsprocessen, vastleggen van de overeenkomstige gebruikersbehoeften. Dit vereist de nodige kennis om vlot met personen actief in andere disciplines te communiceren. Ontwerp van grootschalige informaticasystemen. Abstractie en decompositie van het specifieke probleem om tot een haalbare oplossing te komen. Identificatie van componenten die kunnen bijdragen tot een oplossing (vb. software bibliotheek, type netwerk, soort databank). Documenteren van de gekozen oplossingen op verschillende niveau’s van abstractie. Originaliteit en creativiteit bezitten om een zo goed mogelijke oplossing te zoeken voor een gegeven probleem, of bestaande gedocumenteerde oplossingen aan te passen aan een nieuw probleem. Herstructureren van bestaande informaticasystemen. Identificatie van problematische componenten, selectie van de oplossingsstrategieën, doorvoeren van de nodige aanpassingen zonder de werking van het bestaande systeem te compromitteren. Kwaliteitscontrole. Tijdens het uitvoeren van informaticaprojecten de nodige controles voorzien om vooraf gespecificeerde kwaliteitsnormen te halen (cf.. betrouwbaarheid, onderhoudbaarheid, veiligheid, …). Na het uitvoeren van informaticaprojecten de nodige lessen kunnen trekken om de kwaliteitsnormen waar nodig te optimaliseren. Selectie van technieken, methodes, talen, architecturen, … rekening houdend met hun inherente beperkingen en het feit dat informatie over concrete oplossingen veelal commercieel is gekleurd (vandaar de nood aan een wetenschappelijke attitute). Het nemen van strategische beslissingen in dit verband: vb. hoe beveiligen we ons netwerk ? welk type databank ? welke rol voor formele specificaties ? Het wetenschappelijk motiveren van genomen beslissingen. Leiden van een groep informatici, met inbegrip van (a) het inschatten van de benodigde middelen (tijd, budget, apparatuur, mankracht, competenties); (b) taakverdeling op basis van technische competenties; (c) het plannen in de tijd van wanneer welke taken worden uitgevoerd; (d) het opvolgen en bijsturen van de planning. Rapporteren —zowel schriftelijk als mondeling— over de voortgang en status van informaticaprojecten aan opdrachtgevers (dus niet-informatici) en experten in andere disciplines.
Curriculum Bachelor & Master Informatica (versie 1.1) – 9/39
» Master (2 jaar - 120 studiepunten)
Naast alle kerncompetenties geldend voor een master opleiding van 1 jaar zal een master opleiding van 2 jaar bovendien de volgende kerncompetenties dienen te verwerven. Diepgang. Heeft theoretisch inzicht en praktische ervaring met instrumenten, technieken en methodes toegepast binnen wetenschappelijk onderzoek van een bepaald deelgebied van de informatica. Onderzoek en Ontwikkeling in een productgerichte omgeving. Dit houdt in (a) experimenten kunnen opzetten om vast te stellen of bepaalde technieken bruikbaar zijn voor zijn bedrijf; (b) herkennen van opportuniteiten om producten en productieprocessen te verbeteren; (c) inschatten van kosten en baten van nieuwe technieken en methodes; (d) nieuwe technieken aanwenden om een strategisch voordeel op de concurrentie te creëren. Fundamenteel Onderzoek in de informatica om door te stromen naar een doctoraat. Dit houdt in (a) inzicht hebben in de actuele onderzoeksvragen binnen een deelgebeid van de informatica; (b) in staat zijn om de implicaties van recente onderzoeksresultaten in te zien; (c) zelfstandig gepubliceerde resultaten of technieken kunnen toepassen in een nieuwe context.
Curriculum Bachelor & Master Informatica (versie 1.1) – 10/39
MODULAIR OVERZICHT Om een opleiding te definiëren die studenten voorbereid om bovenstaande kerncompetenties te verwervern splitsen we het curriculum op in een aantal modules. Daarbij maken we een sterk onderscheid tussen de bachelor —een brede basisvorming— en de Master opleiding — een specialisatie. Anderzijds zijn er een aantal elementen die inherent zijn aan een wetenschappelijke opleiding op academisch niveau, en die worden gebundeld in drie basispijlers. Bachelor
computersystemen
theoretische Informatica
artificiële intelligentie
computationele wetenschappen
telecommunicatie
databases
software engineering
Voor de bachelor opleiding voorzien we 7 basismodules (software engineering, databases, telecommunicatie, computationele wetenschappen, artificiële intelligentie, theoretische informatica, formeel denken computersystemen) die instaan voor de kennis en inzichten wetenschappelijke basis specifiek voor de informatica. Anderzijds zijn er drie basispijlers (formeel denken, maatschappelijke vorming wetenschappelijke basis en Figuur 1: Modulair overzicht Bachelor Informatica maatschappelijke vorming) die zorgen voor de noodzakelijke wetenschappelijke fundering (zie Figuur 1).
computationele wetenschappen
telecommunicatie
software engineering
Tijdens de Master opleiding bieden we vier opties aan: ß databases ß software engineering ß telecommunicatie ß computationele wetenschappen Deze opties sluiten nauw aan bij de aanwezige onderzoeksexpertise, zoals trouwens vereist voor een Master opleiding. Desalniettemin is het de bedoeling samen te werken met andere departementen en universiteiten om de nodige kwaliteitsgaranties te bieden.
databases
Master
wetenschappelijke basis
maatschappelijke vorming
Figuur 2: Modulair overzicht Master Informatica
Curriculum Bachelor & Master Informatica (versie 1.1) – 11/39
Eindtermen Bachelor In dit hoofdstuk sommen we de verschillende eindtermen op die gelden voor een bachelor informatica. Een eindterm wordt hier gedefinieerd als "wat gemeten kan worden in een examen", waarbij we de eindtermen zoveel mogelijk formuleren in een actieve zin (kunnen i.p.v. kennen). Het aantal eindtermen moet ook beperkt worden, bij voorkeur een 3-tal per module en per categorie. Bovendien splitsen we die eindtermen op in drie categorieën (a) essentieel — i.e. zonder die kan een student zichzelf geen Bachelor/Master noemen; (b) belangrijk — daaraan kunnen we een goede Bachelor/Master herkennen; (c) nuttig — hier kan een Bachelor/Master zich differentiëren van zijn medestudenten. Deze classificatie is nodig om de volgende vragen —die zich op korte termijn gaan stellen— te beantwoorden. Waar liggen de prioriteiten ? Aangezien we nu overgaan van een 2 + 2 naar een 3 + 1 of een 3 + 2 structuur, met de mogelijkheid om uit te stromen na 3 jaar, hebben we een instrument nodig om vast te leggen wat onze minimumnorm is voor studenten die afstuderen. Hoe verschilt onze opleiding van de andere ? In de nabije toekomst zullen we moeten vastleggen waarin onze opleiding verschilt van andere informatica-gerelateerde opleidingen (industrieel en burgerlijk ingenieur ICT, graduaat informatica, …). Wat zijn de toelatingsvoorwaarden voor de Master ? Binnenkort zullen we moeten onderhandelen over wat bachelors uit andere richtingen moeten kunnen als ze de Master informatica willen volgen. Wat verwachten we precies van een minor informatica ?Wat kunnen we eisen in het korte tijdsbestek van een minor ? Software Engineering
ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om … … te programmeren aan de hand van het objectgeoriënteerde paradigma in een gangbare programmeertaal (bijv. C++) … de basisconcepten van procedureel, objectgebaseerd, objectgeoriënteerd en generisch programmeren beheersen … de syntax en semantiek van een nieuwe programmeertaal zelfstandig en op een minimum aan tijd te leren … een programma met een zekere complexiteit (zoals een eenvoudige compiler) kunnen opbouwen vanuit een beschrijving van de gewenste deelmodules. BELANGRIJK: Een goede bachelor informatica is in staat om … … informaticaproblemen te specifiëren, analyseren, ontwerpen, programmeren en testen … bij te dragen tot het opstellen en opvolgen van een projectplan … vooraf gedefinieerde kwaliteitsnormen (cf.. betrouwbaarheid, onderhoudbaarheid, veiligheid, …) in zijn werk te bereiken … enkele veel gebruikte gedistribueerde software architecturen (client-server, peer-to-peer) toe te passen Databases
ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om … … een databank model op te stellen (o.a. via E-R diagrammen) … een databank te ontwerpen (rekening houdend met de normalisatietheorie) … een databank te ondervragen a.h.v. de Structured Query Language (SQL) … de gebruikerstoegang te controleren a.h.v. transacties (commit & rollback) … een databank te verbinden met het internet (o.a. via XML)
Curriculum Bachelor & Master Informatica (versie 1.1) – 12/39
BELANGRIJK: Een goede bachelor informatica is in staat om … … constraints en triggers te gebruiken … de expressieve kracht van ondervragingstalen te kunnen vergelijken … te snappen hoe databankqueries intern geoptimaliseerd worden NUTTIG: Een bachelor informatica kan uitblinken door … … de relationele algebra te begrijpen … de fysische ondervraag modellen begrijpen … weten hoe gegevens in een databank beveiligd kunnen worden ("security") … weten hoe een databank omgaat met ontbrekende informatie Telecommunicatie
ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om … … de belangrijkste protocollen uit de verschillende lagen van het OSI model (Ethernet, CRC fouten detectie, IP, TCP, HTTP, ....) te kunnen identificeren in een bestaand telecommunicatiesysteem. … een oplossing te bepalen voor een probleem uit een bepaalde laag van het OSI model op basis van standaard protocollen (zoals sliding window, kortste pad routering, etc.) … een eenvoudig communicatieprotocol te ontwikkelen (specificatie, ontwerp, implementatie, testen) en te analyseren (modeleren, prestatie, complexiteit) BELANGRIJK: Een goede bachelor informatica is in staat om … … te bepalen welke van de huidige telecommunicatietechnologiën (ISDN, ADSL, GSM, ATM,...) kan aangewend worden voor een bepaald probleem. … een probleem te ontbinden in deelproblemen volgens het OSI model en voor elk deelprobleem een gepaste oplossing te bepalen. Computationele wetenschappen
ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om … … de basisbegrippen van exact vs. floating-point rekenen te beheersen … numerieke algoritmes kunnen gebruiken voor typische problemen in de lineaire algebra, data fitting, data smoothing, functiebenadering, oplossen van een niet-lineaire vergelijking, kwadratuur, Monte Carlo methodes … de stabiliteit van een rekenalgoritme en de conditionering van een probleemstelling uit te drukken … basisconcepten van gedistribueerde verwerking beheersen en in een programma uitdrukken BELANGRIJK: Een goede bachelor informatica is in staat om … … gebruik te kunnen maken van bestaande Problem Solving Environments (Matlab, computer algebra systemen) en bestaande numerieke softwarebibliotheken … een overzicht te hebben van parallelle en gedistribueerde systemen en bijbehorende paradigma's van verwerking NUTTIG: Een bachelor informatica kan uitblinken door … … grote hoeveelheden wetenschappelijke gegevens aan de hand van een computer visueel te kunnen voorstellen Artificiële intelligentie
BELANGRIJK: Een goede bachelor informatica is in staat om … … de klassieke paradigma's van artificiële intelligentie (zoekstrategieën, kennisrepresentatie, kennisinferentie) te begrijpen
Curriculum Bachelor & Master Informatica (versie 1.1) – 13/39
… de typische AI zoekmethodes kunnen toepassen binnen hun context. Typische AI zoekmethodes zijn (a) heuristische zoekmethodes, (b) niet-deterministische, iteratieve zoekmethodes (simulated annealing, GA, ...), (c) spelspecifieke zoekmethodes … basistechnieken te beheersen voor het oplossen van planning en learning problemen NUTTIG: Een bachelor informatica kan uitblinken door … … kennisrepresentatietechnieken uit te breiden om rekening te houden met vage begrippen en onzekerheid … te weten waar en hoe AI technieken gebruikt worden in enkele recente toepassingen Computer systemen
ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om … … te weten hoe een computersysteem beveiligd kan worden ("security") … een overzicht hebben van een meest gebruikte computer & CPU architecturen … de basisbegrippen elektronica kunnen hanteren … een overzicht hebben van de typische opbouw van computersystemen (structuur van de hardware, rol van besturingssystemen vs. applicaties, lagere en hogere programmeertalen. BELANGRIJK: Een goede bachelor informatica is in staat om … … de structuur, het gebruik en de werking van informatica-tools (parsers, compilers, interpreters) begrijpen NUTTIG: Een bachelor informatica kan uitblinken door … … een besturingssysteem kunnen configureren en eventueel aanpassen … een besturingssysteem kunnen ontwerpen en implementeren Theoretische informatica
ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om … … formele logica te gebruiken in een informatica-context (vb. redeneren over pre- en postcondities, syntax vs. semantiek, model en interpretatie, samenhang met de theorie van programmeertalen) … eenvoudige formele modellen te gebruiken voor de beschrijving en analyse van algoritmen (bv automaten voor het herkennen van talen, turingmachines voor redeneringen over complexiteit) … complexiteitsanalyse van typische algoritmen (sorteren, zoeken) en bijhorende datastructuren (lijsten, hash-tabellen, bomen, …) te verrichten BELANGRIJK: Een goede bachelor informatica is in staat om … … voor enkele veel gebruikte algoritmes te bewijzen dat ze correct zijn … de concete betekenis in te zien van enkele belangrijke ideeen uit de complexiteitstheorie, zoals tractability, reducties en beslisbaarheid Formeel denken
ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om … … een basiskennis wiskunde (discrete wiskunde, algebra, analyse, kanstheorie) te gebruiken voor het oplossen van vraagstukken … op een formele manier te redeneren (vb. sluitend bewijs opstellen, niet-sluitende redenering herkennen) Wetenschappelijke basis
ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om … … de wetenschappelijke methodiek te begrijpen, hanteren en informatica daarop toepassen … rijen en reeksen kunnen gebruiken om functies te benaderen
Curriculum Bachelor & Master Informatica (versie 1.1) – 14/39
… toepassingen van matrixrekenen begrijpen (oplossen van stelsels) … standaard scalaire en vectorgrootheden kunnen gebruiken in een wetenschappelijke context, en buiten het formele karakter van de wiskundige definitie (grad, rot, div, laplaciaan, ...) … elementaire differentiaalproblemen kunnen oplossen BELANGRIJK: Een goede bachelor informatica is in staat om … … een basis aan statistiek kunnen gebruiken voor het modelleren van informatica problemen (schatten van verdeling binnen wachtrijen, schatten van de duurtijd van een project) NUTTIG: Een bachelor informatica kan uitblinken door … … basisprincipes van de fysica beheersen … een overzicht te hebben van scheikundige beginselen (anorganisch vs. organisch analysetechnieken - ...) … een overzicht te hebben van biologische beginselen (planten en dieren taxonomie) Maatschappelijke vorming
ESSENTIEEL: Een bachelor informatica moet minstens in staat zijn om … … te weten wanneer de deontologische code van toepassing is BELANGRIJK: Een goede bachelor informatica is in staat om … … basisbegrippen macro-economie (geldmarkt, betalingsbalans, Inflatie, ...) en microeconomie (vraag en aanbod, elasticiteit, marktvormen, …) juist te hanteren … de grote deelgebieden van het vakgebied, hun samenhang en hun evolutie te begrijpen. De grote deelgebieden zijn algoritmiek, programmeertalen, databases, computersystemen, computeraritmetiek, telecommunicatie, formele methoden. … een basisbegrip hebben van de wetenschapsfilosofie, in het bijzonder de grondslagen van de wiskunde en de theoretische computerwetenschappen NUTTIG: Een bachelor informatica kan uitblinken door … … zijn communicatievaardigheden, te weten zijn capaciteit om in groep te werken, efficiënt te vergaderen, te onderhandelen, mondeling te presenteren, schriftelijk te rapporteren
Curriculum Bachelor & Master Informatica (versie 1.1) – 15/39
Eindtermen Master In dit hoofdstuk sommen we de verschillende eindtermen op die gelden voor een Master informatica. Ook hier hanteren we als werkdefinitie voor een eindterm "wat gemeten kan worden in een examen", waarbij we de eindtermen zoveel mogelijk formuleren in een actieve zin (kunnen i.p.v. kennen). Net zoals voor de bachelor splitsen we de eindtermen op in drie categorieën (a) essentieel — i.e. zonder die kan een student zichzelf geen Bachelor/Master noemen; (b) belangrijk — daaraan kunnen we een goede Bachelor/Master herkennen; (c) nuttig — hier kan een Bachelor/Master zich differentiëren van zijn medestudenten. Met die classificatie willen we de volgende vragen kunnen beantwoorden. Wat is gemeenschappelijk tussen de verschillende opties ? Welke vakken moeten we openstellen tussen de verschillende opties en eventueel aanbieden als keuzevak in de Bachelor. Hoe organiseren we een interuniversitaire samenwerking ? Om met andere universiteiten (en departementen) te onderhandelen over het, moeten we weten wat we willen bereiken en welke expertise we eventueel moeten zoeken. Hoe gaan we onze opties profileren ? Om studenten aan te trekken, moeten we duidelijk maken wat we met de Master willen bereiken. Databases
ESSENTIEEL: Een Master informatica moet minstens in staat zijn om … … gedistribueerde databanken te gebruiken … XQuery te gebruiken op XML documenten … de taken van een Database Manager waar te nemen BELANGRIJK: Een goede Master informatica is in staat om … … de principes achter "temporal databases" te snappen … decision support systems te hanteren … datamining technieken te gebruiken om patronen in grote hoeveelheden data te herkennen NUTTIG: Een Master informatica kan uitblinken door … … een grafische user-interface te bouwen bovenop een databank … de voornaamste verschillen tussen relationele en andere soorten databanken (objectgerichte, XML, ...) op te sommen Software engineering
ESSENTIEEL: Een Master informatica moet minstens in staat zijn om … … aan de hand van formele specificatietechnieken precies vastleggen hoe een software component zich moet gedragen … een overzicht te hebben van de "state-of-the-art" software-ontwerp methodes en technieken (vb. software architectuur, design patterns, frameworks, …) … methoden, technieken en technologie voor het programmeren van gedistribueerde applicaties en systemen te beheersen BELANGRIJK: Een goede Master informatica is in staat om … … de interne structuur van een bestaand informatica-systeem te reorganiseren zonder de werking ervan te compromitteren … gedistribueerde applicaties te ontwikkelen op basis van Java technieken en vanuit Java toegankelijke technologieën
Curriculum Bachelor & Master Informatica (versie 1.1) – 16/39
… deel te nemen aan de kwaliteitscontrole van een informatica-project (vb. a.h.v. qualityreviews) … weet hebben van de voornaamste ontwerpprincipes voor het bouwen van user-interfaces NUTTIG: Een uitstekende Master informatica is in staat om … … voor een gegeven informaticaprobleem een goede oplossingsstrategie kiezen (welke technieken zijn het meest geschikt om het probleem te analyseren, specifiëren, ontwerpen, implementeren en te testen + argumentatie waarom) Telecommunicatie
ESSENTIEEL: Een Master informatica moet minstens in staat zijn om … … een systeem te ontwikkelen gebruik makend van de belangrijkste Internet protocollen (HTTP, FTP, IP, IPSec, TCP, UDP, Mobile IP, ...) … complexe communicatieprotocollen te ontwikkelen (specificatie, ontwerp, implementatie, testen) en te analyseren (modeleren, prestatie, complexiteit) … een IP netwerk op te zetten en te beheren in een laboratoriumomgeving … een besturingssysteem te kunnen configureren en aan te passen aan specifieke eisen BELANGRIJK: Een goede Master informatica is in staat om … … een telecommunicatiesysteem te modeleren en te simuleren teneinde de gewenste prestatiematen te bepalen … systeemwijzigingen te suggereren ter verbetering van de prestaties van een telecommunicatiesysteem Computationele wetenschappen
ESSENTIEEL: Een Master informatica moet minstens in staat zijn om … … informatica oplossingen te kunnen toepassen op wetenschappelijke problemen … een gevorderde kennis van numerieke algoritmes te demonstreren … simulatietechnieken en symbolische algoritmes te kunnen toepassen … diepgaande kennis van de diverse computing paradigma's te hebben en van daaruit de geschiktheid voor bepaalde toepassingen bepalen … het programmeren en de performantie analyse bepalen van gedistribueerde toepassingen BELANGRIJK: Een goede Master informatica is in staat om … … getaltheorie en cryptografie te begrijpen … gedistribueerde applicaties te realiseren of te re-engineeren … basisbegrippen systeemtheorie & systeemidentificatie te kennen (lineaire systemen, modelleren & simulatietechnieken, beginselen regeltheorie) … (numerieke) optimalisatietechnieken te kennen NUTTIG: Een uitstekende Master informatica is in staat om … … alternatieven voor floating-point aritmetiek waar nodig in te schakelen voor het efficient en correct oplossen van computationele problemen (o.a. validatietechnieken, symbolisch-numerieke technieken, veeltermrekenen, …) … de meest efficiente distributietechniek te kunnen selecteren voor een gesteld computationeel probleem Wetenschappelijke basis
ESSENTIEEL: Een Master informatica moet minstens in staat zijn om … … zelfstandig opzoekingswerk in de literatuur kunnen verrichten over een gegeven onderwerp … zelfstandig informatie over een complex informatica-onderwerp kunnen synthetiseren, en over deze synthese rapporteren
Curriculum Bachelor & Master Informatica (versie 1.1) – 17/39
… een gegeven vraag op een wetenschappelijk manier beantwoorden (cf. haalbaarheidsstudie, gevalsonderzoek, vergelijkende analyse, literatuurstudie, formeel model, simulatie) BELANGRIJK: Een goede Master informatica is in staat om … … grote hoeveelheden data (vb. meetgegevens) visualiseren, analyseren en interpreteren Maatschappelijke vorming
ESSENTIEEL: Een Master informatica moet minstens in staat zijn om … … een plan voor een informatica-project op te stellen met inbegrip van (a) het inschatten van de benodigde middelen (tijd, budget, apparatuur, mankracht, competenties); (b) taakverdeling op basis van technische competenties; (c) het plannen in de tijd van wanneer welke taken worden uitgevoerd; (d) het opvolgen en bijsturen van de planning … binnen een industriële context een concrete opdracht tot een goed einde brengen BELANGRIJK: Een goede Master informatica is in staat om … … de deontologische code in praktijk kunnen toepassen … basisbegrippen informaticarecht beheersen (vb. intellectual property, juridische vraagstukken i.v.m. informatie- en communicatietechnologieën) … wetenschapsfilosofische vraagstukken kunnen beantwoorden NUTTIG: Een Master informatica kan uitblinken door … … basisbegrippen management te beheersen (vb. bedrijfskunde, technieken voor leiden van een onderneming of organisatie, strategische planning en organisatie) … weten hoe software beveiligd kan worden (vb. cryptografie, technische protectie en juridische normen, de bescherming van soft- en firmware)
Curriculum Bachelor & Master Informatica (versie 1.1) – 18/39
CURRICULUM BACHELOR In dit hoofdstuk sommen we het curriculum op dat zal leiden tot een diploma bachelor informatica. Bij de opstelling van het curriculum gaan we uit van een onderwijsorganisatie van twee semesters per jaar, wat naar alle waarschijnlijkheid in de eerste overgangsjaren nog steeds de norm zal zijn. Toch willen we de overgang naar een credit-systeem zo vlot mogelijk maken, vandaar dat de voorkennis voor voor elk opleidingsonderdeel expliciet wordt vermeld. Bovendien werd het curriculum studentvriendelijker gemaakt door de volgende maatregelen profileringsruimte: Er wordt heel wat keuzeruimte voorzien om een student de mogelijkheid te bieden zicht te profileren in functie van zijn interesses. Daarom wordt binnen de 180 studiepunten van de Bachelor opleiding, 30 studiepunten voorbehouden voor profileringsruimte. Daarbij is het dus mogelijk een Minor van 30 studiepunten te kiezen aangeboden door een andere opleiding (vb. Economie voor de eerder management geinteresseerden, Biologie voor studenten die later bio-informatica willen gaan doen, Informatica voor studenten die zich willen profileren via hun vakkennis). Deze minor zal expliciet op het diploma vermeld worden, waardoor het profileringselement extra in de verf wordt gezet. uitwisselbaarheid: Om vergelijking en uitwisseling met andere informatica opleidingen mogelijk te maken kiezen we voor relatief grote opleidingsonderdelen (minimum 6 studiepunten) met duidelijke leerdoelen. Bovendien krijgen alle opleidingsonderdelen een gewicht dat een veelvoud is van drie, zodat alvast binnen de UA —waar deze algemene richtlijnen geldt—de uitwisselling van opleidingsonderdelen mogelijk moet zijn. wiskunde: De inhoud van de opleidingsonderdelen wordt zodanig gedefinieerd dat ze bijdraagt tot de vakkennis van de informatica. Zo wordt de inhoud van de wiskunde vakken in de eerste twee jaren herzien, met meer nadruk op statistiek en kansrekenen. Zo wordt ook geopteerd voor een goede balans tussen eerder formele een eerder praktische informatica-vakken. projectwerking: Een academisch gevormde informaticus moet in staat zijn de brede vakkennis die hij tijdens zijn opleiding verwerft ook in de praktijk toe te passen. Vandaar dat er veel ruimte voorzien wordt voor praktijk en groepswerk. In het bijzonder wordt in elk jaar een groot blok voorzien waar een studenten in groep een project zullen uitvoeren. Legende overzichtstabellen
Voor deze overzichtstabellen geldt de volgende interpretatie. Legende: SEM1 = #studiepunten in 1rste semester; SEM2 = #studiepunten in 2de semester; JAAR = totaal #studiepunten per jaar; T = # contactuur theorie; P = #contactuur practicum Docent: De naam van de docent in de laatste kolom is ter informatieve titel, het is tot nader order nog altijd de departementsraad die docenten aan vakken toewijst. De namen zijn er hier toch bij vermeld om aan te geven dat het geheel van het Bachelors/Master curriculum uit te voeren is met de huidig beschikbare staf. Omzetting studiepunten in contacturen (T en P): Er zijn geen centrale of decretale richtlijnen voor het omrekenen van studiepunten naar contacturen. De enige norm is dat één studiepunt staat voor 25 tot 30 uren studietijd van de student (d.i. volgen van de lessen, verwerken van de leerstof, uitvoeren van de opdrachten, afleggen van de examens). Toch hebben we – ter vergelijking met het voorgaande curriculum – een aantal contactuur vastgelegd dat richtinggevend is voor wat er in het uurrooster moet worden
Curriculum Bachelor & Master Informatica (versie 1.1) – 19/39
voorzien. In de praktijk kan en zal de onderwijscommissie het aantal contacturen moeten aanpassen zodanig dat het netjes past in het uurrooster. Vuistregel: De volgende vuistregel werd gehanteerd om studiepunten in contacturen om te zetten. - standaard is 6 studiepunten gelijk aan 30u theorie + 30u practicum dus T = P = (studiepunten * 10) / 2 - als de nadruk ligt op het practicum (vb. projectvakken, of als er veel meer oefeningen worden gegeven) kan het aantal contacturen verhogen, redenerend dat practicumuren minder extra studietijd achteraf vragen. Dan is bijvoorbeeld een verdeling 15u theorie + 50u/60u practicum mogelijk. Overzichtstabel 1rste BAC
inleiding programmeren discrete wiskunde calculus en statistiek computersystemen talen en automaten gegevensstructuren inleiding software engineering computernetwerken computer graphics TOTAAL
SEM1 6 9
SEM2
JAAR 6 9 9
T 30 45 45
P 30 45 45
6
30
30
6 6 6
6 6 6
30 30 15
30 30 60
6 33
6 6 60
30 30 285
30 30 330
C. Blondia F. Arickx
SEM2 9
JAAR 9
T 45
P 45
6 6
30 30
30 30
Docent G. Van Steen / B. Verdonk J. Broeckhove E. Laenens
6
6 9
30 45
30 45
6
6
15
60
6 27
6 12 60
30 ? 225
30 ? 270
J. Paredaens -- keuze
SEM2 4.5
JAAR 9 6
T 0 30
P 120 30
Docent --alle docenten-J. Paredaens
6 6
6 6
30 15
30 45
C. Blondia A. Cuyt
6
6
30
30
S. Demeyer
9 6
6 27
Docent F. Arickx G. Van Steen E. Soetens / ?? statistiek T. DHaene / J. De Sitter E. Laenens E. Laenens S. Demeyer
Overzichtstabel 2de BAC
SEM1 numerieke lineaire algebra gevorderd programmeren machines en berekenbaarheid algoritmen en complexiteit computerarchitectuur en organisatie project gedistribueerd programmeren databases profileringsruimte TOTAAL
6 6
9
6 6 33
D. Janssens T. DHaene / J. De Sitter J. Broeckhove
Overzichtstabel 3de BAC
eindwerk databases (XML& webtechnologie) telecommunicatiesystemen wetenschappelijk programmeren software engineering
SEM1 4.5 6
Curriculum Bachelor & Master Informatica (versie 1.1) – 20/39
profileringsruimte [levensbeschouwelijk] compilers TOTAAL
6 3
31.5
12
18 3
? 30
? 0
6 28.5
6 60
15 150
60 315
-- keuze ?? -- in te vullen door UA D. Janssens
Vakbeschrijvingen 1rste BAC » Inleiding programmeren
6 studiepunten Voorkennis * Geen Doelstelling * inleiding tot hedendaagse basistechnieken van het programmeren. * programmeertaal: Oberon-2 Inhoud * procedurele aanpak * syntactische constructies (dataspecificatie en verwerkingsinstructies) a.h.v EBNF * types en samengestelde types * top-down ontwerp * abstractiemogelijkheden * modulair programmeren * inleiding object-gericht programmeren (expliciete pointer syntax, encapsulatie, hergebruik) * abstractiemogelijkheden (procedureel, klassiek ADT, objectgericht) » Discrete Wiskunde
9 studie punten Voorkennis * Verzamelingen, functies (> Middelbaar onderwijs) Doelstelling * Basiskennis discrete wiskunde ter ondersteuning van informatica-vakken Studiemateriaal * "Discrete Algorithmic Mathematics" van Stephen B. Maurer, Anthony Ralston Inhoud * 1. Preliminaries: Verzamelingen, relaties, functies, notaties, equivalentierelaties, partities, ordening * 3. Inductie: Varianten van inductie, inductie en algoritmes * 5. Combinatoriek: Permutaties, combinaties, inclusie, exclusie, binomium van Newton * 7. Kanstheorie: Onafhankelijkheid, voorwaardelijke kans, stelling van Bayes, gemiddelde en variantie, randomwaarden * 2. Random variabelen en distributies Random variabelen, Distributies, Verwachtingswaarde en momenten, Belangrijke random variabelen * 8. Logica: Propositielogica, deductie, boolse algebra, predicatenlogica
Curriculum Bachelor & Master Informatica (versie 1.1) – 21/39
» Calculus & Statistiek
9 studiepunten Voorkennis * Rekenkunde van de reele getallen, gebruik coordinaten, elementaire functies, berekening van limieten, afgeleiden en eenvoudige integralen Doelstelling * Basiskennis calculus en statistiek ter ondersteuning van informatica-vakken Studiemateriaal * "Calculus" van James Stewart - Brooks/Cole, ISBN 1-800-423-0563 Inhoud * Calculus * Functies * Limieten * Continuiteit * Afgeleiden * Integralen * Rijen en reeksen + Machtreeksontwikkelingen (Taylorpolynomen) + Fourierreeksen * (eventueel complexe getallen). * Statistiek * frequentie en histogrammen * Belangrijke kansverdelingen (normale, Chi-kwadraat, t-verdeling, ...) * Parameterschattingen en betrouwbaarheidsintervallen * Lineaire & Logaritmische regressie » Inleiding Computersystemen
6 studie punten Voorkennis * Nihil Doelstelling * @@Nihil@@ Inhoud * overzicht computersystemen + korte geschiedenis * hierarchie, lagen-model van computersystemen * data representatie + getallenstelsels (binair, hexadecimaal, ...) * basis hardware: transistoren, logische poortjes, multiplexer, flip-flop, ... * basis computer architectuur: CPU, geheugen, bus, ... * von Neuman architectuur: fetch-execute cycle * basis software: assembler & machinetaal * Operating Systems: memory management, process management, file management * applicaties: spreadsheets, databases, AI, ... * basis netwerken & www * beperkingen van computer simulaties » Talen en automaten
6 studie punten Voorkennis * Elementaire verzamelingenleer (> Discrete wiskunde) Doelstelling
Curriculum Bachelor & Master Informatica (versie 1.1) – 22/39
* Inzicht krijgen in specificatie versus implementatie met behulp van automaten theorie en formele talen. Studiemateriaal * [vijf eerste hoofdstukken uit]: J. Hopcroft, R. Motwani, J. Ullman, Introduction to Automata Theory, Languages, and Computation, Add. Wesley, 2001, http://wwwdb.stanford.edu/~ullman/ialc.html Inhoud * algemene inleiding van belangrijke * formele bewijzen, inductieve bewijzen, strings, automaten en talen * deterministische en niet-deterministische automaten, * equivalentie en aanvaarde talen * toepassing: text-search. * reguliere expressies en reguliere talen * verband met eindige automaten * algebraische wetten voor reguliere expressies * toepassing: UNIX en zoeken naar patronen in teksten. * eigenschappen: pumping lemma, effect van Booleaanse expressies, homomorfismes, testen van equivalenties, emptyness en membership * context-vrije talen * parse trees uitgelegd * context-vrije talen (toegepast op YACC en XML) * ambiguiteit in context-vrije talen besproken. » Gegevensstructuren
6 studie punten Voorkennis * vertrouwd met de grondslagen van een hogere programmeertaal (Oberon, C, Pascal, enz.) = alle aspecten van zo’n taal bestudeerd hebben + zelfstandig kunnen toepassen op kleine en elementaire programmeerproblemen. [> Inleiding Programmeren] Competentie * Aan het eind van het opleidingsonderdeel gegevensstructuren zijn de studenten in staat om: (Zelfstandig en in groep) voor eenvoudige, realistische informaticaproblemen oplossingen te ontwerpen en deze te implementeren in een concreet systeem, met behulp van denkprocessen en technieken die professionele informatici gebruiken. * Of in meer detail: (Zelfstandig en in groep) voor eenvoudige, realistische informaticaproblemen (1) oplossingen te ontwerpen volgens de principes van object-oriented design (OOD), abstract data types (ADT) en top-down design (TDD) en (2) deze oplossingen op deskundige wijze te implementeren in een concreet systeem met weloverwogen keuzes betreffende de organisatie van de gegevens (de gegevensstructuren). Doelstelling * Een onderscheid kunnen maken tussen het ontwerp van een oplossing enerzijds en de realisatie van een concreet systeem anderzijds, en dit ook voor elk gegeven probleem doen (= attitude). * De principes van object-oriented design, abstract data types en top-down design kunnen toepassen in de ontwerpfase (= kennis+vaardigheid+attitude). * Programmeervaardigheden verfijnen en de geschikte gegevensstructuren kunnen kiezen voor de implementatie van een concreet systeem (= kennis+vaardigheid). * Het tot een gewoonte maken elk stukje programma, hoe klein ook, goed te documenteren (=attitude). Inhoud * Programmeerprincipes en software engineering
Curriculum Bachelor & Master Informatica (versie 1.1) – 23/39
* Gegevensabstractie * ADT geordende lijst * Recursie * Acht koninginnen probleem - backtracking * Towers of Hanoi * Searching * Sequentieel * Binair * Efficiëntie (O) * ADT stack * Algebraïsche uitdrukkingen * haakjes controleren * evalueren (infix, prefix, postfix) * ADT queue * Bomen * ADT binaire boom * ADT binaire zoekboom * Tabellen * ADT tabel * ADT priority queue * Heaps -heapsort * 2-3 bomen * AVL bomen * Hashing * Gegevens met meerdere organisaties * Externe methoden * Externe mergesort * Zoeken in externe tabellen * Indexeren van externe bestanden * Externe hashing * B-bomen * Multiple indexing » Inleiding Software Engineering
6 studie punten Voorkennis - Programmeren in een objectgerichte programmeertaal (> Inleiding Programmeren) - Lineaire Regressie (> Calculus en Statistiek) Doelstelling * Eerste kennismaking met beheersing van informatica-projecten * Voorbereiden op gevorderd programmeren Inhoud * Polymorphisme, gebruik van overerving * Testen, Contracten (pre- & post condities), Tijdsschatting * Beperkte vorm van UML * Toepassen van bovenstaande * Vergelijking van syntaxbeschrijvingen a.h.v. EBNF » Computernetwerken
6 studie punten Voorkennis
Curriculum Bachelor & Master Informatica (versie 1.1) – 24/39
* Discrete Wiskunde Doelstelling * Inzichten in de belangrijkste protocollen van de verschillende lagen van het OSI-model Inhoud * De nadruk wordt gelegd op essentiele mechanismen en algoritmen die gebruikt worden in de verschillende lagen, met speciale aandacht voor de protocols die in het Internet worden gebruikt (Ethernet, IP, TCP, HTTP...) * fysische laag (signalen in tijds- en frequentiedomein, analoge en digitale signalen,...), * medium access control laag (LAN protocols zoals Ethernet) * datalink laag (foutdetectie en correctie, flow controle) * netwerk laag (het IP protocol) * transport laag (TCP en UDP protocols) * applicatielaag (HTTP, mail,...) * netwerk security » Computer Graphics
6 studiepunten Voorkennis * Inleiding programmeren * Basiskennis Discrete Wiskunde en Calculus Studiemateriaal * F. S. Hill Jr., Computer Graphics using OpenGl, Prentice Hall 2001, ISBN 0-02-354856-8. Doelstelling: * overzicht van de courante grafische technieken verwerven * inzicht krijgen in het afbeelden van 3D-werelden op een grafisch scherm * een brug tussen informatica en wiskunde bouwen Inhoud * grafische hardware * grafische primitieven voor elementaire krommen * Driedimensionele transformaties in homogene coordinaten * Coordinaattransformaties, o.a. naar een camera standpunt * projectieve transformaties om tweedimensionale geprojecteerde afbeeldingen te bekomen * fenomenologische inkleuringsmodellen (Gouraud, Phong) * eliminatie van verborgen delen: hidden-line, Z-buffering en raytracing Vakbeschrijvingen 2de BAC » Numerieke Lineaire Algebra
9 studie punten Voorkennis * Discrete Wiskunde * floating-point aritmetiek Doelstelling * het kunnen herleiden van een aantal eenvoudige informaticaproblemen naar een lineaire algebra formulering * het zich eigen maken van de wiskundige definities en eigenschappen van deze formulering * het essentiele verschil te begrijpen tussen rekenen met reele getallen en rekenen op een computer met floating-point getallen * basistechnieken voor het oplossen van lineaire algebra problemen te beheersen in een floatingpoint context Inhoud
Curriculum Bachelor & Master Informatica (versie 1.1) – 25/39
* Matrixrekening en oplossen van stelsels * elementair rekenen, * blokvermenigvuldiging, * rijechelonvorm van een matrix, * Gaussreductie, * determinanten * Algemene vectorruimten * voortbrengers, * basissen en dimensie voor eindigdimensionale vectorruimten, * direkte som en direkt product, * nulruimte en kolommenruimte en rang van een matrix, * lineaire afbeeldingen en matrixvoorstelling, * eigenwaarden en eigenvectoren, * Normen, vector normen, matrix normen * Eindige precisie matrix rekenen, conditiegetal * Gestructureerde matrices (driehoeksmatrices, symmetrische matrices, ...) * Numeriek oplossen stelsels lineaire vergelijkingen: directe methoden * Roundoff analyse van Gaussische eliminatie * LU Factorisatie * Orthogonaliteit en Kleinste Kwadraten (QR factorisatie) * Numeriek oplossen stelsels lineaire vergelijkingen: iteratieve methoden * Numerieke berekening van eigenwaarden/eigenvectoren » Gevorderd Programmeren
6 studie punten Voorkennis * Basiskennis en ervaring met minstens één hogere programmeertaal (Inleiding programmeren, Inleiding Software Engineering) * Praktische ervaring met UNIX als werkomgeving (uit Computersystemen) Doelstelling (Java versie) * grondige kennismaking met de programmeertaal Java, * nadruk op het objectgeoriënteerd programmeren * event-driven programmeren, generisch programmeren Studiemateriaal * The Java Programming Language, K. Arnold, J. Gosling, D. Holmes, Addison Wesley Doelstelling (C++ versie) * grondige kennismaking met de programmeertaal C++, * nadruk op het objectgeoriënteerd programmeren Studiemateriaal * The C++ Programming Language, B. Stroustrup, Addison-Wesley Inhoud * C++ syntax (specifiek objectgeoriënteerd programmeren zoals overerving en polymorfisme) * Theoretische noties (het substitutie principe, covariatie, en contravariatie) * C++ idiomen (typische taalgebruik in C++ programma’s) * Begrippen van UML (Unified Modeling Language) * Klasse ontwerp » Machines en Berekenbaarheid
6 studie punten
Curriculum Bachelor & Master Informatica (versie 1.1) – 26/39
Voorkennis * talen en automaten Doelstelling * Studie van fundamentele eigenschappen van algoritmen Studiemateriaal Hoofdstuk 8 en de eerste helft van hoofdstuk 9 uit "Intoduction to Automata Theory, Languages and Computation", Hopcroft, Motwani, Ullman, Addison-Wesley, 2001. Inhoud * Turing machines en hun talen, basisdefinities * Programmeertechnieken voor TM, Multitape TM * Turingmachines en computers, universele TM * Onbeslisbaarheid: niet-RE talen, diagonalizatie * Recursieve talen, universele taal * Onbeslisbare problemen voor TM, Stelling van Rice (evt in Algoritmen en complexiteit) » Algoritmen en Complexiteit
6 studie punten Voorkennis * uit Machines en berekenbaarheid: Turing Machines, Multitape Turing Machines, Berekenbaarheid * uit gegevensstructuren: Lijststructuren, stacks, zoekbomen, grafen Doelstelling * Kennismaken met de belangrijkste begrippen en methoden uit de complexiteitstheorie, en hun toepassing op concrete algoritmen en problemen Studiemateriaal * [Hoofdstukken 10 tot 11.4]: J. Hopcroft, R. Motwani, J. Ullman, Introduction to Automata Theory, Languages, and Computation, Add. Wesley, 2001, http://wwwdb.stanford.edu/~ullman/ialc.html Inhoud * (Eventueel) aanvullingen pushdown automaten en contextvrije talen. * Berekeningsmodellen: RAM, RASP, TM. Uniforme en logarithmische kost. * Worst-case en average-case complexiteit. * Toepassing op concrete algoritmen: sorteeralgoritmen, opzoeken van woorden, shortest path. * Complexiteit van problemen, complexiteitsklassen. * Een concreet onberekenbaar probleem; Post 's correspondence probleem. * Intractable problemen: P versus NP. Stelling van Rice. * Reducties, concrete NP problemen: TSP, Kleurbaarheid. * Plaatscomplexiteit, verband met tijdscomplexiteit. * Gerandomizeerde algoritmen: basisbegrippen, enkele concrete voorbeelden. » Computerarchitectuur en -organisatie
9 studie punten Voorkennis * Inleiding Computersystemen * Inleiding Programmeren * Boolse algebra Doelstelling * @@Nihil@@ Inhoud * Overview of Operating Systems
Curriculum Bachelor & Master Informatica (versie 1.1) – 27/39
* Processes, threads and microkernels * Concurrency, mutual exclusion, synchronisation * Deadlock and I/O management * Scheduling * Access-control and security * (practical) Unix shell programming, programming for concurrency * digitale logica * Boolse algebra + reductietechnieken, * basis logische componenten, * multiplexer, flip flops, finite state machines, ... * hierarchie, lagen-model van computersystemen * gevorderde data representatie + computer aritmetiek (hardware implementatie & consequenties) * RISC/CISC * Instructie Set Architectuur van een moderne computer (SPARC) * compilation/assembly process/linking/loading/executing - datapath en controle sectie * microarchitectuur & hardwired control (VHDL) * geheugenhierarchie * input & output * communicatie/networks * Java virtuele machine * trends in computerarchitectuur » Project Gedistribueerd Programmeren
6 studiepunten Voorkennis * Gevorderd kennis van het programmeren en grondige ervaring (bij voorkeur met Java) * Elementaire kennis van software engineering (Inleiding Software Engineering) Doelstelling * Realiseren van een gedistribueerde applicatie in de context van een project * groepswerk * gestructureerd ontwikkelingstraject Studiemateriaal * Distributed Computing: Concepts and Applications * M. L. Liu, Addison-Wesley, 2003 * The Unified Modeling Language User Guide, G. Booch, J. Rumbaugh, I. Jacobson, AddisonWesley * Design Patterns, E. Gamma, R. Helm, R. Johnson, J. Vlissides, Addison-Wesley Inhoud * summier overzicht softwareontwikkelingtraject * analyse en ontwerp * Unified Modeling Language (UML) * Design Patterns * Toegepast a.h.v. project in groepen van vier tot zes personen * Project maakt typisch gebruik van een gedistribueerde software architectuur » Databases
6 studie punten Voorkennis * @@Nihil@@ Doelstelling
Curriculum Bachelor & Master Informatica (versie 1.1) – 28/39
* inleiding in de database systemen * ontwerpen van database toepassingen * gebruik van SQL als datbase management taal Studiemateriaal * J. Ullman, J. Widom, A First Course in Database Systems, Prentice Hall, 2001, http://wwwdb.stanford.edu/~ullman/fcdb.html Inhoud * illustratie van database processen en de ontwikkeling van database toepassingen * databse modeling (entity-relation model) * definitie relationele database model & relationele algebra * SQL (queries, updates, triggers en constraints) * koppeling van databases met het Web * onderbouw en de basisbegrippen van databases * ontwerp van databases (functionele afhakelijkheden, de lijst-algebra, datalog, verschillende calculi en de expressieve kracht van SQL). Vakbeschrijvingen 3de BAC » Eindwerk
9 studie punten Voorkennis * Maturiteit (Eerste twee bachelor-jaren succesvol beeindigd) Doelstelling * Ervaring verwerven met elders aangeleerde technieken (cfr. Databases, Software Engineering, Telecommunicatie…) * Schriftelijk zowel als mondeling rapporteren Inhoud * Project of stage met aandacht voor een of meer van de volgende aspecten * Uitbouwen van een concreet software-systeem * Doorlopen van alle fases (specificatie, ontwerp, implementatie, testen, onderhoud, documentatie) van een software project * Planning * Verantwoording technische keuzes » Databases, XML, Webtechnologie
6 studie punten Voorkennis * Databases Doelstelling * @@Nihil@@ Inhoud * Deel 1: aanvullende begrippen uit de database wereld. * transaction management * Locks en concurrency * Failures en recovery * veiligheid, optimizatie en betrouwbaarheid * Gedistribueerde en temporele databases * basisbegrippen van datamining * Deel 2: XML * semigestructureerde databases * ondervragings- en updatetechnieken voor XML
Curriculum Bachelor & Master Informatica (versie 1.1) – 29/39
* XQuery en XUpdate * DTD's en het verband met HTML en XSLT * Deel 3: Web en hypermedia * de Three Tier architectuur * standaarden als ODBC, COM en .NET De bedoeling is een overzicht van deze technieken en de fundamenten ervan te bieden, geen gedetailleerde bespreking. » Telecommunicatiesystemen
6 studie punten Voorkennis * Computernetwerken Doelstelling * de architectuur en de werking van een aantal hedendaagse telecommunicatiesystemen te bespreken gebruik makend van het OSI referentie model (Dit betekent niet dat voor elk systeem alle lagen besproken worden. Er wordt een selectie gemaakt per systeem van de meest relevante aspekten) Inhoud * telefonienetwerken * SDH/PDH netwerken * ISDN netwerken * ATM netwerken * access netwerken (APON, EPON, ADSL/VDSL, HFC) * draadloze access netwerken (GSM, GPRS, UMTS) * Draadloze LANs (WiFi, Hiperlan) * De bovenstaande lijst wordt aangepast naargelang de evolutie. * Naast algemene principes die gebruikt worden voor het ontwerp en de werking van deze netwerken, worden ook architecturale aspecten behandeld. * In het bijhorend praktisch deel van deze cursus wordt een eenvoudig protocol ontworpen, waarbij aandacht besteed wordt aan de specificatie, ontwerp, ontwikkeling (programmeren), testen van het protocol. » Wetenschappelijk programmeren
6 studie punten Voorkennis * Calculus en Statistiek, Numerieke Lineaire Algebra Doelstelling * voor een waaier aan informaticatoepassingen, het herleiden van de probleemstelling naar een correct geformuleerd computationeel probleem; * numerieke algoritmes kunnen gebruiken voor het oplossen van typische problemen uit de informatica * de stabiliteit van een rekenalgoritme en de conditionering van een probleemstelling uit te drukken Inhoud * Voor elk onderwerp wordt uitgegaan van een toepassing in de informatica (beeldverwerking, robotica, FPU implementatie, ...) en aansluitend daarop de theorie aangebracht. * Beide delen maken intensief gebruik van visualisatie-software zoals aangeboden in Maple, Matlab, Mathematica, GrafEq, ... * Formeel model onderliggend aan de IEEE754-854 standaard * I1. Oplossen van een niet-lineaire vergelijking * I2. Oplossen van een stelsel niet-lineaire vergelijkingen
Curriculum Bachelor & Master Informatica (versie 1.1) – 30/39
* I3. Veelterminterpolatie * I4. Splines (t/m natuurlijke kubische die in de industrie gebruikt worden) * I5. Kleinste kwadraten modellen * I6. Rationale modellen * I7. Functiebenadering (niet discreet) * I8. Kwadratuur (inclusief Monte Carlo en RNG) * I9. Extrapolatie » Software Engineering
6 studie punten Voorkennis * Gevorderd programmeren * Project ervaring (> Inleiding Software Engineering & Software ontwerp) * Logica (>Discrete Wiskunde) * Lineaire en logaritmische regressie (> Calculus en Statistiek) * Verzamelingenleer, equivalentierelaties, partitie (> Discrete Wiskunde) Doelstelling * Overzicht van technieken om grote informatica-projecten tot een goed einde te brengen Inhoud * Software levenscyclus(Behoeften specificatie, Analyse, Ontwerp, Implementatie, Testen, Onderhoud) * Formele specificaties * Kwaliteitscontrole (reviews, ISO 9000, CMM, metingen) * Projectbeheer (Pert & Gantt, Kostschattingen) * Deontologie » Levensbeschouwelijk vak
3 studie punten @@nog in te vullen: door wie ??@@ » Compilers
6 studie punten Voorkennis * Eindige automaten, reguliere expressies, contextvrije grammatica's, pushdown automaten. * Een imperatieve programmeertaal * Gegevensstructuren: lijsten, bomen. Doelstelling * Inzicht verwerven in de fuctie en opbouw van een compiler, en de rol van de verschillende formele technieken en tools die daarvoor gebruikt worden. Inhoud * De rol van een compiler, algemene structuur. * Het run-time systeem, behandeling van lokale en globale variabelen, behandeling van procedureoproepen. * Lexicale en syntactische analyse. * Semantische analyse. * Codegeneratie en optimizatie. * Imperatieve versus object-georienteerde talen. * project: van de studenten wordt verwacht dat zij, op basis van de behandelde technieken, een werkende compiler bouwen voor een eenvoudige imperatieve taal. Dit project neemt een groot deel van de cursus in beslag.
Curriculum Bachelor & Master Informatica (versie 1.1) – 31/39
Studiemateriaal * Hoofdstukken 1 tot 6 uit D.Grune, H. Bal, C. Jacobs, K. Langendoen, Modern Compiler Design, * Wiley, ISBN 0-471-97697-0
Curriculum Bachelor & Master Informatica (versie 1.1) – 32/39
Keuzevakken op Bachelors Niveau Hieronder volgt een lijst keuzevakken die evntueel in 2de of 3de BAC gekozen kunnen worden. Voor elk van die keuzevakken geldt dat ze in principe geen voorkennis vereisen van andere keuzevakken (eventueel wel van verplichte vakken). Overzicht Keuzevakken 2de BAC (12 st.pntn.) » Optie Computationele Wetenschappen
* (Eventueel) Artificiële Intelligentie en Toegepaste Logica - B. Verdonk en E. Laenens » Optie Databases
* Hypermedia systemen en structuren + Grafische user interfaces – P. De Bra » Optie Software Engineering
* Programmeerparadigmas (functioneel en logisch programmeren) – D. Janssens / B. Verdonk » Optie Telecommunicatie
* Netwerk toepassingen – J. De Sitter » Verbredend Informatica
* (Eventueel) Artificiële Intelligentie en Toegepaste Logica - B. Verdonk en E. Laenens » Verbredend Wiskunde
* Statistiek » Verbredend Interdisciplinair
* Economie Eigenlijk willen we hier af van het vak Economie zoals het nu wordt gegeven. Het moet eerder een praktisch vak zijn dat studenten leert hoe ze een bedrijfsbalans moeten lezen, wat het principe van een dubbele boekhouding is, hoe ze een budget over verschillende jaren moeten opstellen (incl. afschrijvingen), hoe ze risico's dienen te verrekenen, ... Een overzicht van macro-economische modellen is mooi megenomen, maar mag niet de hoofdmoot zijn. Daaromtrent zullen we nog moeten onderhandelen met de faculteit TEW * Rapportage- en presentatie technieken Eigenlijk willen we hier een extra interdepartementeel keuzevak dat door de faculteit wordt ingericht, en waar presentatie-technieken en rapportage technieken worden aangeleerd op Bachelors niveau. Overzicht Keuzevakken 3de BAC (18 st.pntn.) » Optie Computationele Wetenschappen
* Inleiding Parallele en Gedistribueerde Systemen - F. Arickx en T. Dhaene * Systeemtheorie – T. Dhaene * Gedistribueerd Programmeren – J. Broeckhove, G. Stuer » Optie Databases
* Datamining – T. Calders
Curriculum Bachelor & Master Informatica (versie 1.1) – 33/39
» Optie Software Engineering
* Formele technieken in de Software Engineering – D. Janssens + S. Demeyer » Optie Telecommunicatie
* Netwerk protocols – C. Blondia » Verbredend Informatica
* Beeldverwerking – D. Van Dyck * Grafische Technieken voor wetenschappelijke Visualisatie – F. Arickx * Gevorderde AI technieken en Robotica – B. Verdonk en R. Penne » Verbredend Interdisciplinair
* Nihil
Curriculum Bachelor & Master Informatica (versie 1.1) – 34/39
CURRICULUM MASTER Legende overzichtstabellen
Voor deze overzichtstabellen geldt de volgende interpretatie. Zie ook de uitleg bij Legende overzichtstabellen, p. 18 Legende: SEM1 = #studiepunten in 1rste semester; SEM2 = #studiepunten in 2de semester; JAAR = totaal #studiepunten per jaar; T = # contactuur theorie; P = #contactuur practicum; I = #uur individuele studietijd Overzichtstabel Master Informatica
seminarie eindverhandeling keuzevakken TOTAAL
SEM1 1.5 10.5 18 30
SEM2 1.5 10.5 18 30
JAAR 3 21 36 60
T 30
P
I 600
180 210
180 180
Docent ? -- alle ZAP --- alle ZAP --- keuze
600
Elke student informatica zal één optie kiezen uit de aangeboden opties (Computationele Wetenschappen, Databases, Optie Software Engineering, Optie Telecommunicatie). De keuze gebeurt de facto door het kiezen van een thesisonderwerp aan het einde van de 3de BAC. Naast de thesis moet minimum 18 studiepunten specifiek aan de optie gevolgd worden, waarbij een aantal studiepunetn al tijdens de Bachelor kunnen verdiend worden. De rest van de studiepunten is vrij. Lijst keuzevakken per optie
De lijst keuzevakken is nog niet definitief (de meeste vakken moeten slechts binnen 3 jaar georganiseerd worden) maar heeft wel een goed beeld van wat in de master allemaal mogelijk zal zijn. » Specialisatie: Optie Databases
* Databases III – J. Paredaens * Hypermedia systemen en structuren + Grafische user interfaces – P. De Bra * Datamining – T. Calders * Capita Selecta Databases – samen met TU/e * Constraint checking – M. Gyssens * Computationele Complexiteit – J. Van den Bussche * Advanced Transaction Management – J. Hidders * Spatio Temporele Databasesystemen met Toepassingen in GIS – geleend bij LUC * Information Retrieval – geleend TU/e * Web-based Information Systems – geleend TU/e » Specialisatie: Optie Telecommunicatie
* Telecom Labo – C. Blondia + J. De Sitter * Netwerk protocols – C. Blondia * Netwerk toepassingen – J. De Sitter * Prestatie-analyse van telecomsystemen – C. Blondia * Fysische aspecten van telecomsystemen – T. DHaene * Andere vakken – geleend bij UGent
Curriculum Bachelor & Master Informatica (versie 1.1) – 35/39
» Specialisatie: Optie Software Engineering
* Programmeerparadigmas (functioneel en logisch programmeren) – D. Janssens / B. Verdonk * Visuele talen voor Software Engineering – D. Janssens * Object-Oriented reengineering – S. Demeyer * Formele technieken in de Software Engineering – D. Janssens + S. Demeyer * Advanced Software Engineering – V. Jonckers --geleend VUB-* OO Software Engineering – T. D'Hondt --geleend VUB-* Embedded Systems – ?? --samenwerking KdG-» Specialisatie: Optie Computationele Wetenschappen
* Numerieke Benaderingsleer – A. Cuyt * Systeemtheorie – T. Dhaene * Gevorderde Symbolische en Numerieke Technieken – A. Cuyt, B. Verdonk * Inleiding Parallele en Gedistribueerde Systemen - F. Arickx en T. Dhaene * Gedistribueerd Programmeren – J. Broeckhove, G. Stuer * Distributed Computing paradigmas - J. Broeckove, G. Stuer * Case Studies in Gedistribueerde Technologieen – G. Stuer * Capita Selecta van de Computationele Wetenschappen – A. Cuyt, B. Verdonk, T. DHaene * Optimalisatietechnieken – B. Verdonk * Simulatietechnieken – T. DHaene » Verbredend: Graphics en Beeldverwerking
* Beeldverwerking – D. Van Dyck * Wiskundige Methoden van de Beeldverwerking – A. Verschoren * Grafische Technieken voor wetenschappelijke Visualisatie – F. Arickx » Verbredend: Artificiele Intelligentie
* Artificiële Intelligentie en Toegepaste Logica - B. Verdonk en E. Laenens * Taaltechnologie – W. Daelemans * Capita Selecta Computerlinguïstiek – W. Daelemans, G. Durieux * Natuurlijke taalverwerking – E. Gillis, G. Durieux * Neurale netwerken – E. De Schutter * Gevorderde AI technieken en Robotica– B. Verdonk en R. Penne » Verbredend: Computer Hardware
* Systeemprogrammatie – J. De Sitter * Digitale communicatie – J. Sijbers * Digitale technieken – S. Peeters » Verbredend: Wiskunde
* Calculus en Discrete Wiskunde - ??? * Grafentheorie – C. Van Nuffelen / B. Van Houdt * Elementaire kanstheorie – A. Struyf * Elementaire statistiek – A. Struyf * Algoritmen meetkundige toep. – R. Penne » Verbredend: Economie
* Elementen van bedrijfseconomie – N (O. Van Waas)
Curriculum Bachelor & Master Informatica (versie 1.1) – 36/39
» Verbredend: Wetenschappelijke Vorming
Deze lijst hangt af van wat op interfacultair niveau wordt aangeboden * Wetenschapskritiek – E. Oger * Wetenschap en schrijven – G. Lernout, G. Morreel * Studium Generale – Varieert
Curriculum Bachelor & Master Informatica (versie 1.1) – 37/39
CURRICULUM AANVULLENDE STUDIE INFORMATICA Legende overzichtstabellen
Voor deze overzichtstabellen geldt de volgende interpretatie. Zie ook de uitleg bij Legende overzichtstabellen, p. 18 Legende: SEM1 = #studiepunten in 1rste semester; SEM2 = #studiepunten in 2de semester; JAAR = totaal #studiepunten per jaar; T = # contactuur theorie; P = #contactuur practicum; I = #uur individuele studietijd Overzichtstabel Master Aanvullende Studuie Informatica
SEM1 gegevensstructuren telecommunicatie en computersystemen databanken wetenschappelijk programmeren software engineering technieken uit de informatica keuzevak(ken) eindverhandeling TOTAAL
SEM2 6
JAAR 6 6
T 30 30
P 30 30
6
6 6
30 30
30 30
6
6 6 3
3
6 6
15 30
50 30
6 18 60
30
30
9 30
6 9 30
195
230
I E. Laenens C. Blondia / T. D'Haene / J. De Sitter J. Paredaens A. Cuyt
500 500
S. Demeyer -- interdisciplinair docententeam -- keuze -- alle ZAP --
Curriculum Bachelor & Master Informatica (versie 1.1) – 38/39
CURRICULUM MINOR WISKUNDE-INFORMATICA computer systemen (cf. 1BAC) databases (cf. 2BAC) inleiding software engineering (cf. 1BAC) computernetwerken (cf. 1BAC) numerieke benaderingsleer (1rste MAS) TOTAAL
SEM1 6
SEM2
JAAR 6
T 30
P 30
6
6
30
30
T. DHaene / J. De Sitter Jan Paredaens
6
6
15
60
Serge Demeyer
6
30
30
Chris Blondia
6
30
30
Annie Cuyt
30
135
180
6
12
12
Curriculum Bachelor & Master Informatica (versie 1.1) – 39/39
REFERENTIES [1] Zelfstudie Informatica ten behoeve van de onderwijsvisitatie. Onderwijscommissie Informatica, Universiteit Antwerpen, Juni 2001. [2] De onderwijsvisitatie Informatica, Toegepaste Informatica en Burgerlijk Ingenieur in de Computerwetenschappen aan de Vlaamse universiteiten, Vlaamse Interuniversitaire Raad, Juli 2002. [3] Toekomstscenario's Opleiding Informatica (versie 0.3). Onderwijscommissie Informatica, Universiteit Antwerpen, 6 februari 2002. [4] Eindtermen Opleiding Informatica (versie 0.4). Onderwijscommissie Informatica, Universiteit Antwerpen, 29 november 2002. [5] Computing Curricula 2001 - Computer Science - Final report, The Joint task Force on Computing Curricula, IEEE Computer Society, Association for Computing Machinery, December 15, 2001