ALGORITMEN I
 
Wordt gegeven in 3de jaar Bachelor in de industriële wetenschappen: informatica
Hoorcollege [A] 24.0
Werkcollege [B] 36.0
Begel. zelfst./extern werk [C] 0.0
Totale studietijd [D] 170
Studiepunten [E] 6
Niveau uitdiepend
Onderwijstaal Nederlands
Titularis Nog niet bepaald
Referentie IBIWIT03A00008
 
Trefwoorden
Algoritmen, Gegevensstructuren, P170, P175, T120

Doelstellingen
De performantie van veel programma's wordt niet alleen bepaald door de snelheid van de computer, maar soms nog meer door het gebruik van efficiënte algoritmen en gegevensstructuren.
Het doel van dit vak is een overzicht te krijgen van basisalgoritmen, belangrijke gegevensstructuren en algoritmische methoden, en inzicht te verwerven in hun werking.

Leerinhoud
Uitgebreid overzicht van fundamentele algoritmen en gegevensstructuren, met analyse van hun performantie:
  • Performantie van programma's. Asymptotische benaderingen.
  • Allerlei methoden om gegevens te rangschikken: insertion sort, Shell sort, heapsort, mergesort, quicksort, counting sort, radix sort, bucket sort.
  • Fundamentele gegevensstructuren: tabellen, lijsten, stapels, wachtrijen, prioriteitswachtrijen, bomen.
  • Belangrijke gegevensstructuren: hashtabellen, binaire zoekbomen, efficiënte binaire zoekbomen, B-trees.
  • Voorstelling van grafen. Basisalgoritmen op grafen.


Begincompetenties
Eindcompetenties Informatica I, Informatica II, Discrete wiskunde.

Eindcompetenties
Voor allerlei fundamentele programmeerproblemen worden verschillende algoritmen en gegevensstructuren bestudeerd, hun performantie geanalyseerd, en onderling vergeleken. De bijbehorende programmeeroefeningen (in de objectgeoriënteerde taal C++) passen deze methoden toe op allerlei problemen, waarbij de voorspelde efficiëntie vaak vergeleken wordt met deze van de implementaties. Dit vak resulteert dan ook in de volgende competenties:
  • Algemeen Wetenschappelijke Competenties [AWC1]: In staat zijn om kritisch, creatief en wetenschappelijk te denken en te redeneren.
  • Algemeen Technische Competenties [ATC2]: In staat zijn om ingenieurstechnische problemen wetenschappelijk te analyseren en op te lossen. [ATC3]: In staat zijn om wetenschappelijke en technische opdrachten zelfstandig uit te voeren. [ATC4]: In staat zijn om onderzoeksmetoden en -technieken adequaat aan te wenden voor de oplossing van ingenieurstechnische problemen.
  • Specifieke Competenties [SC1]: In staat zijn om principes van software-ontwerp toe te passen met het oog op productie, onderhoud en kwaliteit tegen economisch verantwoorde prijs. [SC2]: In staat zijn om gevorderde, op practische uitvoering gerichte, opdrachten uit het vakgebied van de algemene informatica zelfstandig te kunnen uitvoeren. [SC3]: In staat zijn om alle mogelijke vormen van hedendaagse programmeertechnieken, -omgevingen en -talen in theorie te kunnen verwerven en die vlot in de praktijk te kunnen toepassen. [SC8]: In staat zijn om basisalgoritmen en -gegevensstructuren te implementeren en toe te passen. [SC10]: In staat zijn om kennis en inzicht te verwerven in de domeinen van wetenschappelijk onderzoek in de moderne informatica.


Leermaterialen
Syllabus.

Studiekosten
Kosten voor de syllabus.

Studiebegeleiding
Docenten zijn ter beschikking voor extra uitleg tijdens de labo's en eventueel op andere ogenblikken na afspraak.

Onderwijsvormen
Theorie: hoorcolleges.
Labo-oefeningen in computerlokaal (programmeren in C++).

Evaluatievorm
Theorie: mondeling (47%).
Oefeningen / Labo's in computerlokaal :permanente evaluatie (53%).
De beoordeling en het tot stand komen van de eindquotatie van opleidingsonderdelen gebeurt via het wiskundige gemiddelde volgens de toegekende coëfficiënten. Indien nochtans op één van de onderscheiden vakken (delen van opleidingsonderdelen) 7 of minder op 20 wordt behaald, kan worden afgeweken van deze rekenkundige berekening van de eindquotatie van het opleidingsonderdeel en kunnen de punten bij consensus worden toegekend. Deze regeling treedt in voege vanaf het academiejaar 2005-2006.

OP-leden
Rudy STOOP, JAN CNOPS.