De elektronische studiegids voor het academiejaar 2025 - 2026 is onder voorbehoud.





Algoritmen en datastructuren (4900)

  
Coördinerend verantwoordelijke :Prof. dr. Davy VANACKEN 
  
Co-titularis :Prof. dr. Gustavo ROVELO RUIZ 
  
Lid van het onderwijsteam :De heer Brent ZOOMERS 


Onderwijstaal : Nederlands


Studiepunten: 5,0
  
Periode: semester 1 (5sp)
  
2de Examenkans1: Ja
  
Eindcijfer2: Numeriek
 
Volgtijdelijkheid
 
   Geen volgtijdelijkheid

Begincompetenties

De student kan een programmeertaal en aanverwante tools aanwenden om binnen dit opleidingsonderdeel algoritmen en datastructuren te implementeren, testen en profileren. De student is bekend met eenvoudige wiskundige concepten en technieken om tijds- en ruimtecomplexiteit te kunnen analyseren, zoals reeksen.



Inhoud

In dit opleidingsonderdeel worden algoritmen en datastructuren behandeld in de context van de ontwikkeling van softwaresystemen. Het opleidingsonderdeel bouwt verder op de eerder opgedane kennis en vaardigheden met betrekking tot het oplossen van problemen, computationeel denken en coderen van oplossingen. Dankzij het referentiekader dat verder uitgebreid wordt in dit opleidingsonderdeel, kan de student zelfstandig nieuwe algoritmen en datastructuren analyseren, gebruiken en implementeren.

Een aantal van de behandelde onderwerpen (in een niet-bindende lijst):

  • diverse toepassingen en implementaties van algoritmen en datastructuren in moderne softwaresystemen;
  • elementaire zoek- en sorteeralgoritmen, waaronder binary search, selection sort, mergesort en quicksort;
  • elementaire datastructuren, waaronder verschillende soorten lineaire datastructuren, bomen en grafen;
  • implementatie-, zoek- en manipulatietechnieken, zoals recursie, hashing en breadth-first search;
  • analyse van algoritmen en datastructuren op basis van relevante criteria, zoals complexiteit;
  • aanvullende concepten en algoritmen, zoals greedy algoritmen en dynamic programming.


Organisatie- / Werkvormen
Organisatievormen  
Applicatiecollege  
Werkvormen  
Discussies /debat  
Groepswerk  
Huiswerktaken  
Oefeningen  
Presentatie  


Evaluatie

Periode 1    Studiepunten 5,00

Evaluatievorm
Schriftelijke evaluatie tijdens onderwijsperiode50 %
Behoud van deelcijfer in academiejaar
Voorwaarde behoud van deelcijfer in academiejaarvanaf 12/20
Open-boek
Huiswerktaken
Mondelinge toelichting
Schriftelijk examen50 %
Behoud van deelcijfer in academiejaar
Voorwaarde behoud van deelcijfer in academiejaarvanaf 10/20
Gesloten-boek
Open vragen
Evaluatievoorwaarden (deelname en/of slagen)
VoorwaardenDe student moet op elke deelevaluatie van het opleidingsonderdeel (dus op zowel de evaluatie tijdens de onderwijsperiode als het schriftelijk examen) minimaal 8,0/20 halen.
GevolgIndien de student minder dan 8,0/20 haalt op een of meerdere deelevaluaties, kan de student als totale examencijfer voor het opleidingsonderdeel maximaal 9/20 halen.

Tweede examenkans

Evaluatievorm tweede examenkans verschillend van eerste examenkans
Neen
 

Verplichte handboeken (boekhandel)
 

Handboek 1:

A Common-Sense Guide to Data Structures and Algorithms, Jay Wengrow, 2nd edition, Pragmatic Bookshelf, e-book.

EAN: 9781680508055

 

Verplicht studiemateriaal
 

Slides en overig lesmateriaal worden ter beschikking gesteld via de elektronische leeromgeving en/of tijdens de les verspreid.

 

Aanbevolen literatuur
 

Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest en Clifford Stein, 4th edition, MIT Press, EAN 9780262367509, e-book.

Grokking Algorithms: An illustrated guide for programmers and other curious people, Aditya Y. Bhargava, Manning, EAN 9781638353348, e-book.

 

Verplichte software
 

Git en Visual Studio Community (of andere IDE naar keuze). Recente versie, op de laptop van de student. Al deze software is vrij beschikbaar.



Eindcompetenties
bachelor in de industriële wetenschappen
  •  EC 
  • EC1 - De Bachelor in de industriële wetenschappen bezit algemeen wetenschappelijke en technologisch toepassingsgerichte kennis van de basisbegrippen, structuur en samenhang van het specifieke domein. (kennis bezitten)

     
  •  DC 
  • INF 1.6 De student kan de kenmerken en toepassingsgebieden van algoritmes en datastructuren benoemen.

      
  •  BC 
  • De student kent de voorgestelde algoritmen en datastructuren, hun eigenschappen en toepassingen.

    De student kent de principes en eigenschappen van tijds- en ruimtecomplexiteit.

  •  EC 
  • EC2 - De Bachelor in de industriële wetenschappen bezit algemeen wetenschappelijk en ingenieurstechnisch disciplinegebonden inzicht in de basisbegrippen, methodes, denkkaders en onderlinge relaties van het specifieke domein. (begrijpen)

     
  •  DC 
  • INF 2.6 De student begrijpt de werking van en de noodzaak aan gepaste algoritmes en datastructuren bij het ontwerp en de ontwikkeling van software.

      
  •  BC 
  • De student begrijpt het belang van gepaste algoritmen en datastructuren, in het bijzonder wanneer, hoe en waarom bepaalde algoritmen en datastructuren te gebruiken.

    De student begrijpt het belang van de voorgestelde algoritmen endatastructuren, alsook hun werking en eigenschappen.

    De student begrijpt hoe tijds- en ruimtecomplexiteit aangewend, berekend en geïnterpreteerd kunnen worden.

  •  EC 
  • EC4 - De Bachelor in de industriële wetenschappen kan doelgericht relevante wetenschappelijke en/of technische informatie opzoeken en verzamelen of efficiënt en nauwgezet de benodigde informatie meten en correct refereren. (data verwerven)

     
  •  DC 
  • 4.1 De student kan doelgericht wetenschappelijke en/of technische informatie opzoeken.

      
  •  BC 
  • De student kan relevante delen uit softwarebibliotheken en documentatie selecteren, exploreren en aanwenden.

    De student kan nieuwe, aanverwante algoritmen en datastructuren opzoeken, exploreren en aanwenden.

  •  EC 
  • EC5 - De Bachelor in de industriële wetenschappen kan niet-vertrouwde, domeinspecifieke problemen analyseren, opsplitsen in deelproblemen, logisch structureren, de randvoorwaarden bepalen en de gegevens op een wetenschappelijke manier interpreteren. (analyseren)

     
  •  DC 
  • EA-INF 5.1 De student kan voor een specifieke probleemstelling of toepassing analyseren op welke manieren de software ontworpen en gebouwd kan worden en alternatieven afwegen op basis van relevante criteria.

      
  •  BC 
  • De student kan uit een algemene omschrijving van het probleem de vereisten voor de software opstellen met betrekking tot gepaste algoritmen en datastructuren.

    De student kan analyseren op welke manieren de software ontworpen en gebouwd kanworden met behulp van algoritmen en datastructuren.

    De student kan algoritmen en datastructuren analyseren en alternatieven afwegen op basis van vooropgestelde criteria, in het bijzonder wat betreft complexiteit en efficiëntie.

  •  EC 
  • EC6 - De Bachelor in de industriële wetenschappen kan adequate oplossingsmethodes selecteren om niet-vertrouwde, domeinspecifieke problemen op te lossen en kan methodologisch te werk gaan in ontwerp en hierin gefundeerde keuzes maken. (oplossen en ontwerpen)

     
  •  DC 
  • 6.7 De student kan een modulair en onderhoudbaar ontwerp van software maken.

      
  •  BC 
  • De student kan software ontwerpen met gepaste algoritmen en datastructuren en hierbij gefundeerde keuzes maken.

  •  EC 
  • EC7 - De Bachelor in de industriële wetenschappen kan de geselecteerde methodes en hulpmiddelen innovatief aanwenden om domeinspecifieke oplossingen en ontwerpen planmatig te implementeren met aandacht voor de praktische en economische randvoorwaarden en bedrijfsgebonden implicaties. (implementeren en operationaliseren)

     
  •  DC 
  • 7.3 De student kan correcte en kwaliteitsvolle code schrijven aan de hand van een gepaste ontwikkel-, test- en onderhoudsstrategie. 

      
  •  BC 
  • De student kan bij het ontwikkelen van software de nodige algoritmen en datastructuren op een kwaliteitsvolle, efficiënte manier aanwenden, implementeren, testen, analyseren en optimaliseren.

    De student kan hierbij gepaste tools entechnieken, programmeertalen en softwarebibliotheken aanwenden.

  •  EC 
  • EC8 - De Bachelor in de industriële wetenschappen kan (onvolledige) resultaten interpreteren, kan omgaan met onzekerheden en beperkingen en kan kennis en vaardigheden kritisch evalueren om op basis hiervan eigen denken en handelen bij te sturen. (kritisch reflecteren)

     
  •  DC 
  • 8.2 De student kan kritisch reflecteren met betrekking tot een technisch-wetenschappelijk project.

      
  •  BC 
  • De student kan sterktes en zwaktes qua algoritmen en datastructuren in een oplossing identificeren.

    De student kan kritisch reflecteren over het geleverde werk en de aanpak.

  •  EC 
  • EC9 - De Bachelor in de industriële wetenschappen kan met vakgenoten mondeling en schriftelijk (grafisch) communiceren over domeingebonden aspecten in een relevante taal en met gebruik van de toepasselijke terminologie. (communiceren)

     
  •  DC 
  • 9.1 De student kan correct, gestructureerd en gepast schriftelijk communiceren in relevante talen voor zijn vakgebied.

      
  •  BC 
  • De student kan een analyse correct en gestructureerd neerschrijven.

    De student kan het geleverde werk schriftelijk documenteren en verdedigen.

     
  •  DC 
  • 9.2 De student kan correct, gestructureerd en gepast mondeling communiceren in relevante talen voor zijn vakgebied.

      
  •  BC 
  • De student kan het geleverde werk mondeling presenteren en verdedigen, in eigen woorden.

  •  EC 
  • EC10 - De Bachelor in de industriële wetenschappen kan op een constructieve en verantwoordelijke wijze functioneren als lid van een (multidisciplinair) team. (samenwerken)

     
  •  DC 
  • 10.2 De student kan op een actieve constructieve manier samenwerken met anderen om een gemeenschappelijk doel te bereiken (product).

      
  •  BC 
  • De student kan het softwareontwikkelingsproces in team iteratief en incrementeel, nauwgezet en resultaatgericht doorlopen.

  •  EC 
  • EC12 - De Bachelor in de industriële wetenschappen kan toepassings- en oplossingsgericht, met het vereiste doorzettingsvermogen, professioneel en academisch handelen met oog voor realisme en efficiëntie en geeft blijk van een onderzoekende houding tot levenslang leren. (ingenieursattitude)

     
  •  DC 
  • 12.1 De student heeft een open houding om te leren uit ervaring, feedback en fouten.

      
  •  BC 
  • De student kan op basis van kritisch reflecteren, analyses en feedback een oplossing bijsturen.

     
  •  DC 
  • 12.3 De student eigent zich een gepaste ingenieursattitude toe (nauwkeurig, efficiënt, veilig, resultaatgericht,...).

      
  •  BC 
  • De student kan iteratief en incrementeel, nauwgezet en resultaatgericht werken.

 

  EC = eindcompetenties      DC = deelcompetenties      BC = beoordelingscriteria  
Aangeboden inTolerantie3
3de bachelor in de industriële wetenschappen - informatica J
schakel IW informatica - deel 2 J



1   Onderwijs-, examen- en rechtspositieregeling art. 12.2, lid 2.
2   Onderwijs-, examen- en rechtspositieregeling art. 15.1, lid 3.
3   Onderwijs-, examen- en rechtspositieregeling art. 16.9, lid 2.